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 "gaip_record_extract"
⟨3 unchanged words⟩ {"since":"2026-09-01","url":"https://mcp.deepwiki.com/mcp//huggingface.co/mcp"}],"properties":{"limit":{"description ⟨73 unchanged words⟩
Added "witness_signoff"; changed the definition of "witness_accept_terms" (22 tools before, 23 now)
⟨8 unchanged words⟩ to terms a buyer registered. Pass the `terms_id`and, your own`continuity_handle`;`continuity_handle`optionallyandan`business_purpose_statement``acceptance_rule`trueand(businesses`finding_mode`.only); the buyer confirms it with the `agreement_id`. Returns an `agreement_id` binding both parties. Free, ⟨13 unchanged words⟩
{"additionalProperties":false,"examples":[{"business_purpose_statement":true,"continuity_handle":{"continuity_id":"<continuity_handle.continuity_id returned by any
Changed the definition of "witness_accept_terms"
⟨143 unchanged words⟩ ,"EXPERT_DETERMINATION"],"type":"string"},"seller_key_proof":{"description":"Optional: {jwk, jws over the terms_id, host}; GAIP checks the signature and whether the host published that key.","type":"object"},"terms_id":{"description":"wt_... from witness_register_terms.", ⟨6 unchanged words⟩
Added "witness_accept_terms" and "witness_finding" (20 tools before, 22 now)
Accept registered terms (the other party) — Use this when you are the other party to terms a buyer registered. Pass the `terms_id` and your own `continuity_handle`; optionally an `acceptance_rule` and `finding_mode`. Returns an `agreement_id` binding both parties. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
Was the agreed rule met? (signed finding) — Use this when deliveries exist for an agreement and you want GAIP's signed finding. Pass the `agreement_id` and your `continuity_handle`. Returns MET, NOT_MET or INDETERMINATE on the agreed rule with the records relied on. Evidence only; no sum of money. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
Changed the definition of "gaip_receipt_export"
⟨24 unchanged words⟩ :"string"},"receipt_id":{"description":"AThe receipt_idreturnedexactlybyas an earlier GAIPcall.result returned it. Have none? Call with any id: the refusal lists example_receipt_ids from GAIP's own public records.","maxLength":128,"minLength":1,"type ⟨6 unchanged words⟩
Changed the definition of "gaip_incident_bundle"
⟨42 unchanged words⟩ public id or URL of the AI systeminvolved.involved; given alone, GAIP starts the timeline from its own public records of that system.","maxLength":256,"type":"string"} ⟨92 unchanged words⟩
Changed the definition of "gaip_watch_register"
⟨17 unchanged words⟩ tool>"},"interval_hours":24,"kind":"SUPPLIER_CARD","target_url":"https://weather.example.com/.well-known/agent-card.jsonDELIVERY_TERMS","webhook_urlterms_id":"https://hooks.example.com/gaip-watch<terms_id from witness_register_terms>"}],"properties":{"continuity_handle":{"description ⟨168 unchanged words⟩
Added "gaip_record_extract"; changed the definition of "witness_delivery" and "witness_register_terms" (19 tools before, 20 now)
⟨151 unchanged words⟩ ,"PUBLIC_REPLAY"],"type":"string"},"research_consent":{"default":false,"description":"Optional, default false. true lets this delivery check be counted, never named, in GAIP's monthly aggregate research figures.","type":"boolean"},"synthetic":{"description":"Optional: true marks ⟨22 unchanged words⟩
⟨113 unchanged words⟩ ,"NON_PERSONAL_PUBLIC"],"type":"string"},"research_consent":{"default":false,"description":"Optional, default false. true lets this record be counted, never named, in GAIP's monthly aggregate research figures (for example for insurers).","type":"boolean"},"seller_ref":{"description":"Optional: name of
Added "assurance_complete", "assurance_prepare", "assurance_verify" and 5 more (11 tools before, 19 now)
Complete a buyer-side delivery check — Use this when finishing a Buyer Assurance check. Pass the `terms_id` from assurance_prepare and mode PUBLIC_REPLAY (GAIP replays the service) or BUYER_SUBMITTED. Returns PASS / FAIL / UNKNOWN per check and a delivery receipt. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
Prepare a buyer-side delivery check — Use this when you, the buyer, chose a public service and want its delivery checked end to end. Pass `service_url`, `checks` and explicit_read_only_consent=true. GAIP preflights it and records your checks; returns a `terms_id` for assurance_complete. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
Verify a Buyer Assurance receipt — Use this when you hold a Buyer Assurance terms or delivery receipt_id and want to confirm it. Returns the retained record and its integrity proof (integrity only). Free, read-only, no account; inputs must be public and non-personal.
Added "gaip_check_sar_receipt"; changed the definition of "gaip_receipt_export", "gaip_watch_register" and "witness_dispute_bundle" (10 tools before, 11 now)
⟨19 unchanged words⟩ validation-response shape) or vc (W3C-VC-like JSON-LD).Unsigned;Ed25519-signedintegritywhenviathe runtime key is available; hash chain and Merkle proof; no on-chain write. ⟨10 unchanged words⟩
⟨72 unchanged words⟩ "interval_hours":{"default":24,"description":"
Changed the definition of "witness_delivery" and "witness_register_terms"
⟨29 unchanged words⟩ Returns PASS / FAIL / UNKNOWN per check, what changed since last time, and a receipt. Free, read-only, no account; ⟨6 unchanged words⟩
⟨22 unchanged words⟩ `checks` default to HTTP 200 and a non-emptybody.body (also JSON keys, latency, size, regex). Returns a `terms_id`; then call witness_delivery. Free, ⟨13 unchanged words⟩
Certificate recorded, valid to 2026-12-18
Authorization not required
Unknown → Live
First tool surface recorded: 10 tools (server version 1.2.0)
https://www.gaipagents.com/mcp/agents/witness (mcp_streamable_http) — from mcp_registry, with the record
Showing the latest 16 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
Record a role's decision on a proposal (sign-off) — Use this when a role (APPROVER, REVIEWER, OWNER, OPERATOR or a hashed role_id) decided on an agent's proposal. Pass `proposal_sha256`, `decision` (APPROVED, REFUSED, CHANGED), optionally `agreement_id`. Returns a chained, signed entry of the role's decision, never GAIP's. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
Extract of GAIP's record about a URL — Use this when you need proof of what an agent or shop page declared on a date. Pass its `url` (optional `since`, `until`). Returns an extract of GAIP's record as kept: entries with chain positions, hashes, daily anchors and a signature. Free preview. Free, read-only, no account; inputs must be public and non-personal.
Build an evidence pack — Use this when an insurer, auditor or buyer asks what evidence exists about an agent or supplier. Pass its `subject` (public id or https URL). Returns conformance, watch, witness, repair and incident records with Merkle proofs, plus gaps. A compilation, not certification or advice. Free, read-only, no account; inputs must be public and non-personal.
Build an incident evidence bundle — Use this when something went wrong with an agent and you need the facts in order. Pass the `receipt_ids` you hold and attributed `observations`. Returns a verified, source-attributed timeline with an EU AI Act Art. 73 reference aid. No fault, cause or liability finding. Free, read-only, no account; inputs must be public and non-personal.
Did the task deliver, and at what cost? — Use this when asked whether an outcome-priced task delivered and what it cost. Pass `episode_id`, `task` (acceptance_criteria), `delivery`, `costs`; `delivery_check` {url, checks} has GAIP test delivery now. Returns a dossier, running totals and a receipt. No ROI claim. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
Verify an agent's or supplier's claims — Use this to check what an agent, API or supplier claims. Pass `claims` (each with an `id`; add `check_url` and GAIP tests it now), your `observations` and `metadata`. Returns per claim what GAIP saw, what you reported and whether they agree. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
What evidence exists about this agent? — Use this when asked what evidence exists about an agent before delegating to it. Pass its `counterparty_id` and any `observations`. Returns task-specific evidence coverage, conflicts, gaps and GAIP's own earlier checks of it, with a receipt. Never a trust score or recommendation. Free, read-only, no account; inputs must be public and non-personal.
Use this when a witnessed delivery failed and youneed tomustsharehand the factswithto the otherparty.party or a resolver. Passthe`terms_id` or a delivery `receipt_id`. Returnsaoneneutralhash-stamped bundle: terms,no-faulteveryevidencecheck,bundlereceipts,withtimeline,verifiablesummary.receipts.No judgement of who is right. Free, read-only, no account; inputs must be public and non-personal.
⟨2 unchanged words⟩ "<receipt_id from witness_delivery>"}],"properties":{"receipt_idcontinuity_handle":{"description":"AOptional:receipt_idthereturnedcontinuity_handlebythatanregisteredearlieraGAIPDELIVERY_SLAcall.watch on these terms; adds your SLA breaches.","type":"stringobject"}},"requiredreceipt_format":{"default":"gaip","description":"gaip (default) or x402_sar: also give each delivery in the x402 SAR draft shape.","enum":["receipt_idgaip
Check an x402 SAR receipt — Use this when handed an x402 SAR-shaped receipt (draft proposal shape; may change). Pass `sar_receipt`, optionally the issuer's `public_key`. Returns missing fields, whether receipt_id matches the core and whether the signature checks out against that key. Free, read-only, no account; inputs must be public and non-personal.
⟨13 unchanged words⟩ ,"properties":{"checks":{"description":"Checks1-8 checks, each {\"id\":http_status_in\"http_status_in\", \"allowed\": [200]}, {allowed\"id\": \"content_type_is\", \"value\": \"application/json\"},content_type_is{\"id\": \"non_empty\"}, {value\"id\": \"json_parses\"},non_empty{\"id\": \"json_required_keys\",json_parses.\"keys\": [\"a.b\"]}, {\"id\": \"json_path_equals\", \"path\": \"a.b\", \"value\": 1}, {\"id\": \"max_latency_ms\", \"limit\": 2000}, {\"id\": \"max_bytes\", \"limit\": 20000}, {\"id\": \"text_contains\", \"value\": \"ok\"} or {\"id\": \"regex\", \"pattern\": \"ok|up\"}.","maxItems":8,"minItems":1,"type ⟨47 unchanged words⟩