{
  "name": "JudgmentKit",
  "version": "0.6.5",
  "transport": "streamable-http",
  "capabilities": {
    "tools": [
      {
        "name": "analyze_implementation_brief",
        "description": "Analyze an implementation-heavy UI brief and return an activity-centered judgment packet before UI generation or styling.",
        "inputSchema": {
          "type": "object",
          "required": [
            "brief"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "Implementation-heavy UI brief to translate into activity-centered guidance."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "create_activity_model_review",
        "description": "Create a reviewable activity model candidate from a UI brief, with guardrails and targeted questions before UI generation.",
        "inputSchema": {
          "type": "object",
          "required": [
            "brief"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "UI brief or implementation-heavy request to turn into a reviewable activity model candidate."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "recommend_surface_types",
        "description": "Recommend a purpose-based UI surface type from activity evidence before workflow review or frontend implementation.",
        "inputSchema": {
          "type": "object",
          "required": [
            "brief"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "Source UI brief to classify by activity and purpose."
            },
            "activity_review": {
              "type": "object",
              "description": "Optional activity review packet returned by create_activity_model_review."
            },
            "activityReview": {
              "type": "object",
              "description": "Compatibility alias for activity_review. If both are provided, activity_review wins."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "recommend_ui_workflow_profiles",
        "description": "Recommend optional UI workflow guidance profiles for a source brief without applying them automatically.",
        "inputSchema": {
          "type": "object",
          "required": [
            "brief"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "Source UI brief to classify for optional workflow guidance profiles."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "review_activity_model_candidate",
        "description": "Review an externally proposed activity model candidate against the source brief and JudgmentKit guardrails.",
        "inputSchema": {
          "type": "object",
          "required": [
            "brief",
            "candidate"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "Source UI brief the proposed candidate should be grounded in."
            },
            "candidate": {
              "type": "object",
              "description": "Externally proposed activity model candidate with activity_model, interaction_contract, and optional disclosure_policy."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "review_ui_workflow_candidate",
        "description": "Review an externally proposed UI workflow candidate against the source brief, activity review, and JudgmentKit guardrails.",
        "inputSchema": {
          "type": "object",
          "required": [
            "brief",
            "candidate"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "Source UI brief the proposed workflow candidate should be grounded in."
            },
            "candidate": {
              "type": "object",
              "description": "Externally proposed UI workflow candidate with workflow, surface_set, handoff, and diagnostics."
            },
            "profile_id": {
              "type": "string",
              "description": "Optional guidance profile id, such as operator-review-ui."
            },
            "surface_review": {
              "type": "object",
              "description": "Optional surface recommendation packet returned by recommend_surface_types."
            },
            "surface_type": {
              "type": "string",
              "description": "Optional selected surface type, such as workbench, marketing, setup_debug_tool, or operator_review."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "review_cognitive_dimensions_candidate",
        "description": "Review a workflow or implementation candidate with Cognitive Dimensions checks for mapping, visibility, hidden dependencies, commitment, progressive evaluation, change cost, mental operations, and disclosure.",
        "inputSchema": {
          "type": "object",
          "required": [
            "brief",
            "candidate"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "Source UI brief the candidate should support."
            },
            "candidate": {
              "description": "Workflow review packet, UI workflow candidate, implementation evidence, or visible candidate text to review."
            },
            "activity_review": {
              "type": "object",
              "description": "Optional activity review packet returned by create_activity_model_review."
            },
            "surface_type": {
              "type": "string",
              "description": "Optional selected surface type, such as workbench, operator_review, dashboard_monitor, or setup_debug_tool."
            },
            "surface_evidence": {
              "type": "object",
              "description": "Optional rendered or visible surface evidence such as visible text, sections, controls, states, and navigation paths."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "create_ui_implementation_contract",
        "description": "Create an implementation contract for generated UI, using JudgmentKit design-system authority by default, optional repo-local component authority, or a complete external design-system adapter when supplied.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "repo_name": {
              "type": "string",
              "description": "Optional repository or product name for traceability."
            },
            "target_stack": {
              "type": "string",
              "description": "Optional frontend stack, such as vanilla JS, React, or server-rendered HTML."
            },
            "external_authority": {
              "type": "string",
              "description": "Optional trace metadata for a named UI authority. It does not replace JudgmentKit defaults unless design_system_adapter is also supplied."
            },
            "design_system_adapter": {
              "type": "object",
              "description": "Optional complete external design-system authority. Must define token, font, icon, and component authority or the contract fails with incomplete_design_system_authority."
            },
            "design_system_source": {
              "type": "object",
              "description": "Optional normalized active design-system source when passing an already-created implementation contract shape."
            },
            "local_component_authority": {
              "type": "object",
              "description": "Optional repo-local component authority with mode none or repo_local, enforcement optional or required, families, selector_boundary, token_boundary, and computed_style_evidence expectations."
            },
            "repo_evidence": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Optional source evidence such as helper names, contract files, or local checks."
            },
            "approved_primitives": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Optional allowed implementation primitives for generated UI evidence. These are implementation primitives only; do not list design-system component contract ids here. Defaults to the portable no-system primitive set."
            },
            "static_rules": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Optional static enforcement rules or local commands."
            },
            "browser_qa_checks": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Optional browser QA checks required before final handoff."
            },
            "accessibility_policy": {
              "type": "object",
              "description": "Optional accessibility policy override for WCAG baseline metadata, contrast targets, grouped accessibility contracts, evidence model, required evidence, conditional evidence, and failure signals."
            },
            "default_ai_native_design_system": {
              "type": "object",
              "description": "Optional override for the contract-only default AI-native design system envelope: primitives, surface patterns, states, actions, data visibility, accessibility, evidence gates, and adapter boundaries."
            },
            "iteration_policy": {
              "type": "object",
              "description": "Optional agent-owned iteration policy. Defaults to 3 generate-review-repair-resubmit attempts."
            },
            "visual_token_adapter": {
              "type": "object",
              "description": "Optional JudgmentKit-default token, font, and icon metadata. Ignored when design_system_adapter supplies complete external authority."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "review_ui_implementation_candidate",
        "description": "Review generated UI or code evidence against an active UI implementation contract. The active design-system gate is hard: missing or failing design_system_provenance means the candidate is not an artifact and must be repaired and resubmitted. Include local_component_authority_evidence when repo-local component authority is active.",
        "inputSchema": {
          "type": "object",
          "required": [
            "candidate",
            "implementation_contract"
          ],
          "properties": {
            "candidate": {
              "description": "Generated UI candidate as code text or structured evidence containing primitives_used, states_covered or covered_states, static_checks or static_evidence, browser_qa, accessibility_evidence for core and condition-specific accessibility gates, optional visual_token_evidence metadata, component_contract_evidence, pattern_contract_evidence, required design_system_provenance for the active design-system source, and local_component_authority_evidence reviewed by checks.local_component_authority. String-only code text is diagnostic and cannot pass when the active contract requires structured provenance evidence. primitives_used may contain only implementation_contract.approved_primitives; place design-system component ids in component_contract_evidence.components[].id and pattern ids in pattern_contract_evidence.pattern_id. Candidates that fail the active design-system gate are failed candidates, not artifacts, and must be repaired and resubmitted."
            },
            "implementation_contract": {
              "type": "object",
              "description": "Implementation contract returned by create_ui_implementation_contract or equivalent repo-local packet."
            },
            "surface_type": {
              "type": "string",
              "description": "Optional selected surface type from recommend_surface_types, review_ui_workflow_candidate, or create_frontend_generation_context. Used to validate pattern_contract_evidence against the active surface."
            },
            "surfaceType": {
              "type": "string",
              "description": "CamelCase alias for surface_type."
            },
            "surface_review": {
              "type": "object",
              "description": "Optional recommend_surface_types result. recommended_surface_type is used to validate pattern_contract_evidence against the active surface."
            },
            "surfaceReview": {
              "type": "object",
              "description": "CamelCase alias for surface_review."
            },
            "frontend_generation_context": {
              "type": "object",
              "description": "Optional frontend generation context whose surface_type is used to validate pattern_contract_evidence against the active surface."
            },
            "frontendGenerationContext": {
              "type": "object",
              "description": "CamelCase alias for frontend_generation_context."
            },
            "iteration_context": {
              "type": "object",
              "description": "Optional current iteration state with current_attempt or attempt and optional max_attempts."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "create_ui_generation_handoff",
        "description": "Create a UI generation handoff from a ready UI workflow review packet and a UI implementation contract, blocking non-ready reviews.",
        "inputSchema": {
          "type": "object",
          "required": [
            "workflow_review",
            "implementation_contract"
          ],
          "properties": {
            "workflow_review": {
              "type": "object",
              "description": "UI workflow review packet returned by review_ui_workflow_candidate or equivalent library API."
            },
            "implementation_contract": {
              "type": "object",
              "description": "UI implementation contract returned by create_ui_implementation_contract or an equivalent repo-local contract packet."
            },
            "cognitive_dimensions_review": {
              "type": "object",
              "description": "Optional Cognitive Dimensions review packet. When supplied, it must be ready_for_review or the handoff blocks."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "create_frontend_generation_context",
        "description": "Create adapter-layer frontend implementation context from a ready UI generation handoff and selected surface type.",
        "inputSchema": {
          "type": "object",
          "required": [
            "ui_generation_handoff"
          ],
          "properties": {
            "ui_generation_handoff": {
              "type": "object",
              "description": "Ready UI generation handoff returned by create_ui_generation_handoff."
            },
            "surface_review": {
              "type": "object",
              "description": "Optional surface recommendation packet returned by recommend_surface_types."
            },
            "surface_type": {
              "type": "string",
              "description": "Optional selected surface type, such as marketing, workbench, setup_debug_tool, or operator_review."
            },
            "frontend_context": {
              "type": "object",
              "description": "Optional project frontend context such as runtime, UI library, project rules, approved component families, entrypoints, visual requirements, and approved visual asset sources."
            },
            "verification": {
              "type": "object",
              "description": "Optional verification expectations such as commands, browser checks, and states to verify."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "create_frontend_implementation_skill_context",
        "description": "Create gated frontend implementation skill context from a ready frontend generation context, optional design-system adapter, and verification expectations.",
        "inputSchema": {
          "type": "object",
          "required": [
            "frontend_generation_context"
          ],
          "properties": {
            "frontend_generation_context": {
              "type": "object",
              "description": "Ready frontend generation context returned by create_frontend_generation_context."
            },
            "design_system_adapter": {
              "type": "object",
              "description": "Deprecated compatibility path for complete external design-system authority. Prefer supplying design_system_adapter to create_ui_implementation_contract so the frontend context receives implementation_contract.design_system_source."
            },
            "target_client": {
              "type": "string",
              "description": "Optional MCP client or agent surface this instruction context is intended for."
            },
            "instruction_format": {
              "type": "string",
              "description": "Optional instruction format. Supported values: structured_markdown or markdown."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "create_slide_deck",
        "description": "Plan or create a JudgmentKit PPTX slide deck from user-facing slide content using the presentation-theme template registry. Without output.path or dry_run false, this returns a safe deck plan. Artifact creation requires a local @oai/artifact-tool runtime and writes only under outputs/judgmentkit-slide-decks.",
        "inputSchema": {
          "type": "object",
          "required": [
            "slides"
          ],
          "properties": {
            "slides": {
              "type": "array",
              "minItems": 1,
              "maxItems": 24,
              "description": "Ordered slide specifications. Provide user-facing domain content only; keep prompts, schemas, tool traces, and implementation machinery out unless this is an explicit diagnostic deck.",
              "items": {
                "type": "object",
                "required": [
                  "content"
                ],
                "properties": {
                  "template_id": {
                    "type": "string",
                    "description": "Optional JudgmentKit presentation template id such as slide-21 or a supported legacy alias."
                  },
                  "selection": {
                    "type": "object",
                    "description": "Optional template selection criteria such as template_use, layout_family, surface_type, component, or nativeSurface. Used when template_id is omitted."
                  },
                  "content": {
                    "type": "object",
                    "description": "Template content values such as title, subtitle, body, bullets, rows, metrics, or media descriptions."
                  }
                },
                "additionalProperties": false
              }
            },
            "deck": {
              "type": "object",
              "description": "Optional deck metadata for planning and export.",
              "properties": {
                "deck_id": {
                  "type": "string",
                  "description": "Stable id used for the default output filename. Unsafe characters are normalized."
                },
                "title": {
                  "type": "string",
                  "description": "Optional human-readable deck title for metadata."
                },
                "slide_size": {
                  "type": "object",
                  "description": "Optional slide size with positive numeric width and height. Defaults to JudgmentKit widescreen."
                },
                "theme_mode": {
                  "type": "string",
                  "enum": [
                    "light",
                    "dark"
                  ],
                  "description": "Optional JudgmentKit presentation theme mode. Defaults to light."
                }
              },
              "additionalProperties": false
            },
            "output": {
              "type": "object",
              "description": "Optional artifact output request. Paths must be repo-relative .pptx files under outputs/judgmentkit-slide-decks.",
              "properties": {
                "path": {
                  "type": "string",
                  "description": "Repo-relative .pptx path under outputs/judgmentkit-slide-decks. Supplying this requests artifact creation unless dry_run is true."
                },
                "overwrite": {
                  "type": "boolean",
                  "description": "When true, replace an existing non-symlink output file."
                }
              },
              "additionalProperties": false
            },
            "runtime": {
              "type": "object",
              "description": "Optional local runtime details for artifact creation. Hosted MCP callers should usually omit this and use dry_run planning.",
              "properties": {
                "artifact_tool_package": {
                  "type": "string",
                  "description": "Optional local path to an @oai/artifact-tool package. If omitted, JudgmentKit checks standard Codex runtime environment paths."
                },
                "workspace_root": {
                  "type": "string",
                  "description": "Optional absolute Codex workspace root used to resolve repo-relative output.path during local artifact export. Also supported through JUDGMENTKIT_WORKSPACE_ROOT or CODEX_WORKSPACE_ROOT."
                }
              },
              "additionalProperties": false
            },
            "dry_run": {
              "type": "boolean",
              "description": "When true, return the selected deck plan without writing a PPTX. Defaults to true unless output.path is supplied or dry_run is explicitly false."
            },
            "include_diagnostics": {
              "type": "boolean",
              "description": "When true, include diagnostic template metadata and runtime resolution details. Default output redacts source paths and slide content."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "list_icon_catalog",
        "description": "Page through the committed Lucide icon catalog metadata. Set include_svg true only when a page needs SVG-ready data.",
        "inputSchema": {
          "type": "object",
          "properties": {
            "limit": {
              "type": "number",
              "description": "Optional page size. Defaults to 50 and is capped at 100."
            },
            "cursor": {
              "type": "string",
              "description": "Optional non-negative integer offset returned as next_cursor."
            },
            "category": {
              "type": "string",
              "description": "Optional category filter when category metadata is available."
            },
            "include_svg": {
              "type": "boolean",
              "description": "When true, include full SVG-ready elements, paths, and inline SVG for each returned icon."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "search_icon_catalog",
        "description": "Search the committed Lucide icon catalog by id, name, alias, tag, or tokenized terms and return ranked matches.",
        "inputSchema": {
          "type": "object",
          "required": [
            "query"
          ],
          "properties": {
            "query": {
              "type": "string",
              "minLength": 1,
              "description": "Icon meaning or Lucide source name to search, such as check, send, handoff, filter, receipt text, or chevron right."
            },
            "limit": {
              "type": "number",
              "description": "Optional result limit. Defaults to 24 and is capped at 100."
            },
            "include_svg": {
              "type": "boolean",
              "description": "When true, include full SVG-ready elements, paths, and inline SVG for each match."
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "get_icon_svg",
        "description": "Return the full generated Lucide icon record and inline SVG for one canonical icon id.",
        "inputSchema": {
          "type": "object",
          "required": [
            "id"
          ],
          "properties": {
            "id": {
              "type": "string",
              "minLength": 1,
              "description": "Canonical Lucide icon id, such as check, info, chevron-right, list-filter, send, or receipt-text."
            }
          },
          "additionalProperties": false
        }
      }
    ],
    "prompts": []
  },
  "public_route": {
    "role": "mcp_endpoint_and_metadata",
    "hosted_mcp_endpoint": true,
    "usage": "Connect an MCP Streamable HTTP client to this URL. GET without an SSE Accept header returns this metadata."
  }
}
