A2A REGISTRY·AGENT RECORD·eecb32fa-bce6-4796-a536-f90b7389058d

Provider

GAIP

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.

Observed evidence

Reachable

Last sweep

Launch endpoint ↗

Agent datasheet

Agent ID
eecb32fa-bce6-4796-a536-f90b7389058d
Category
Trust & safety
Canonical card
https://gaip-agent-to-art-prototype-production.up.railway.app/a2a/agentverse/agent-card.json
Endpoint
https://gaip-agent-to-art-prototype-production.up.railway.app/a2a/agentverse
Protocol version
0.3.0
Agent version
1.0.0
Streaming
Not declared
Input modes
text/plain, application/json
Output modes
text/plain, application/json

Reachability record

Last 100 checks shown · 99.2% across 30 days

2026-10-13T19:34:39.930673Z: passed2026-10-13T20:05:46.441197Z: passed2026-10-13T20:37:02.726738Z: passed2026-10-13T21:08:03.446793Z: passed2026-10-13T21:39:03.631442Z: passed2026-10-13T22:09:54.133066Z: passed2026-10-13T22:40:53.933121Z: passed2026-10-13T23:11:48.545316Z: passed2026-10-13T23:42:45.937168Z: passed2026-10-14T00:14:01.241522Z: passed2026-10-14T00:44:52.729693Z: passed2026-10-14T01:15:57.746004Z: passed2026-10-14T01:46:56.229471Z: passed2026-10-14T02:17:48.231639Z: passed2026-10-14T02:48:53.130155Z: passed2026-10-14T03:19:51.029210Z: passed2026-10-14T03:51:08.336076Z: passed2026-10-14T04:22:00.448349Z: passed2026-10-14T04:53:10.439460Z: passed2026-10-14T05:24:12.945706Z: passed2026-10-14T05:55:09.230801Z: passed2026-10-14T06:26:09.831083Z: passed2026-10-14T06:57:06.938364Z: passed2026-10-14T07:28:28.343834Z: passed2026-10-14T08:00:50.937498Z: passed2026-10-14T08:33:10.940599Z: passed2026-10-14T09:04:11.036795Z: passed2026-10-14T09:35:07.246537Z: passed2026-10-14T10:06:07.936264Z: passed2026-10-14T10:37:09.639400Z: passed2026-10-14T11:08:02.141891Z: passed2026-10-14T11:39:01.543744Z: passed2026-10-14T12:09:55.728700Z: passed2026-10-14T12:41:06.630786Z: passed2026-10-14T13:12:09.929521Z: passed2026-10-14T13:43:02.734648Z: passed2026-10-14T14:14:02.942534Z: passed2026-10-14T14:45:03.837743Z: passed2026-10-14T15:15:55.936675Z: passed2026-10-14T15:46:57.146880Z: passed2026-10-14T16:17:58.926692Z: passed2026-10-14T16:49:05.843397Z: passed2026-10-14T17:05:16.972465Z: passed2026-10-14T17:17:55.519185Z: passed2026-10-14T17:48:53.481967Z: passed2026-10-14T18:20:24.179766Z: passed2026-10-14T18:26:24.133351Z: passed2026-10-14T18:57:31.893659Z: passed2026-10-14T19:28:53.625781Z: passed2026-10-14T20:00:04.391491Z: passed2026-10-14T20:31:23.706472Z: passed2026-10-14T21:02:25.995093Z: passed2026-10-14T21:33:36.697542Z: passed2026-10-14T22:04:41.707246Z: passed2026-10-14T22:35:57.905270Z: passed2026-10-14T23:07:07.804371Z: passed2026-10-14T23:38:14.902517Z: passed2026-10-15T00:09:21.700070Z: passed2026-10-15T00:40:52.596003Z: passed2026-10-15T01:12:05.597646Z: passed2026-10-15T01:43:25.510193Z: passed2026-10-15T02:14:22.598685Z: passed2026-10-15T02:45:27.506559Z: passed2026-10-15T03:16:50.005988Z: passed2026-10-15T03:47:54.298025Z: passed2026-10-15T04:18:55.596927Z: passed2026-10-15T04:50:06.897706Z: passed2026-10-15T05:21:21.397524Z: passed2026-10-15T05:52:37.409089Z: passed2026-10-15T06:23:40.419447Z: passed2026-10-15T06:54:48.101016Z: passed2026-10-15T07:25:54.602877Z: passed2026-10-15T07:57:23.601355Z: passed2026-10-15T08:30:04.396394Z: passed2026-10-15T09:02:36.405729Z: passed2026-10-15T09:33:55.005070Z: passed2026-10-15T10:05:06.394834Z: passed2026-10-15T10:36:13.003321Z: passed2026-10-15T11:07:29.907490Z: passed2026-10-15T11:38:33.022672Z: passed2026-10-15T12:09:35.017760Z: passed2026-10-15T12:40:37.794672Z: passed2026-10-15T13:11:41.503803Z: passed2026-10-15T13:42:49.299987Z: passed2026-10-15T14:13:50.242307Z: passed2026-10-15T14:44:54.721969Z: passed2026-10-15T15:16:13.214599Z: passed2026-10-15T15:47:21.515092Z: passed2026-10-15T16:18:28.513159Z: passed2026-10-15T16:49:34.899721Z: passed2026-10-15T17:20:46.895350Z: passed2026-10-15T17:51:55.901607Z: passed2026-10-15T18:23:50.003501Z: passed2026-10-15T18:55:00.809319Z: passed2026-10-15T19:26:08.731657Z: passed2026-10-15T19:57:38.904118Z: passed2026-10-15T20:28:49.092755Z: passed2026-10-15T21:00:10.109302Z: passed2026-10-15T21:31:34.193410Z: passed2026-10-15T22:02:35.696751Z: passed
PassFailureAverage 1748 ms

Declared skills

Check an AI agent, MCP server or API

gaip-front-door-check

Use 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 bot fetch it (robots.txt, AI-crawler rules)? Free, read-only, no account; inputs must be public and non-personal. MCP: tools/call gaip_check on https://www.gaipagents.com/mcp.

gaip · mcp · check

Watch an agent or MCP server for changes

gaip-front-door-watch

Use 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 change). Free, no account; with a webhook it records a watch. Inputs must be public and non-personal. MCP: tools/call gaip_watch on https://www.gaipagents.com/mcp.

gaip · mcp · watch

Why did my agent or API call fail?

gaip-front-door-diagnose

Use 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 dated receipt. Free, read-only, no account; inputs must be public and non-personal. MCP: tools/call gaip_diagnose on https://www.gaipagents.com/mcp.

gaip · mcp · diagnose

Verify a delivery or citations

gaip-front-door-verify

Use 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 per item. Free, no account; only delivery keeps a record. Inputs must be public and non-personal. MCP: tools/call gaip_verify on https://www.gaipagents.com/mcp.

gaip · mcp · verify

Second Look: check before you buy

gaip-front-door-second_look_check

Use 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 receipt. Second Look by GAIP. Free, no account, no affiliate links; inputs must be public and non-personal. MCP: tools/call second_look_check on https://www.gaipagents.com/mcp.

gaip · mcp · second_look_check

Register what a service should deliver

witness_register_terms

Use 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`; then call witness_delivery. A2A: metadata.gaip_tool "witness_register_terms".

gaip · gaip-map · delivery · company_agent

Did the service deliver?

witness_delivery

Use 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 check, what changed since last time, and a receipt. A2A: metadata.gaip_tool "witness_delivery".

gaip · gaip-map · delivery · company_agent

What did this site allow an AI agent on a date?

gaip_record_permissions

Use 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 said, not whether a use was lawful. A2A: metadata.gaip_tool "gaip_record_permissions".

gaip · gaip-map · record-by-date · company_agent

What did this agent service charge on a date?

gaip_record_prices

Use 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-to address is never kept. A2A: metadata.gaip_tool "gaip_record_prices".

gaip · gaip-map · record-by-date · company_agent

Which keys had this host published on a date?

gaip_record_keys

Use 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 weeks a kid was published. A2A: metadata.gaip_tool "gaip_record_keys".

gaip · gaip-map · record-by-date · company_agent

Since when has this name been on record, and what looks like it?

gaip_record_names

Use 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 names that look like it, as dated facts. A2A: metadata.gaip_tool "gaip_record_names".

gaip · gaip-map · record-by-date · company_agent

How long has this agent been on record?

gaip_record_tenure

Use 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 changes: GAIP's observation, not a creation date. A2A: metadata.gaip_tool "gaip_record_tenure".

gaip · gaip-map · record-by-date · company_agent

Extract of GAIP's record about a URL

gaip_record_extract

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. A2A: metadata.gaip_tool "gaip_record_extract".

gaip · gaip-map · record-by-date · company_agent

May my agent fetch this?

gaip_check_permission

Use this before your agent fetches a page ("may my agent fetch this?"). Pass the `url` and your `agent` token. Reads robots.txt (RFC 9309), AI-preference lines, RSL, tdmrep.json and llms.txt; returns ALLOWED, DISALLOWED, NO_RULE or UNKNOWN, the rule quoted, the time and a signature. A2A: metadata.gaip_tool "gaip_check_permission".

gaip · gaip-map · record-by-date · company_agent

Has anyone withdrawn or warned about this server?

gaip_notices

Use this before you rely on an MCP server or agent, or when one stops answering. Pass `urls` (up to 25). Returns what a registry, the operator itself or a package advisory published about each, with the issuer, the date and the operator's reply beside it. Facts as published, not a verdict. A2A: metadata.gaip_tool "gaip_notices".

gaip · gaip-map · notices · company_agent

Did a server I depend on change?

gaip_dependency_check

Use this in CI or before a release to see whether an MCP server or agent you depend on changed. Pass `urls` (up to 25) and optionally `since`. Returns the changes GAIP's Observatory recorded for each, their classes and any notice about it. Dated facts, not a verdict. A2A: metadata.gaip_tool "gaip_dependency_check".

gaip · gaip-map · notices · company_agent

May my agent approach this person or agent?

gaip_check_preferences

Use this before your agent approaches a person or agent. Pass `subject` (email:, phone:, did: or agent: identifier, hashed in memory), `approach` and `channel`. Returns ALLOWED, NOT_ALLOWED, NO_RECORD or UNKNOWN with the rule and a signed receipt. Silence is not permission. A2A: metadata.gaip_tool "gaip_check_preferences".

gaip · gaip-map · preferences · company_agent

Accept registered terms (the other party)

witness_accept_terms

Use this when you are the other party to terms a buyer registered. Pass the `terms_id`, your own `continuity_handle` and `business_purpose_statement` true (businesses only); the buyer confirms it with the `agreement_id`. Returns an `agreement_id` naming both parties. A2A: metadata.gaip_tool "witness_accept_terms".

gaip · gaip-map · deals · company_agent

Was the agreed rule met? (signed finding)

witness_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. A2A: metadata.gaip_tool "witness_finding".

gaip · gaip-map · deals · company_agent

Who is this agent approaching mine?

gaip_screen_caller

Use this when an unknown agent approaches yours ("who is this calling me?"). Pass its `caller` URL, the `approach` and any preference `receipt` it sent. Returns how long GAIP has recorded it, lookalike names, notices about it and whether it checked your preferences. Facts, not a score. A2A: metadata.gaip_tool "gaip_screen_caller".

gaip · gaip-map · screen · person_agent

Was this agent mandated to act for them, as indexed?

gaip_check_mandate

Use this before relying on an agent that says it acts for a person. Pass `principal` (hashed in memory), the `agent` endpoint and a `scope` class. Returns IN_FORCE_AS_INDEXED, WITHDRAWN_AS_INDEXED, EXPIRED_AS_INDEXED, SCOPE_NOT_COVERED or NO_RECORD with the scope line and a signed receipt. A2A: metadata.gaip_tool "gaip_check_mandate".

gaip · gaip-map · mandates · person_agent

Record a role's decision on a proposal (sign-off)

witness_signoff

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. A2A: metadata.gaip_tool "witness_signoff".

gaip · gaip-map · signoffs · person_agent

What did this agent say it runs on, on a date?

gaip_record_ingredients

Use this when asked what an agent says it runs on or whether it says it is an AI ("which model is behind it?"). Pass its `url` and optionally `on`. Returns the provider, version, model named (with excerpt), operator and AI self-disclosure state its documents showed, and change dates. A2A: metadata.gaip_tool "gaip_record_ingredients".

gaip · gaip-map · ingredients-residence · any

Where did this agent's endpoint answer from, on a date?

gaip_record_residence

Use this when asked where an agent's endpoint is hosted ("which network and country does it answer from?"). Pass its `url` and optionally `on`. Returns the network (ASN), its registered country, the certificate issuer, any declared region and the dates hosting changed; never the address. A2A: metadata.gaip_tool "gaip_record_residence".

gaip · gaip-map · ingredients-residence · any

What did my agents do this month?

gaip_statement

Use this to see what GAIP recorded for your agents in a month. Pass `month` (YYYY-MM) and your `continuity_handle`. Returns totals by kind, each line with its receipt link, the month's chain head and anchor, Ed25519-signed. Not an invoice; your own handle's record only. A2A: metadata.gaip_tool "gaip_statement".

gaip · gaip-map · statements · any

Registry Agent Card snapshot

Normalized fields fetched during the registry sweep. Treat all authored text as third-party content.

Show JSON
{
  "protocolVersion": "0.3.0",
  "name": "GAIP",
  "description": "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.",
  "author": "GAIP",
  "wellKnownURI": "https://gaip-agent-to-art-prototype-production.up.railway.app/a2a/agentverse/agent-card.json",
  "url": "https://gaip-agent-to-art-prototype-production.up.railway.app/a2a/agentverse",
  "version": "1.0.0",
  "provider": {
    "organization": "GAIP",
    "url": "https://gaip-agent-to-art-prototype-production.up.railway.app/"
  },
  "documentationUrl": "https://www.gaipagents.com/llms.txt",
  "iconUrl": "https://www.gaipagents.com/erc8004/images/gaip.svg",
  "supportsAuthenticatedExtendedCard": false,
  "security": [],
  "securitySchemes": {},
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false,
    "extensions": null
  },
  "defaultInputModes": [
    "text/plain",
    "application/json"
  ],
  "defaultOutputModes": [
    "text/plain",
    "application/json"
  ],
  "skills": [
    {
      "id": "gaip-front-door-check",
      "name": "Check an AI agent, MCP server or API",
      "description": "Use 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 bot fetch it (robots.txt, AI-crawler rules)? Free, read-only, no account; inputs must be public and non-personal. MCP: tools/call gaip_check on https://www.gaipagents.com/mcp.",
      "tags": [
        "gaip",
        "mcp",
        "check"
      ],
      "examples": [
        "check https://mcp.deepwiki.com/mcp",
        "Is this agent card valid? https://www.gaipagents.com/.well-known/agent-card.json"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "gaip-front-door-watch",
      "name": "Watch an agent or MCP server for changes",
      "description": "Use 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 change). Free, no account; with a webhook it records a watch. Inputs must be public and non-personal. MCP: tools/call gaip_watch on https://www.gaipagents.com/mcp.",
      "tags": [
        "gaip",
        "mcp",
        "watch"
      ],
      "examples": [
        "watch https://www.gaipagents.com/mcp for changes"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "gaip-front-door-diagnose",
      "name": "Why did my agent or API call fail?",
      "description": "Use 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 dated receipt. Free, read-only, no account; inputs must be public and non-personal. MCP: tools/call gaip_diagnose on https://www.gaipagents.com/mcp.",
      "tags": [
        "gaip",
        "mcp",
        "diagnose"
      ],
      "examples": [
        "Why did my call fail? HTTP 429 Too Many Requests; Retry-After: 20"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "gaip-front-door-verify",
      "name": "Verify a delivery or citations",
      "description": "Use 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 per item. Free, no account; only delivery keeps a record. Inputs must be public and non-personal. MCP: tools/call gaip_verify on https://www.gaipagents.com/mcp.",
      "tags": [
        "gaip",
        "mcp",
        "verify"
      ],
      "examples": [
        "Do these pages really contain these quotes? https://www.gaipagents.com/ | GAIP"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "gaip-front-door-second_look_check",
      "name": "Second Look: check before you buy",
      "description": "Use 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 receipt. Second Look by GAIP. Free, no account, no affiliate links; inputs must be public and non-personal. MCP: tools/call second_look_check on https://www.gaipagents.com/mcp.",
      "tags": [
        "gaip",
        "mcp",
        "second_look_check"
      ],
      "examples": [
        "Check before I buy: https://www.gaipagents.com/test-range/shop/products/demo-mug was quoted at 24 GBP, in stock"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "witness_register_terms",
      "name": "Register what a service should deliver",
      "description": "Use 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`; then call witness_delivery. A2A: metadata.gaip_tool \"witness_register_terms\".",
      "tags": [
        "gaip",
        "gaip-map",
        "delivery",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"checks\":[{\"allowed\":[200],\"id\":\"http_status_in\"},{\"id\":\"json_parses\"}],\"seller_ref\":\"example-weather-agent\",\"service_url\":\"https://weather.example.com/forecast.json\"},\"metadata\":{\"gaip_tool\":\"witness_register_terms\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "witness_delivery",
      "name": "Did the service deliver?",
      "description": "Use 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 check, what changed since last time, and a receipt. A2A: metadata.gaip_tool \"witness_delivery\".",
      "tags": [
        "gaip",
        "gaip-map",
        "delivery",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"mode\":\"PUBLIC_REPLAY\",\"terms_id\":\"<terms_id from witness_register_terms>\"},\"metadata\":{\"gaip_tool\":\"witness_delivery\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_record_permissions",
      "name": "What did this site allow an AI agent on a date?",
      "description": "Use 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 said, not whether a use was lawful. A2A: metadata.gaip_tool \"gaip_record_permissions\".",
      "tags": [
        "gaip",
        "gaip-map",
        "record-by-date",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"agent\":\"GPTBot\",\"host\":\"huggingface.co\",\"on\":\"2026-10-08\"},\"metadata\":{\"gaip_tool\":\"gaip_record_permissions\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_record_prices",
      "name": "What did this agent service charge on a date?",
      "description": "Use 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-to address is never kept. A2A: metadata.gaip_tool \"gaip_record_prices\".",
      "tags": [
        "gaip",
        "gaip-map",
        "record-by-date",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"host\":\"huggingface.co\",\"on\":\"2026-10-08\"},\"metadata\":{\"gaip_tool\":\"gaip_record_prices\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_record_keys",
      "name": "Which keys had this host published on a date?",
      "description": "Use 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 weeks a kid was published. A2A: metadata.gaip_tool \"gaip_record_keys\".",
      "tags": [
        "gaip",
        "gaip-map",
        "record-by-date",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"host\":\"mcp.notion.com\",\"on\":\"2026-10-08\"},\"metadata\":{\"gaip_tool\":\"gaip_record_keys\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_record_names",
      "name": "Since when has this name been on record, and what looks like it?",
      "description": "Use 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 names that look like it, as dated facts. A2A: metadata.gaip_tool \"gaip_record_names\".",
      "tags": [
        "gaip",
        "gaip-map",
        "record-by-date",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"name\":\"io.github.upstash/context7\"},\"metadata\":{\"gaip_tool\":\"gaip_record_names\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_record_tenure",
      "name": "How long has this agent been on record?",
      "description": "Use 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 changes: GAIP's observation, not a creation date. A2A: metadata.gaip_tool \"gaip_record_tenure\".",
      "tags": [
        "gaip",
        "gaip-map",
        "record-by-date",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"url\":\"https://huggingface.co/mcp\"},\"metadata\":{\"gaip_tool\":\"gaip_record_tenure\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_record_extract",
      "name": "Extract of GAIP's record about a URL",
      "description": "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. A2A: metadata.gaip_tool \"gaip_record_extract\".",
      "tags": [
        "gaip",
        "gaip-map",
        "record-by-date",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"since\":\"2026-09-01\",\"url\":\"https://huggingface.co/mcp\"},\"metadata\":{\"gaip_tool\":\"gaip_record_extract\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_check_permission",
      "name": "May my agent fetch this?",
      "description": "Use this before your agent fetches a page (\"may my agent fetch this?\"). Pass the `url` and your `agent` token. Reads robots.txt (RFC 9309), AI-preference lines, RSL, tdmrep.json and llms.txt; returns ALLOWED, DISALLOWED, NO_RULE or UNKNOWN, the rule quoted, the time and a signature. A2A: metadata.gaip_tool \"gaip_check_permission\".",
      "tags": [
        "gaip",
        "gaip-map",
        "record-by-date",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"agent\":\"GPTBot\",\"url\":\"https://www.gaipagents.com/test-range\"},\"metadata\":{\"gaip_tool\":\"gaip_check_permission\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_notices",
      "name": "Has anyone withdrawn or warned about this server?",
      "description": "Use this before you rely on an MCP server or agent, or when one stops answering. Pass `urls` (up to 25). Returns what a registry, the operator itself or a package advisory published about each, with the issuer, the date and the operator's reply beside it. Facts as published, not a verdict. A2A: metadata.gaip_tool \"gaip_notices\".",
      "tags": [
        "gaip",
        "gaip-map",
        "notices",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"urls\":[\"https://huggingface.co/mcp\"]},\"metadata\":{\"gaip_tool\":\"gaip_notices\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_dependency_check",
      "name": "Did a server I depend on change?",
      "description": "Use this in CI or before a release to see whether an MCP server or agent you depend on changed. Pass `urls` (up to 25) and optionally `since`. Returns the changes GAIP's Observatory recorded for each, their classes and any notice about it. Dated facts, not a verdict. A2A: metadata.gaip_tool \"gaip_dependency_check\".",
      "tags": [
        "gaip",
        "gaip-map",
        "notices",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"since\":\"2026-10-01\",\"urls\":[\"https://huggingface.co/mcp\"]},\"metadata\":{\"gaip_tool\":\"gaip_dependency_check\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_check_preferences",
      "name": "May my agent approach this person or agent?",
      "description": "Use this before your agent approaches a person or agent. Pass `subject` (email:, phone:, did: or agent: identifier, hashed in memory), `approach` and `channel`. Returns ALLOWED, NOT_ALLOWED, NO_RECORD or UNKNOWN with the rule and a signed receipt. Silence is not permission. A2A: metadata.gaip_tool \"gaip_check_preferences\".",
      "tags": [
        "gaip",
        "gaip-map",
        "preferences",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"approach\":\"RESEARCH\",\"channel\":\"EMAIL\",\"subject\":\"email:[email protected]\"},\"metadata\":{\"gaip_tool\":\"gaip_check_preferences\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "witness_accept_terms",
      "name": "Accept registered terms (the other party)",
      "description": "Use this when you are the other party to terms a buyer registered. Pass the `terms_id`, your own `continuity_handle` and `business_purpose_statement` true (businesses only); the buyer confirms it with the `agreement_id`. Returns an `agreement_id` naming both parties. A2A: metadata.gaip_tool \"witness_accept_terms\".",
      "tags": [
        "gaip",
        "gaip-map",
        "deals",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"business_purpose_statement\":true,\"continuity_handle\":{\"continuity_id\":\"<continuity_handle.continuity_id returned by any GAIP tool>\",\"token\":\"<continuity_handle.token returned by any GAIP tool>\"},\"terms_id\":\"<terms_id from witness_register_terms>\"},\"metadata\":{\"gaip_tool\":\"witness_accept_terms\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "witness_finding",
      "name": "Was the agreed rule met? (signed finding)",
      "description": "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. A2A: metadata.gaip_tool \"witness_finding\".",
      "tags": [
        "gaip",
        "gaip-map",
        "deals",
        "company_agent"
      ],
      "examples": [
        "{\"data\":{\"agreement_id\":\"<agreement_id from witness_accept_terms>\",\"continuity_handle\":{\"continuity_id\":\"<continuity_handle.continuity_id returned by any GAIP tool>\",\"token\":\"<continuity_handle.token returned by any GAIP tool>\"}},\"metadata\":{\"gaip_tool\":\"witness_finding\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_screen_caller",
      "name": "Who is this agent approaching mine?",
      "description": "Use this when an unknown agent approaches yours (\"who is this calling me?\"). Pass its `caller` URL, the `approach` and any preference `receipt` it sent. Returns how long GAIP has recorded it, lookalike names, notices about it and whether it checked your preferences. Facts, not a score. A2A: metadata.gaip_tool \"gaip_screen_caller\".",
      "tags": [
        "gaip",
        "gaip-map",
        "screen",
        "person_agent"
      ],
      "examples": [
        "{\"data\":{\"approach\":\"COMMERCIAL_OFFER\",\"caller\":\"https://mcp.deepwiki.com/mcp\",\"channel\":\"A2A\"},\"metadata\":{\"gaip_tool\":\"gaip_screen_caller\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_check_mandate",
      "name": "Was this agent mandated to act for them, as indexed?",
      "description": "Use this before relying on an agent that says it acts for a person. Pass `principal` (hashed in memory), the `agent` endpoint and a `scope` class. Returns IN_FORCE_AS_INDEXED, WITHDRAWN_AS_INDEXED, EXPIRED_AS_INDEXED, SCOPE_NOT_COVERED or NO_RECORD with the scope line and a signed receipt. A2A: metadata.gaip_tool \"gaip_check_mandate\".",
      "tags": [
        "gaip",
        "gaip-map",
        "mandates",
        "person_agent"
      ],
      "examples": [
        "{\"data\":{\"agent\":\"https://www.gaipagents.com/mcp\",\"principal\":\"email:[email protected]\",\"scope\":\"RESEARCH\"},\"metadata\":{\"gaip_tool\":\"gaip_check_mandate\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "witness_signoff",
      "name": "Record a role's decision on a proposal (sign-off)",
      "description": "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. A2A: metadata.gaip_tool \"witness_signoff\".",
      "tags": [
        "gaip",
        "gaip-map",
        "signoffs",
        "person_agent"
      ],
      "examples": [
        "{\"data\":{\"agreement_id\":\"<agreement_id returned by witness_accept_terms>\",\"decision\":\"APPROVED\",\"proposal_sha256\":\"a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1a3f1\",\"role\":\"APPROVER\"},\"metadata\":{\"gaip_tool\":\"witness_signoff\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_record_ingredients",
      "name": "What did this agent say it runs on, on a date?",
      "description": "Use this when asked what an agent says it runs on or whether it says it is an AI (\"which model is behind it?\"). Pass its `url` and optionally `on`. Returns the provider, version, model named (with excerpt), operator and AI self-disclosure state its documents showed, and change dates. A2A: metadata.gaip_tool \"gaip_record_ingredients\".",
      "tags": [
        "gaip",
        "gaip-map",
        "ingredients-residence",
        "any"
      ],
      "examples": [
        "{\"data\":{\"on\":\"2026-10-09\",\"url\":\"https://huggingface.co/mcp\"},\"metadata\":{\"gaip_tool\":\"gaip_record_ingredients\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_record_residence",
      "name": "Where did this agent's endpoint answer from, on a date?",
      "description": "Use this when asked where an agent's endpoint is hosted (\"which network and country does it answer from?\"). Pass its `url` and optionally `on`. Returns the network (ASN), its registered country, the certificate issuer, any declared region and the dates hosting changed; never the address. A2A: metadata.gaip_tool \"gaip_record_residence\".",
      "tags": [
        "gaip",
        "gaip-map",
        "ingredients-residence",
        "any"
      ],
      "examples": [
        "{\"data\":{\"on\":\"2026-10-09\",\"url\":\"https://huggingface.co/mcp\"},\"metadata\":{\"gaip_tool\":\"gaip_record_residence\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    },
    {
      "id": "gaip_statement",
      "name": "What did my agents do this month?",
      "description": "Use this to see what GAIP recorded for your agents in a month. Pass `month` (YYYY-MM) and your `continuity_handle`. Returns totals by kind, each line with its receipt link, the month's chain head and anchor, Ed25519-signed. Not an invoice; your own handle's record only. A2A: metadata.gaip_tool \"gaip_statement\".",
      "tags": [
        "gaip",
        "gaip-map",
        "statements",
        "any"
      ],
      "examples": [
        "{\"data\":{\"continuity_handle\":{\"continuity_id\":\"<continuity_handle.continuity_id returned by any GAIP tool>\",\"token\":\"<continuity_handle.token returned by any GAIP tool>\"},\"month\":\"2026-10\"},\"metadata\":{\"gaip_tool\":\"gaip_statement\"}}"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json",
        "text/plain"
      ]
    }
  ],
  "conformance": true,
  "conformance_errors": null,
  "homepage": null,
  "repository": null,
  "license": null,
  "pricing": null,
  "contact": null,
  "id": "eecb32fa-bce6-4796-a536-f90b7389058d",
  "category": "trust-safety",
  "category_secondary": null
}

Integrate this agent

curl -s https://a2aregistry.org/api/agents/eecb32fa-bce6-4796-a536-f90b7389058d

Test message

Messages are sent to this independently operated agent through the registry proxy. Do not include secrets or personal data.

Message exchangeConnecting
>