{
  "server": "obelisk-trust-tools",
  "protocolVersion": "2025-06-18",
  "transport": "https://staging.obeliskgate.com/mcp",
  "tools": [
    {
      "name": "scan_trust",
      "description": "Run Obelisk's public trust scan on an https URL — TLS and security-header posture, scored as an Obelisk Rating. Read-only, SSRF-guarded.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "url": {
            "type": "string",
            "description": "The https URL to scan, e.g. https://example.com"
          }
        },
        "required": [
          "url"
        ]
      }
    },
    {
      "name": "verify_token",
      "description": "Verify that a JSON Web Token was minted by this Obelisk Gate (ES256, correct issuer) and report its type, subject, assurance, and principal. Never returns secrets.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "token": {
            "type": "string",
            "description": "A compact-serialized JWT issued by Obelisk (id_token or access token)."
          }
        },
        "required": [
          "token"
        ]
      }
    },
    {
      "name": "get_org_rating",
      "description": "Read the public Obelisk Rating (0-100 score, trust band, and trend) for a registered organization by its slug.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "org": {
            "type": "string",
            "description": "The organization slug, e.g. acme."
          }
        },
        "required": [
          "org"
        ]
      }
    },
    {
      "name": "verify_agent_run_proof",
      "description": "Verify the structural integrity, agent binding, delegation continuity, and commitments of an Obelisk action-scoped run proof. Does not reveal or infer raw task data.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "run_proof": {
            "type": "object",
            "description": "An obelisk-agent-run-proof-v1 object."
          },
          "expected_agent_id": {
            "type": "string",
            "description": "Optional expected agt_ subject."
          }
        },
        "required": [
          "run_proof"
        ]
      }
    },
    {
      "name": "get_agent_proof",
      "description": "Read an Obelisk agent's public proof vector by opaque proof id. Returns independent claims with freshness and scope; never a scalar trust score or a claim of non-humanness.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "proof_id": {
            "type": "string",
            "description": "The opaque id from an /agent/<proof_id> link."
          }
        },
        "required": [
          "proof_id"
        ]
      }
    },
    {
      "name": "transparency_head",
      "description": "Read the current signed transparency head of Obelisk's tamper-evident receipt ledger — pin it and compare later to prove history only extends. Same data as /.well-known/obelisk-transparency.json.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "gate_status",
      "description": "Read the Gate's public liveness facts: issuer, served code revision, OIDC availability, and supported protocols. No posture internals.",
      "inputSchema": {
        "type": "object",
        "properties": {}
      }
    },
    {
      "name": "explain_rating",
      "description": "Explain what an Obelisk Rating number means: its trust band, how the public scan scores, and what typically moves a score. Deterministic by default; pass narrate:true for an additional one-line model-written narrative (cached, public-scope, never required). Pure function of the number — no data is read.",
      "inputSchema": {
        "type": "object",
        "properties": {
          "rating": {
            "type": "number",
            "description": "A 0-100 Obelisk Rating, e.g. from scan_trust or get_org_rating."
          },
          "narrate": {
            "type": "boolean",
            "description": "S283 — also return `narrative`, a one-sentence model-written reading of the band (deterministic fields are always present)."
          }
        },
        "required": [
          "rating"
        ]
      }
    }
  ]
}