Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Changed the definition of "check_action" and "validate_mandate"
⟨10 unchanged words⟩ , deletes, publishes, installs or changes access).toPasscheckmandate (theproposedoperator's rules; the first matching clause decides) and actionagainst(kind,theverb,operator'starget,writtenoptionalmandate.counterparty and amount). Returns permit, deny or escalate with the governing clause, a reasonand, an actiondigest;digest and a signed receipt; treat error as deny. Advisory: it cannot stop an action, and it keeps no request content.Pass both arguments: mandate (the operator's rules) and action (what the agentTowantschecktoado);newthemandateinputSchemafirst,carriescallavalidate_mandate.completeExamples:example.inputSchema.DocumentationDocs: https://hanria.ai/llms.txt
before
—after
{"additionalProperties":false,"properties":{"action_digest":{"description":"SHA-256 of hanria-action-v1 followed by the action's canonical JSON.","type":"string"},"clause":{"description":"The clause that decided, when one did.","type":"string"},"clause_note":{"type":"string"},"mandate_ref":{"type":"string"},"outcome":{"description":"Treat error as deny.","enum":["permit","deny","escalate","error"],"type":"string"},"reason":{"type":"string"},"receipt":{"additionalProperties":false,"description":"Ed25519-signed receipt binding the outcome to this action and mandate for 15 minutes. Keys and the signed-bytes rule: https://check.hanria.ai/.well-known/hanria-receipt-keys.json","properties":{"action_digest":{"type":"string"},"clause":{"type":"string"},"issued_at":{"format":"date-time","type":"string"},"kid":{"type":"string"},"mandate_digest":{"type":"string"},"mandate_ref":{"type":"string"},"not_after":{"format":"date-time","type":"string"},"outcome":{"enum":["permit","deny","escalate"],"type":"string"},"signature":{"type":"string"},"type":{"const":"hanria-receipt-v1","type":"string"}},"required":["type","kid","outcome","action_digest","mandate_digest","issued_at","not_after","signature"],"type":"object"},"schema_version":{"const":"0.1-draft","type":"string"}},"required":["schema_version","outcome","reason"],"type":"object"}⟨41 unchanged words⟩ invalid mandate makes every check_action call answer error. Once per mandate version is enough; there is no need to call it before every check_action. Free, and it keeps no request content.DocumentationDocs: https://hanria.ai/llms.txt
before
—after
{"additionalProperties":false,"properties":{"clauses":{"type":"integer"},"expired":{"description":"True when not_valid_after has passed; check_action then denies everything.","type":"boolean"},"mandate_digest":{"description":"SHA-256 of the mandate's canonical JSON; receipts carry the same value.","type":"string"},"mandate_ref":{"type":"string"},"reason":{"type":"string"},"schema_version":{"const":"0.1-draft","type":"string"},"valid":{"type":"boolean"}},"required":["schema_version","valid","reason"],"type":"object"}Added "validate_mandate"; changed the definition of "check_action" (1 tools before, 2 now)
⟨36 unchanged words⟩ one file action.","schema_version":"0.2-draft"}},{"action":{"justification":"Pay the invoiced supplier.","operation":{"amount":{"currency":"USDC","value":"25"},"counterparty":"0x2222222222222222222222222222222222222222","kind":"transaction","target":"eip155:11155111/0x1111111111111111111111111111111111111111/transfer","verb":"transfer"},"requested_by":{"agent":"example-agent"},"schema_version":"0.1-draft"},"mandate":{"clauses":[{"effect":"permit","id":"small-transfers","match":{"counterparty":["0x2222222222222222222222222222222222222222"],"kind":["transaction"],"max_amount":{"currency":"USDC","value":"100"},"target_prefix":["eip155:11155111/0x1111111111111111111111111111111111111111/"],"verb":["transfer"]}}],"default":"escalate","mandate_id":"example-payments","purpose":"Permit small transfers to one named recipient on a test network.","schema_version":"0.2-draft"}}],"properties":{"action":{"$comment": ⟨900 unchanged words⟩
Check a mandate for errors — Call this after writing or editing a mandate, before relying on it. Returns valid true or false with the reason: schema errors, clauses that can never run because an earlier clause already decides them, unbounded prefixes, credential material, and expiry. An invalid mandate makes every check_action call answer error. Free, and it keeps no request content. Documentation: https://hanria.ai/llms.txt
Changed the definition of "check_action"
AdvisoryCallcheckthisofbeforeoneyour agent does something consequential (sends, pays, deletes, publishes, installs or changes access) to check the proposed action againstanthe operator's written mandate. Returns permit, deny or escalate with the governing clause, a reason and an actiondigest.digest;Ittreat error as deny. Advisory: it cannot stop anaction;action,
Certificate recorded, valid to 2026-12-27
Authorization not required
Unknown → Live
First tool surface recorded: 1 tool (server version 0.3.0)
https://check.hanria.ai/mcp (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 8 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed