{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://getzero.dev/contracts/zero.mcp.tools.v1.schema.json",
  "title": "ZERO public MCP tools list",
  "description": "Contract for the read-only tools/list response exposed by /oss/mcp.",
  "type": "object",
  "additionalProperties": false,
  "required": ["schema_version", "boundary", "tools"],
  "properties": {
    "schema_version": { "const": "zero.mcp.tools.v1" },
    "boundary": { "const": "public-read-only" },
    "tools": {
      "type": "array",
      "minItems": 31,
      "items": {
        "type": "object",
        "additionalProperties": false,
        "required": ["name", "description", "inputSchema", "annotations"],
        "properties": {
          "name": {
            "enum": [
              "zero_list_strategies",
              "zero_get_safety_catalog",
              "zero_get_public_proof",
              "zero_list_public_operators",
              "zero_get_public_operator",
              "zero_get_arena",
              "zero_get_season",
              "zero_evaluate",
              "zero_get_heat",
              "zero_get_approaching",
              "zero_get_pulse",
              "zero_get_regime",
              "zero_get_brief",
              "zero_get_engine_product",
              "zero_get_engine_proof",
              "zero_get_engine_evidence_depth",
              "zero_get_engine_cadence",
              "zero_get_immune_status",
              "zero_get_circuit_breaker",
              "zero_get_rejections",
              "zero_get_near_misses",
              "zero_get_execution_quality",
              "zero_get_diagnostics",
              "zero_get_mcp_status"
              ,"list_agents",
              "get_agent_state",
              "get_mandate",
              "validate_mandate",
              "run_paper_simulation",
              "get_evidence_bundle",
              "export_proof"
            ]
          },
          "description": { "type": "string", "minLength": 10 },
          "inputSchema": { "type": "object" },
          "annotations": {
            "type": "object",
            "additionalProperties": false,
            "required": ["readOnlyHint", "destructiveHint", "openWorldHint"],
            "properties": {
              "readOnlyHint": { "const": true },
              "destructiveHint": { "const": false },
              "openWorldHint": { "const": false }
            }
          },
          "permission": {
            "type": "object",
            "additionalProperties": false,
            "required": ["schema_version", "tool_name", "permission_tier", "description", "live_write_default_enabled", "audit_required"],
            "properties": {
              "schema_version": { "const": "zero.mcp_tool_permission.v95" },
              "tool_name": { "type": "string", "minLength": 1 },
              "permission_tier": {
                "enum": ["read-only", "compute", "writes-drafts", "executes-actions", "financial-access", "manages-credentials"]
              },
              "description": { "type": "string", "minLength": 10 },
              "live_write_default_enabled": { "const": false },
              "audit_required": { "type": "boolean" }
            }
          }
        }
      }
    }
  },
  "allOf": [
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_list_strategies" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_safety_catalog" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_public_proof" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_list_public_operators" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_public_operator" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_arena" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_season" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_evaluate" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_heat" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_approaching" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_pulse" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_regime" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_brief" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_engine_product" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_engine_proof" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_engine_evidence_depth" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_engine_cadence" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_immune_status" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_circuit_breaker" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_rejections" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_near_misses" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_execution_quality" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_diagnostics" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "zero_get_mcp_status" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "list_agents" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "get_agent_state" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "get_mandate" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "validate_mandate" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "run_paper_simulation" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "get_evidence_bundle" } }, "required": ["name"] } } } },
    { "properties": { "tools": { "contains": { "properties": { "name": { "const": "export_proof" } }, "required": ["name"] } } } }
  ]
}
