{"serverId":"mcp-registry/com.obeliskgate/trust-tools","tools":[{"name":"explain_rating","fixed":{"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","required":["rating"],"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)."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":192,"tokensAfter":192},{"name":"gate_status","fixed":{"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":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":62,"tokensAfter":62},{"name":"get_agent_proof","fixed":{"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","required":["proof_id"],"properties":{"proof_id":{"type":"string","description":"The opaque id from an /agent/<proof_id> link."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":105,"tokensAfter":105},{"name":"get_org_rating","fixed":{"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","required":["org"],"properties":{"org":{"type":"string","description":"The organization slug, e.g. acme."}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":82,"tokensAfter":82},{"name":"verify_agent_run_proof","fixed":{"name":"verify_agent_run_proof","description":"Verify an Obelisk run proof. Pass run_proof_token, the token Obelisk signs at POST /api/agent-proof/run: the tool checks Obelisk's signature against its published keys, that the named agent is active now with the same key that answered the run challenge, and which delegation hops matched the owner's registry when the token was signed. A bare run_proof envelope is only checked for internal consistency and is never reported as verified, because anyone can build one. Reports the envelope's commitme","inputSchema":{"type":"object","properties":{"run_proof":{"type":"object","description":"An obelisk-agent-run-proof-v2 envelope (a legacy v1 envelope is accepted and flagged unsalted-v1). Alone it is checked for consistency only; next to run_proof_token it must equal the signed copy."},"run_proof_token":{"type":"string","description":"The run_proof_token returned by POST /api/agent-proof/run. The only input that can verify."},"expected_agent_id":{"type":"string","description":"Optional expected agt_ subject."},"expected_audience":{"type":"string","description":"Optional: require the run token's audience to equal this value."}}},"annotations":{"readOnlyHint":false,"destructiveHint":false,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: false, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":330,"tokensAfter":330}],"toolsChanged":5,"tokensSaved":0,"todo":[],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}