{
  "access": {
    "account_required": false,
    "api_key_required": false,
    "authority": "read-only",
    "cost": "free",
    "data": "public or non-personal only"
  },
  "agents": [
    {
      "a2a": "https://www.gaipagents.com/a2a/integration-protocol",
      "a2a_agent_card": "https://www.gaipagents.com/agents/integration-protocol/.well-known/agent-card.json",
      "icon": "https://www.gaipagents.com/assets/agents/integration-protocol.svg",
      "id": "integration-protocol",
      "mcp": "https://www.gaipagents.com/mcp/agents/integration-protocol",
      "mcp_registry_name": "io.github.tjcgraham-rgb/gaip-integration-protocol",
      "mcp_server_card": "https://www.gaipagents.com/mcp/agents/integration-protocol/server-card",
      "name": "GAIP Integration & Protocol Agent",
      "one_liner": "Behind Check and GAIP Watch, and Diagnose on /mcp: A2A, MCP and OpenAPI checks, failed calls.",
      "product": "developer-checks",
      "tools": [
        "check_agent_conformance",
        "gaip_watch_register",
        "gaip_watch_list",
        "gaip_watch_remove",
        "gaip_watch_events",
        "gaip_observatory_lookup",
        "gaip_manifest_changes",
        "gaip_observatory_capture",
        "gaip_tools_changed_since",
        "gaip_check_permission",
        "gaip_compare_supplier_snapshots",
        "gaip_diagnose_integration_failure",
        "gaip_supplier_reliability"
      ],
      "web": "https://www.gaipagents.com/agents/integration-protocol"
    },
    {
      "a2a": "https://www.gaipagents.com/a2a/witness-agent",
      "a2a_agent_card": "https://www.gaipagents.com/agents/witness/.well-known/agent-card.json",
      "icon": "https://www.gaipagents.com/assets/agents/witness.svg",
      "id": "witness",
      "mcp": "https://www.gaipagents.com/mcp/agents/witness",
      "mcp_registry_name": "io.github.tjcgraham-rgb/gaip-witness",
      "mcp_server_card": "https://www.gaipagents.com/mcp/agents/witness/server-card",
      "name": "GAIP Witness Agent",
      "one_liner": "Witness, Deals and Sign-offs: agreed terms, delivery, receipts, disputes and evidence.",
      "product": "witness",
      "tools": [
        "witness_register_terms",
        "witness_delivery",
        "gaip_receipt_export",
        "verify_gaip_receipt",
        "witness_dispute_bundle",
        "gaip_watch_register",
        "gaip_watch_list",
        "gaip_watch_remove",
        "gaip_watch_events",
        "gaip_citation_witness",
        "gaip_check_sar_receipt",
        "gaip_record_extract",
        "witness_accept_terms",
        "witness_finding",
        "witness_signoff",
        "assurance_prepare",
        "assurance_complete",
        "assurance_verify",
        "gaip_verify_supplier_claims",
        "inspect_counterparty_evidence",
        "gaip_evidence_pack",
        "gaip_incident_bundle",
        "gaip_measure_outcome_value"
      ],
      "web": "https://www.gaipagents.com/agents/witness"
    },
    {
      "a2a": "https://www.gaipagents.com/a2a/listing-observer",
      "a2a_agent_card": "https://www.gaipagents.com/agents/listing-observer/.well-known/agent-card.json",
      "icon": "https://www.gaipagents.com/assets/agents/listing-observer.svg",
      "id": "listing-observer",
      "mcp": "https://www.gaipagents.com/mcp/agents/listing-observer",
      "mcp_registry_name": "io.github.tjcgraham-rgb/gaip-listing-observer",
      "mcp_server_card": "https://www.gaipagents.com/mcp/agents/listing-observer/server-card",
      "name": "GAIP Listing Observer",
      "one_liner": "Behind Second Look (preview): a product page as clean data, with source checks and price history.",
      "product": "shop-listing-data",
      "tools": [
        "gaip_observe_listing"
      ],
      "web": "https://www.gaipagents.com/agents/listing-observer"
    }
  ],
  "categories": [
    "developer-tools",
    "agent-infrastructure",
    "interoperability",
    "monitoring",
    "evidence-and-audit"
  ],
  "client_config": {
    "a2a_agent_card": "https://www.gaipagents.com/.well-known/agent-card.json",
    "a2a_endpoint": "https://www.gaipagents.com/a2a/agentverse",
    "authentication": "none",
    "clients": {
      "chatgpt": {
        "how": "Settings > Security and login > turn on Developer mode; then add a plugin with the plus button and, under Connection, enter the MCP URL (including /mcp).",
        "url": "https://www.gaipagents.com/mcp"
      },
      "claude_code": {
        "command": "claude mcp add --transport http gaip https://www.gaipagents.com/mcp",
        "json": {
          "mcpServers": {
            "gaip": {
              "type": "http",
              "url": "https://www.gaipagents.com/mcp"
            }
          }
        },
        "project_file": ".mcp.json"
      },
      "claude_desktop": {
        "how": "Customize > Connectors > Add custom connector (older versions: Settings > Connectors), enter the MCP URL and choose no sign-in.",
        "url": "https://www.gaipagents.com/mcp"
      },
      "cline": {
        "file": "cline_mcp_settings.json",
        "json": {
          "mcpServers": {
            "gaip": {
              "type": "streamableHttp",
              "url": "https://www.gaipagents.com/mcp"
            }
          }
        }
      },
      "crewai": {
        "install": "pip install crewai mcp",
        "python": "from crewai import Agent\n\nagent = Agent(role=\"Integration checker\", goal=\"Check agents and MCP servers before relying on them\",\n              backstory=\"Uses GAIP's dated record\",\n              mcps=['https://www.gaipagents.com/mcp'])\n"
      },
      "cursor": {
        "file": ".cursor/mcp.json",
        "json": {
          "mcpServers": {
            "gaip": {
              "url": "https://www.gaipagents.com/mcp"
            }
          }
        }
      },
      "gemini_cli": {
        "file": "~/.gemini/settings.json",
        "json": {
          "mcpServers": {
            "gaip": {
              "httpUrl": "https://www.gaipagents.com/mcp"
            }
          }
        }
      },
      "langchain": {
        "install": "pip install langchain-mcp-adapters",
        "python": "import asyncio\nfrom langchain_mcp_adapters.client import MultiServerMCPClient\n\n\nasync def main():\n    client = MultiServerMCPClient({'gaip': {\"transport\": \"http\", \"url\": 'https://www.gaipagents.com/mcp'}})\n    tools = await client.get_tools()\n    print([tool.name for tool in tools])\n\n\nasyncio.run(main())\n"
      },
      "langchain_gaip": {
        "install": "pip install langchain-gaip",
        "python": "from langchain_gaip import get_tools\n\ntools = get_tools()   # pass them to any LangChain or LangGraph agent\nprint(tools[0].invoke({\"url\": 'https://mcp.deepwiki.com/mcp'}))\n"
      },
      "openai_agents_sdk": {
        "hosted_python": "from agents import Agent, HostedMCPTool, Runner\n\nagent = Agent(name=\"Assistant\", tools=[HostedMCPTool(tool_config={\n    \"type\": \"mcp\", \"server_label\": 'gaip', \"server_url\": 'https://www.gaipagents.com/mcp', \"require_approval\": \"never\"})])\nprint(Runner.run_sync(agent, \"Check https://mcp.deepwiki.com/mcp with gaip_check.\").final_output)\n",
        "python": "import asyncio\nfrom agents import Agent, Runner\nfrom agents.mcp import MCPServerStreamableHttp\n\n\nasync def main():\n    async with MCPServerStreamableHttp(name='gaip', params={\"url\": 'https://www.gaipagents.com/mcp'}) as server:\n        agent = Agent(name=\"Assistant\", instructions=\"Use the GAIP tools to check agents.\",\n                      mcp_servers=[server])\n        result = await Runner.run(agent, \"Check https://mcp.deepwiki.com/mcp with gaip_check.\")\n        print(result.final_output)\n\n\nasyncio.run(main())\n"
      },
      "vercel_ai_sdk": {
        "install": "npm install @ai-sdk/mcp",
        "typescript": "import { createMCPClient } from '@ai-sdk/mcp';\n\nconst gaip = await createMCPClient({ transport: { type: 'http', url: 'https://www.gaipagents.com/mcp' } });\nconst tools = await gaip.tools();   // pass to generateText or streamText; then await gaip.close()\n"
      },
      "vscode": {
        "file": ".vscode/mcp.json",
        "json": {
          "servers": {
            "gaip": {
              "type": "http",
              "url": "https://www.gaipagents.com/mcp"
            }
          }
        }
      },
      "windsurf": {
        "file": "~/.codeium/windsurf/mcp_config.json",
        "json": {
          "mcpServers": {
            "gaip": {
              "serverUrl": "https://www.gaipagents.com/mcp"
            }
          }
        }
      }
    },
    "curl": {
      "a2a_message_send": "curl -s https://www.gaipagents.com/a2a/agentverse -H 'content-type: application/json' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"message/send\",\"params\":{\"message\":{\"kind\":\"message\",\"role\":\"user\",\"messageId\":\"m1\",\"parts\":[{\"kind\":\"text\",\"text\":\"check https://huggingface.co/mcp\"}]}}}'",
      "mcp_first_call": "curl -s https://www.gaipagents.com/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{\"jsonrpc\":\"2.0\",\"id\":2,\"method\":\"tools/call\",\"params\":{\"name\":\"gaip_check\",\"arguments\":{\"url\":\"https://mcp.deepwiki.com/mcp\"}}}'",
      "mcp_tools_list": "curl -s https://www.gaipagents.com/mcp -H 'content-type: application/json' -H 'accept: application/json, text/event-stream' -d '{\"jsonrpc\":\"2.0\",\"id\":1,\"method\":\"tools/list\",\"params\":{}}'",
      "rest_first_call": "curl -s 'https://www.gaipagents.com/v1/free/observatory/lookup?url=https://huggingface.co/mcp'"
    },
    "install_links": {
      "cursor": "cursor://anysphere.cursor-deeplink/mcp/install?name=gaip&config=eyJ1cmwiOiJodHRwczovL3d3dy5nYWlwYWdlbnRzLmNvbS9tY3AifQ==",
      "cursor_web": "https://cursor.com/en/install-mcp?name=gaip&config=eyJ1cmwiOiJodHRwczovL3d3dy5nYWlwYWdlbnRzLmNvbS9tY3AifQ%3D%3D",
      "vscode": "vscode:mcp/install?%7B%22name%22%3A%22gaip%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.gaipagents.com%2Fmcp%22%7D",
      "vscode_insiders": "vscode-insiders:mcp/install?%7B%22name%22%3A%22gaip%22%2C%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.gaipagents.com%2Fmcp%22%7D",
      "vscode_web": "https://insiders.vscode.dev/redirect/mcp/install?name=gaip&config=%7B%22type%22%3A%22http%22%2C%22url%22%3A%22https%3A%2F%2Fwww.gaipagents.com%2Fmcp%22%7D"
    },
    "mcp_url": "https://www.gaipagents.com/mcp",
    "notes": "Free, read-only, no account or key. The first call runs as-is against a public MCP server; then put the URL of the agent you want to check in \"url\".",
    "quickstart": "https://www.gaipagents.com/docs/quickstart",
    "schema_version": "gaip.client-config.v1",
    "server_name": "gaip",
    "transport": "streamable-http"
  },
  "endpoints": {
    "a2a_agent_card": "https://www.gaipagents.com/.well-known/agent-card.json",
    "a2a_router": "https://www.gaipagents.com/a2a/agentverse",
    "ai_catalog": "https://www.gaipagents.com/.well-known/ai-catalog.json",
    "changes_feed_atom": "https://www.gaipagents.com/v1/free/changes/feed.atom",
    "changes_feed_json": "https://www.gaipagents.com/v1/free/changes/feed.json",
    "changes_subscribe": "https://www.gaipagents.com/v1/free/changes/subscribe?url=",
    "changes_weekly": "https://www.gaipagents.com/changes",
    "changes_weekly_json": "https://www.gaipagents.com/v1/free/changes/weekly.json",
    "ecosystem_snapshots": "https://www.gaipagents.com/v1/free/ecosystem/snapshots",
    "llms_full_txt": "https://www.gaipagents.com/llms-full.txt",
    "llms_txt": "https://www.gaipagents.com/llms.txt",
    "mcp": "https://www.gaipagents.com/mcp",
    "mcp_all_tools": "https://www.gaipagents.com/mcp/all",
    "mcp_server_card": "https://www.gaipagents.com/mcp/server-card",
    "openapi": "https://www.gaipagents.com/openapi.json",
    "permission_check": "https://www.gaipagents.com/v1/free/permission?url=",
    "products": "https://www.gaipagents.com/v1/free/products",
    "record_extract": "https://www.gaipagents.com/v1/free/record-extract?url=",
    "sitemap": "https://www.gaipagents.com/sitemap.xml",
    "test_range": "https://www.gaipagents.com/test-range",
    "test_range_mcp": "https://www.gaipagents.com/test-range/mcp"
  },
  "example_calls": {
    "a2a_text": {
      "body": {
        "id": 1,
        "jsonrpc": "2.0",
        "method": "message/send",
        "params": {
          "message": {
            "kind": "message",
            "messageId": "m1",
            "parts": [
              {
                "kind": "text",
                "text": "check https://mcp.deepwiki.com/mcp"
              }
            ],
            "role": "user"
          }
        }
      },
      "url": "https://www.gaipagents.com/a2a/agentverse"
    },
    "mcp_check": {
      "body": {
        "id": 1,
        "jsonrpc": "2.0",
        "method": "tools/call",
        "params": {
          "arguments": {
            "url": "https://mcp.deepwiki.com/mcp"
          },
          "name": "gaip_check"
        }
      },
      "url": "https://www.gaipagents.com/mcp"
    },
    "mcp_diagnose": {
      "body": {
        "id": 2,
        "jsonrpc": "2.0",
        "method": "tools/call",
        "params": {
          "arguments": {
            "error": "MCP error -32602: Invalid arguments for tool search: missing required argument query"
          },
          "name": "gaip_diagnose"
        }
      },
      "url": "https://www.gaipagents.com/mcp"
    },
    "observatory_lookup": "https://www.gaipagents.com/v1/free/observatory/lookup?url=https://huggingface.co/mcp"
  },
  "first_call": {
    "arguments": {
      "url": "https://mcp.deepwiki.com/mcp"
    },
    "http": "GET https://www.gaipagents.com/v1/free/conformance/check?url=<url>",
    "mcp": "https://www.gaipagents.com/mcp",
    "tool": "gaip_check"
  },
  "folded_agents": [
    {
      "a2a": "https://www.gaipagents.com/a2a/art-intelligence",
      "id": "art-intelligence",
      "mcp": "https://www.gaipagents.com/mcp/agents/art-intelligence",
      "now_part_of": "unlisted"
    },
    {
      "a2a": "https://www.gaipagents.com/a2a/opportunity-broker",
      "id": "opportunity-broker",
      "mcp": "https://www.gaipagents.com/mcp/agents/opportunity-broker",
      "now_part_of": "unlisted"
    },
    {
      "a2a": "https://www.gaipagents.com/a2a/trust-assurance",
      "id": "trust-assurance",
      "mcp": "https://www.gaipagents.com/mcp/agents/trust-assurance",
      "now_part_of": "witness"
    },
    {
      "a2a": "https://www.gaipagents.com/a2a/buyer-assurance",
      "id": "buyer-assurance",
      "mcp": "https://www.gaipagents.com/mcp/agents/buyer-assurance",
      "now_part_of": "witness"
    },
    {
      "a2a": "https://www.gaipagents.com/a2a/procurement-verify",
      "id": "procurement-verify",
      "mcp": "https://www.gaipagents.com/mcp/agents/procurement-verify",
      "now_part_of": "witness"
    },
    {
      "a2a": "https://www.gaipagents.com/a2a/integration-repair",
      "id": "integration-repair",
      "mcp": "https://www.gaipagents.com/mcp/agents/integration-repair",
      "now_part_of": "integration-protocol"
    },
    {
      "a2a": "https://www.gaipagents.com/a2a/supplier-watch",
      "id": "supplier-watch",
      "mcp": "https://www.gaipagents.com/mcp/agents/supplier-watch",
      "now_part_of": "integration-protocol"
    },
    {
      "a2a": "https://www.gaipagents.com/a2a/outcome-value",
      "id": "outcome-value",
      "mcp": "https://www.gaipagents.com/mcp/agents/outcome-value",
      "now_part_of": "witness"
    }
  ],
  "front_door_tools": [
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": true,
        "readOnlyHint": true
      },
      "example_arguments": {
        "url": "https://www.gaipagents.com/.well-known/agent-card.json"
      },
      "name": "gaip_check",
      "title": "Check an AI agent, MCP server or API",
      "use_when": "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)?"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false
      },
      "example_arguments": {
        "url": "https://www.gaipagents.com/mcp"
      },
      "name": "gaip_watch",
      "title": "Watch an agent or MCP server for changes",
      "use_when": "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)."
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true
      },
      "example_arguments": {
        "error": "HTTP 429 Too Many Requests; Retry-After: 20",
        "http_status": 429
      },
      "name": "gaip_diagnose",
      "title": "Why did my agent or API call fail?",
      "use_when": "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."
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": false
      },
      "example_arguments": {
        "citations": [
          {
            "quote": "GAIP",
            "url": "https://www.gaipagents.com/"
          }
        ]
      },
      "name": "gaip_verify",
      "title": "Verify a delivery or citations",
      "use_when": "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."
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": true,
        "readOnlyHint": true
      },
      "example_arguments": {
        "claim": "24 GBP, in stock",
        "url": "https://www.gaipagents.com/test-range/shop/products/demo-mug"
      },
      "name": "second_look_check",
      "title": "Second Look: check before you buy",
      "use_when": "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."
    }
  ],
  "full_name": "GAIP",
  "lead": "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.",
  "lead_then": "A call failed? Paste the error into gaip_diagnose for the cause, retry timing and the exact fix.",
  "legal": {
    "corrections": "https://www.gaipagents.com/corrections",
    "methodology": "https://www.gaipagents.com/methodology",
    "privacyPolicy": "https://www.gaipagents.com/privacy",
    "status": "DRAFT_PENDING_LEGAL_REVIEW",
    "termsOfService": "https://www.gaipagents.com/terms"
  },
  "logo": {
    "mimeType": "image/svg+xml",
    "url": "https://www.gaipagents.com/erc8004/images/gaip.svg"
  },
  "long_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. Start with gaip_check: give it the URL of an AI agent, MCP server or API and it says whether it works, whether its declaration is valid and what changed, with a receipt. A call failed? gaip_diagnose gives the cause and the fix. Everything else GAIP answers, grouped by who asks, is on the map: https://www.gaipagents.com/v1/free/map. Every completed answer carries a continuity handle; send it back and the answer is bound to your own history with GAIP. Every answer states what was observed and when; it is not a certification, endorsement, ranking or universal score, and not legal, financial or insurance advice. Calls are free and need no account or key; public or non-personal data only.",
  "map": "https://www.gaipagents.com/v1/free/map",
  "name": "GAIP",
  "one_liner": "GAIP keeps an independent, dated record of what AI agents, MCP servers and online shops publish.",
  "products": [
    {
      "id": "check",
      "name": "Check and GAIP Watch",
      "one_line": "A one-line verdict, the fixes, dated history where GAIP observes it, and a receipt; GAIP Watch follows it for changes.",
      "question": "Does this agent, server or API work, and has it changed?",
      "routes": [
        "GET /v1/free/conformance/check?url=",
        "GET /v1/free/changes/feed.json?url="
      ],
      "tools": [
        "gaip_check",
        "gaip_watch"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "any"
    },
    {
      "id": "diagnose",
      "name": "Diagnose",
      "one_line": "The cause, when to retry and the exact fix, from the error text and HTTP status you paste.",
      "question": "A call failed; what went wrong?",
      "routes": [
        "POST /v1/free/commercial/repair"
      ],
      "tools": [
        "gaip_diagnose"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "any"
    },
    {
      "id": "delivery",
      "name": "Witness",
      "one_line": "Witness tests a service's response against the terms you registered, or cited pages against the quoted text, with a receipt for each.",
      "question": "Was this delivery or quotation what was promised?",
      "routes": [
        "POST /v1/free/witness/terms",
        "POST /v1/free/witness/deliver"
      ],
      "tools": [
        "gaip_verify",
        "witness_register_terms",
        "witness_delivery"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "company_agent"
    },
    {
      "id": "record-by-date",
      "name": "The record by date",
      "one_line": "Its robots.txt permissions for a named AI agent, its signing keys and its x402 prices in the week of that date; since when GAIP has recorded an endpoint or a registry name, and which earlier names look like it.",
      "question": "What did a site allow, publish, key or charge on a date?",
      "routes": [
        "GET /v1/free/record/permissions?host=&agent=&on=",
        "GET /v1/free/record/prices?host=&on=",
        "GET /v1/free/record/keys?host=&on=",
        "GET /v1/free/record/names?name=",
        "GET /v1/free/record/tenure?url=",
        "GET /v1/free/record-extract?url=",
        "GET /v1/free/permission?url=&agent="
      ],
      "tools": [
        "gaip_record_permissions",
        "gaip_record_prices",
        "gaip_record_keys",
        "gaip_record_names",
        "gaip_record_tenure",
        "gaip_record_extract",
        "gaip_check_permission"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "company_agent"
    },
    {
      "id": "notices",
      "name": "Notices",
      "one_line": "Registry status flips, an operator's own withdrawal, package advisories, each with the issuer named and the operator's reply.",
      "question": "Has anyone withdrawn it or warned about it?",
      "routes": [
        "GET /v1/free/notices?urls=",
        "GET /v1/free/watch/check?urls="
      ],
      "tools": [
        "gaip_notices",
        "gaip_dependency_check"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "company_agent"
    },
    {
      "id": "preferences",
      "name": "Preferences",
      "one_line": "Before an agent approaches a person it checks their published rules and keeps a receipt.",
      "question": "May I contact this person's agent?",
      "routes": [
        "GET /v1/free/preferences/check?subject=&approach=&channel="
      ],
      "tools": [
        "gaip_check_preferences"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "company_agent"
    },
    {
      "id": "deals",
      "name": "Deals",
      "one_line": "Both trading agents name GAIP as witness; either party asks for the signed finding on the agreed rule, over GAIP's own delivery records. Evidence, never a sum of money.",
      "question": "Was this business deal kept?",
      "routes": [
        "POST /v1/free/witness/accept",
        "POST /v1/free/witness/finding"
      ],
      "tools": [
        "witness_accept_terms",
        "witness_finding"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "company_agent"
    },
    {
      "id": "screen",
      "name": "The caller screen",
      "one_line": "When an agent approaches yours, the caller screen shows how long it has been on record and whether it checked first. Facts, never a score; GAIP cannot block a call.",
      "question": "Who is calling me, and should I pick up?",
      "routes": [
        "GET /v1/free/preferences/screen?caller=&approach="
      ],
      "tools": [
        "gaip_screen_caller"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "person_agent"
    },
    {
      "id": "second-look",
      "name": "Second Look",
      "one_line": "Second Look reads the shop's own page now and records what it showed beside what the claim said, with a signed, dated receipt. No affiliate links.",
      "question": "Does the shop's own page show the price and stock an AI quoted?",
      "routes": [
        "POST /v1/free/second-look"
      ],
      "tools": [
        "second_look_check"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "person_agent"
    },
    {
      "id": "mandates",
      "name": "Mandates",
      "one_line": "Whether a person's published mandate for an agent was in force, withdrawn or expired as GAIP indexed it, with a receipt.",
      "question": "Was this agent authorised to act for them?",
      "routes": [
        "GET /v1/free/mandates/check?principal=&agent=&scope="
      ],
      "tools": [
        "gaip_check_mandate"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "person_agent"
    },
    {
      "id": "signoffs",
      "name": "Sign-offs",
      "one_line": "A role records its decision on an agent's proposal, chained and signed; GAIP never takes the decision.",
      "question": "Who signed off on this decision, and when?",
      "routes": [
        "POST /v1/free/witness/signoff"
      ],
      "tools": [
        "witness_signoff"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "person_agent"
    },
    {
      "id": "ingredients-residence",
      "name": "Ingredients and Residence",
      "one_line": "As recorded on a date: what its documents say it runs on, and where it answered from (network and country, never the address).",
      "question": "What is this agent made of, and where does it live?",
      "routes": [
        "GET /v1/free/record/ingredients?url=&on=",
        "GET /v1/free/record/residence?url=&on="
      ],
      "tools": [
        "gaip_record_ingredients",
        "gaip_record_residence"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "any"
    },
    {
      "id": "statements",
      "name": "Statements",
      "one_line": "A signed monthly record of what GAIP recorded for the agents bound to your continuity handle, with every line's receipt; served only to that handle.",
      "question": "What did my agents do this month?",
      "routes": [
        "GET /v1/statements/YYYY-MM (X-GAIP-Continuity header)"
      ],
      "tools": [
        "gaip_statement"
      ],
      "url": "https://www.gaipagents.com/v1/free/map",
      "who": "any"
    }
  ],
  "quickstart": "https://www.gaipagents.com/docs/quickstart",
  "registries": {
    "directories": [
      {
        "directory": "Glama",
        "url": "https://glama.ai/mcp/connectors/io.github.tjcgraham-rgb/gaip-broker"
      },
      {
        "directory": "Smithery",
        "url": "https://smithery.ai/server/tjcgraham/gaip-agents"
      }
    ],
    "official_mcp_registry": {
      "folded_specialists": [
        "io.github.tjcgraham-rgb/gaip-art-intelligence",
        "io.github.tjcgraham-rgb/gaip-opportunity-broker",
        "io.github.tjcgraham-rgb/gaip-trust-assurance",
        "io.github.tjcgraham-rgb/gaip-buyer-assurance",
        "io.github.tjcgraham-rgb/gaip-procurement-verify",
        "io.github.tjcgraham-rgb/gaip-integration-repair",
        "io.github.tjcgraham-rgb/gaip-supplier-watch",
        "io.github.tjcgraham-rgb/gaip-outcome-value"
      ],
      "platform": "io.github.tjcgraham-rgb/gaip-broker",
      "search": "https://registry.modelcontextprotocol.io/v0/servers?search=io.github.tjcgraham-rgb/gaip",
      "specialists": [
        "io.github.tjcgraham-rgb/gaip-integration-protocol",
        "io.github.tjcgraham-rgb/gaip-witness",
        "io.github.tjcgraham-rgb/gaip-listing-observer"
      ]
    }
  },
  "schema_version": "gaip.listing-kit.v1",
  "short_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.",
  "tags": [
    "mcp",
    "a2a",
    "openapi",
    "agent-card",
    "conformance",
    "monitoring",
    "watch-list",
    "change-log",
    "receipts",
    "evidence",
    "citations",
    "supplier-reliability",
    "interoperability",
    "read-only",
    "free"
  ],
  "website": "https://www.gaipagents.com",
  "wording_rules": [
    "Describe GAIP as read-only evidence about what was observed at a stated time.",
    "Do not describe GAIP or any agent it checks as certified, endorsed, ranked or scored.",
    "Do not state prices, customers, users or adoption figures.",
    "Link the terms, privacy, corrections and methodology pages (drafts pending legal review)."
  ]
}