{"serverId":"mcp-registry/io.github.jdhart81/agent-covenant","tools":[{"name":"check_act","fixed":{"name":"check_act","description":"Check (and if allowed, record) a proposed act against a covenant.\n    Deny-by-default. Idempotent on act_id — retries never double-consume\n    budget. Every check lands on the audit chain.","inputSchema":{"type":"object","title":"check_actArguments","required":["covenant_id","act_id","scope"],"properties":{"scope":{"type":"string","title":"Scope"},"act_id":{"type":"string","title":"Act Id"},"covenant_id":{"type":"string","title":"Covenant Id"},"amount_minor":{"type":"integer","title":"Amount Minor","default":0}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":155,"tokensAfter":155},{"name":"covenant_status","fixed":{"name":"covenant_status","description":"Current state, consumed/remaining budget, and check count.","inputSchema":{"type":"object","title":"covenant_statusArguments","required":["covenant_id"],"properties":{"covenant_id":{"type":"string","title":"Covenant Id"}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":74,"tokensAfter":74},{"name":"describe_agent","fixed":{"name":"describe_agent","description":"Fleet-standard self-description.","inputSchema":{"type":"object","title":"describe_agentArguments","properties":{}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":44,"tokensAfter":44},{"name":"list_covenants","fixed":{"name":"list_covenants","description":"List covenants, optionally filtered by state (ACTIVE|REVOKED|EXPIRED)\n    and/or the bound agent.","inputSchema":{"type":"object","title":"list_covenantsArguments","properties":{"state":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"State","default":null},"agent_id":{"anyOf":[{"type":"string"},{"type":"null"}],"title":"Agent Id","default":null}}},"annotations":{"readOnlyHint":true}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":111,"tokensAfter":111},{"name":"revoke_covenant","fixed":{"name":"revoke_covenant","description":"Revoke a covenant immediately and terminally. All subsequent checks deny.","inputSchema":{"type":"object","title":"revoke_covenantArguments","required":["covenant_id"],"properties":{"reason":{"type":"string","title":"Reason","default":""},"covenant_id":{"type":"string","title":"Covenant Id"}}},"annotations":{"readOnlyHint":false,"destructiveHint":true,"idempotentHint":false}},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: false, destructiveHint: true, idempotentHint: false (inferred from the name).","verify":true}],"tokensBefore":94,"tokensAfter":94}],"toolsChanged":5,"tokensSaved":0,"todo":[{"tool":"check_act","params":["scope","act_id","covenant_id","amount_minor"]},{"tool":"covenant_status","params":["covenant_id"]},{"tool":"grant_covenant","params":["scopes","agent_id","principal","expires_at","budget_minor"]},{"tool":"list_covenants","params":["state","agent_id"]},{"tool":"revoke_covenant","params":["reason","covenant_id"]},{"tool":"verify_audit","params":["covenant_id"]}],"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."}