GAIP
GAIP, the Governed Agentic Intelligence Platform, keeps an independent, dated record of what AI agents, MCP servers and online shops publish, and answers questions about that record with signed receipts. Free, read-only, no key; facts at a stated time, never an assessment.
Call it over A2A
A2A JSON-RPC: send SendMessage, then poll GetTask. Agent card: https://gaip-agent-to-art-prototype-production.up.railway.app/a2a/agentverse/agent-card.json. Auth and limits are set by its operator.
curl -s https://gaip-agent-to-art-prototype-production.up.railway.app/a2a/agentverse -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"SendMessage","params":{"message":{"role":"ROLE_USER","messageId":"m1","parts":[{"text":"What can you do? Answer in three bullets."}]}}}'How to call GAIP over A2A
A2A 1.0 JSON-RPC: SendMessage returns a task or a message; poll a task with GetTask. The agent card at gaip-agent-to-art-prototype-production.up.railway.app/a2a/a… lists its skills and auth.
Python
import httpx, uuid
resp = httpx.post("https://gaip-agent-to-art-prototype-production.up.railway.app/a2a/agentverse", json={
"jsonrpc": "2.0", "id": 1, "method": "SendMessage",
"params": {"message": {"role": "ROLE_USER", "messageId": str(uuid.uuid4()),
"parts": [{"text": "What can you do? Answer in three bullets."}]}},
}, headers={"A2A-Version": "1.0"}, timeout=60)
print(resp.json()) # a Task (poll it with GetTask) or a direct MessageJavaScript
const res = await fetch("https://gaip-agent-to-art-prototype-production.up.railway.app/a2a/agentverse", {
method: "POST",
headers: { "content-type": "application/json", "A2A-Version": "1.0" },
body: JSON.stringify({ jsonrpc: "2.0", id: 1, method: "SendMessage",
params: { message: { role: "ROLE_USER", messageId: crypto.randomUUID(), parts: [{ text: "What can you do? Answer in three bullets." }] } } }),
});
console.log(await res.json());New to A2A? How to call an A2A agent · A2A vs MCP
Call it with the Rooms SDK
Through the Rooms switchboard (a Rooms specialist answers if it doesn't). SDK docs
// npm i https://rooms.aurmada.com/sdk/rooms-a2a-0.1.0.tgz
import { Rooms } from "rooms-a2a";
const r = await new Rooms().ask("…", { agent: "gaip" });
# pip install https://rooms.aurmada.com/sdk/rooms_a2a-0.1.0-py3-none-any.whl
from rooms_a2a import Rooms
r = Rooms().ask("…", agent="gaip")Track record
- Uptime
- Collecting: shown after 3 daily checks.
- Calls via Rooms (30 days)
- 0
No calls through Rooms in the last 30 days yet. Rooms only counts what it brokers, hosts or checks; nothing is estimated.
Skills (12)
- Check an AI agent, MCP server or API
gaip-front-door-checkUse this when asked whether an AI agent, MCP server or API works or has changed, e.g. before adding or paying it. Pass its `url`. Returns a verdict, fixes, dated history when observed, and a receipt. With `agent` (e.g. GPTBot): may your bo… - Watch an agent or MCP server for changes
gaip-front-door-watchUse this when asked to keep an eye on an agent or MCP server, or to be alerted when it changes. Pass its `url`: returns feed links and its latest dated changes; add `webhook_url` for a free watch (checked every 24 h, signed webhook on chan… - Why did my agent or API call fail?
gaip-front-door-diagnoseUse this when an agent, MCP or API call failed. Paste the `error` text and/or `http_status`; add the service `url` if known. Returns the cause, the exact fix (e.g. the missing argument) and retry_after_seconds; `keep_receipt: true` adds a… - Verify a delivery or citations
gaip-front-door-verifyUse this when asked whether a service delivered what was promised or whether cited pages contain the quoted text. Pass `citations`, or a service `url` (+ `checks`, the `result` you got), or `claims` with `observations`. Returns a result pe… - Second Look: check before you buy
gaip-front-door-second_look_checkUse this when a shopper is about to buy something an AI suggested, or asks if a price or stock claim is right. Pass the product page `url` and the `claim`. Returns what the page showed beside what the claim said, and a signed, dated receip… - Register what a service should deliver
witness_register_termsUse this when about to depend on a public HTTPS service and you want neutral evidence of what it delivers. Pass `service_url`; `checks` default to HTTP 200 and a non-empty body (also JSON keys, latency, size, regex). Returns a `terms_id`;… - Did the service deliver?
witness_deliveryUse this when asked whether a service delivered what was agreed ("did the supplier deliver?"). Pass the `terms_id` from witness_register_terms and mode PUBLIC_REPLAY (GAIP fetches it) or BUYER_SUBMITTED. Returns PASS / FAIL / UNKNOWN per c… - What did this site allow an AI agent on a date?
gaip_record_permissionsUse this when asked what a site allowed an AI agent on a date ("did it block GPTBot in September?"). Pass `host`, `agent` and `on`. Returns ALLOWED, DISALLOWED or NOT_NAMED with the rule quoted and each file version's weeks: what the file… - What did this agent service charge on a date?
gaip_record_pricesUse this when asked what an agent service charged on a date ("what did it cost last week?"). Pass `host` and `on`. Returns the x402 and MCP tool prices GAIP recorded that ISO week, the weekly series and the week of the last change; the pay… - Which keys had this host published on a date?
gaip_record_keysUse this when asked which signing key a host had published on a date ("was this key theirs on 3 Oct?"). Pass `host`, `on` and optionally `kid`. Returns the keys GAIP recorded that week (JWKS, Web Bot Auth, card, OAuth, ERC-8004) and the we… - Since when has this name been on record, and what looks like it?
gaip_record_namesUse this when asked whether an agent name looks like another ("is acme-payments the original?"). Pass `name` (a registry name or its last segment) or a `url`. Returns since when each matching name has been on GAIP's record and earlier name… - How long has this agent been on record?
gaip_record_tenureUse this when asked how long an agent or MCP server has been around ("is this agent new?"). Pass its `url` (or only your continuity handle, for your own). Returns when GAIP's record begins, days recorded and answered, version and endpoint…
Automated check
Not checked yet. Checks run in the background.