{
  "name": "JudgmentKit",
  "version": "0.8.0",
  "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."
            },
            "context_items": {
              "type": "array",
              "maxItems": 12,
              "description": "Optional attributed context already available to the host, such as a user answer, workspace evidence, provided artifact, or explicitly authoritative source.",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "kind",
                  "content"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "user_answer",
                      "workspace_evidence",
                      "provided_artifact",
                      "authoritative_source"
                    ]
                  },
                  "content": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 8000
                  },
                  "source_ref": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Required when kind is authoritative_source."
                  }
                },
                "allOf": [
                  {
                    "if": {
                      "properties": {
                        "kind": {
                          "const": "authoritative_source"
                        }
                      },
                      "required": [
                        "kind"
                      ]
                    },
                    "then": {
                      "required": [
                        "source_ref"
                      ]
                    }
                  }
                ],
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "recommend_surface_types",
        "description": "Recommend a purpose-based UI surface type from activity evidence before workflow review or frontend implementation, including artifact_inspector only when its mandatory evidence is satisfied.",
        "inputSchema": {
          "type": "object",
          "required": [
            "brief"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "Source UI brief to classify by activity and purpose, including rendered-artifact, selectable-locus, and locus-relative support evidence when artifact_inspector may apply."
            },
            "activity_review": {
              "type": "object",
              "description": "Optional reviewed activity packet returned by review_activity_model_candidate. The create_activity_model_review baseline remains accepted for compatibility."
            },
            "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, including artifact-inspector-ui when its artifact activity evidence applies, 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 inferred or externally proposed activity case against the source brief, attributed context, provenance, 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": "Proposed activity case with activity_model, interaction_contract, optional disclosure_policy, and optional claim provenance."
            },
            "context_items": {
              "type": "array",
              "maxItems": 12,
              "description": "Optional attributed context already available to the host, such as a user answer, workspace evidence, provided artifact, or explicitly authoritative source.",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "kind",
                  "content"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "user_answer",
                      "workspace_evidence",
                      "provided_artifact",
                      "authoritative_source"
                    ]
                  },
                  "content": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 8000
                  },
                  "source_ref": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Required when kind is authoritative_source."
                  }
                },
                "allOf": [
                  {
                    "if": {
                      "properties": {
                        "kind": {
                          "const": "authoritative_source"
                        }
                      },
                      "required": [
                        "kind"
                      ]
                    },
                    "then": {
                      "required": [
                        "source_ref"
                      ]
                    }
                  }
                ],
                "additionalProperties": false
              }
            }
          },
          "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. workflow.topology may be a legacy topology string or an artifact-centered topology object; workflow.topology_contract is also accepted for artifact-centered candidates."
            },
            "activity_review": {
              "type": "object",
              "description": "Optional reviewed activity packet returned by review_activity_model_candidate. Pass it through so inference provenance and readiness are preserved downstream."
            },
            "context_items": {
              "type": "array",
              "maxItems": 12,
              "description": "The same attributed context bound to activity_review. Resupply its raw contents whenever a retained claim relies on it; a receipt is continuity evidence, not a substitute for the source.",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "kind",
                  "content"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "user_answer",
                      "workspace_evidence",
                      "provided_artifact",
                      "authoritative_source"
                    ]
                  },
                  "content": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 8000
                  },
                  "source_ref": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Required when kind is authoritative_source."
                  }
                },
                "allOf": [
                  {
                    "if": {
                      "properties": {
                        "kind": {
                          "const": "authoritative_source"
                        }
                      },
                      "required": [
                        "kind"
                      ]
                    },
                    "then": {
                      "required": [
                        "source_ref"
                      ]
                    }
                  }
                ],
                "additionalProperties": false
              }
            },
            "profile_id": {
              "type": "string",
              "description": "Optional guidance profile id, such as operator-review-ui or artifact-inspector-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, operator_review, or artifact_inspector."
            }
          },
          "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 reviewed activity packet returned by review_activity_model_candidate. The create_activity_model_review baseline remains accepted for compatibility."
            },
            "surface_type": {
              "type": "string",
              "description": "Optional selected surface type, such as workbench, operator_review, dashboard_monitor, setup_debug_tool, or artifact_inspector."
            },
            "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. surface_type artifact_inspector activates scoped JudgmentKit chrome and overlay authority while keeping the primary artifact external_not_reviewed.",
        "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."
            },
            "surface_type": {
              "type": "string",
              "description": "Optional selected surface type. artifact_inspector activates the canonical design_system_scopes, boundary_contracts, and artifact_inspector bundle."
            },
            "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."
            },
            "visual_composition_policy": {
              "type": "object",
              "description": "Optional implementation-adapter policy for declared visual-composition relationships, presentation ownership, calibrated measurements, and browser-runtime enforcement. When active, submit self-contained HTML plus an explicit visual_composition_manifest. Each design-system-owned field select must declare field_value_trailing_indicator_slot with exact value_selector, indicator_slot_selector, and indicator_selector parts; compact triggers instead declare centered_label_symmetric_rails with label_selector and indicator_selector. Geometry is enforced against that contract-declared variant; the runtime does not infer user intent, and unclassified custom selects require review. Field validation measures value start spacing, the reserved trailing slot, indicator size and centering, containment, and collision-free truncation. It never treats content padding as the caret's painted-edge inset. The hosted MCP renders that artifact in its isolated browser runtime, discovers governed controls, measures the DOM after fonts are ready, and independently binds the result to the policy, contract, candidate, and rendered document. Candidate-authored visual_composition_evidence is claim-only and cannot satisfy acceptance."
            }
          },
          "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. When visual_composition_policy applies, the hosted MCP renders exact self-contained HTML in an isolated browser, measures declared and discovered relationships, and attaches a server-trusted receipt; caller-authored visual_composition_evidence cannot satisfy acceptance. The hosted static renderer cannot satisfy Artifact Inspector authority: that surface remains review_required until the separately deferred interactive attestation exists, and the external artifact always remains external_not_reviewed.",
        "inputSchema": {
          "type": "object",
          "required": [
            "candidate",
            "implementation_contract"
          ],
          "properties": {
            "candidate": {
              "description": "Generated UI candidate as 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. When implementation_contract.visual_composition_policy applies, provide exact self-contained HTML in rendered_html, rendered_markup, markup, or HTML code, plus an explicit visual_composition_manifest for relationships that are not deterministically discoverable. Each custom select-like control must explicitly name its governed field or compact composition variant; unclassified controls require review rather than inheriting a compact default. The hosted MCP renders it at desktop and mobile sizes, blocks external requests and scripts, discovers icon-text and select-like controls, measures the DOM after fonts are ready, and attaches a server-trusted receipt. Candidate-authored visual_composition_evidence (or browser_qa.visual_composition) is claim-only and cannot pass. Detected controls cannot be hidden by omission or a false no-applicability claim. String-only snippets that cannot render are diagnostic and cannot pass. 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": [
            "brief",
            "workflow_review",
            "implementation_contract"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "The current source activity brief, resupplied so protected risk can be independently revalidated at handoff."
            },
            "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."
            },
            "context_items": {
              "type": "array",
              "maxItems": 12,
              "description": "The same attributed context bound to the workflow review's activity review. Resupply its raw contents whenever a retained claim relies on it.",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "kind",
                  "content"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "user_answer",
                      "workspace_evidence",
                      "provided_artifact",
                      "authoritative_source"
                    ]
                  },
                  "content": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 8000
                  },
                  "source_ref": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Required when kind is authoritative_source."
                  }
                },
                "allOf": [
                  {
                    "if": {
                      "properties": {
                        "kind": {
                          "const": "authoritative_source"
                        }
                      },
                      "required": [
                        "kind"
                      ]
                    },
                    "then": {
                      "required": [
                        "source_ref"
                      ]
                    }
                  }
                ],
                "additionalProperties": false
              }
            }
          },
          "additionalProperties": false
        }
      },
      {
        "name": "create_frontend_generation_context",
        "description": "Create adapter-layer frontend implementation context from a ready UI generation handoff, resupplying the current raw activity brief and exact attributed context so protected risk and workflow authority can be independently revalidated.",
        "inputSchema": {
          "type": "object",
          "required": [
            "ui_generation_handoff",
            "brief"
          ],
          "properties": {
            "ui_generation_handoff": {
              "type": "object",
              "description": "Ready UI generation handoff returned by create_ui_generation_handoff."
            },
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "The current source activity brief, resupplied so protected risk and workflow authority can be independently revalidated."
            },
            "context_items": {
              "type": "array",
              "maxItems": 12,
              "description": "The exact attributed context bound to the handoff. Resupply raw contents whenever the activity review carried context.",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "kind",
                  "content"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "user_answer",
                      "workspace_evidence",
                      "provided_artifact",
                      "authoritative_source"
                    ]
                  },
                  "content": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 8000
                  },
                  "source_ref": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Required when kind is authoritative_source."
                  }
                },
                "allOf": [
                  {
                    "if": {
                      "properties": {
                        "kind": {
                          "const": "authoritative_source"
                        }
                      },
                      "required": [
                        "kind"
                      ]
                    },
                    "then": {
                      "required": [
                        "source_ref"
                      ]
                    }
                  }
                ],
                "additionalProperties": false
              }
            },
            "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, operator_review, or artifact_inspector."
            },
            "surface_profile": {
              "type": "string",
              "enum": [
                "auto",
                "none",
                "judgmentkit.workbench.operational-v1",
                "judgmentkit.artifact-inspector.v1"
              ],
              "description": "Optional surface presentation profile request. Defaults to auto; use none to opt out. artifact_inspector may use judgmentkit.artifact-inspector.v1. It does not change surface classification or design-system authority."
            },
            "supported_surface_profiles": {
              "type": "array",
              "items": {
                "type": "string"
              },
              "description": "Optional caller capability list. If artifact_inspector is selected and judgmentkit.artifact-inspector.v1 is absent, return artifact_inspector_profile_unsupported without fallback."
            },
            "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 the current raw activity brief, its attributed context, and a ready frontend generation context. The raw source is revalidated before implementation guidance is emitted.",
        "inputSchema": {
          "type": "object",
          "required": [
            "brief",
            "frontend_generation_context"
          ],
          "properties": {
            "brief": {
              "type": "string",
              "minLength": 1,
              "description": "Exact current activity brief previously used to review the activity case and create the handoff."
            },
            "context_items": {
              "type": "array",
              "maxItems": 12,
              "description": "Exact attributed context items previously supplied for activity review. Resupply the same id, kind, content, and source_ref values; use an empty array when no context items were supplied.",
              "items": {
                "type": "object",
                "required": [
                  "id",
                  "kind",
                  "content"
                ],
                "properties": {
                  "id": {
                    "type": "string",
                    "minLength": 1
                  },
                  "kind": {
                    "type": "string",
                    "enum": [
                      "user_answer",
                      "workspace_evidence",
                      "provided_artifact",
                      "authoritative_source"
                    ]
                  },
                  "content": {
                    "type": "string",
                    "minLength": 1,
                    "maxLength": 8000
                  },
                  "source_ref": {
                    "type": "string",
                    "minLength": 1,
                    "description": "Required when kind is authoritative_source."
                  }
                },
                "allOf": [
                  {
                    "if": {
                      "properties": {
                        "kind": {
                          "const": "authoritative_source"
                        }
                      },
                      "required": [
                        "kind"
                      ]
                    },
                    "then": {
                      "required": [
                        "source_ref"
                      ]
                    }
                  }
                ],
                "additionalProperties": false
              }
            },
            "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. Rejected for Artifact Inspector because JudgmentKit must retain authority over inspector chrome and the inspection overlay."
            },
            "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."
  }
}
