GAIPGoverned Agentic Intelligence Platform

Quickstart

Connect GAIP and make one call.

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.

MCP: https://www.gaipagents.com/mcp · STREAMABLE HTTP · NO ACCOUNT OR KEY · FREE · READ-ONLY

1. First call: gaip_check

This checks a public MCP server and runs as-is. Then put your own agent's URL in url.

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"}}}'

A call failed? Paste the error into gaip_diagnose for the cause, retry timing and the exact fix.

2. Connect your client

Claude Desktop and claude.ai

Customize > Connectors > Add custom connector (older versions: Settings > Connectors), enter the MCP URL and choose no sign-in.

https://www.gaipagents.com/mcp

Format: client documentation.

Claude Code

claude mcp add --transport http gaip https://www.gaipagents.com/mcp

Or in the project's .mcp.json:

{
  "mcpServers": {
    "gaip": {
      "type": "http",
      "url": "https://www.gaipagents.com/mcp"
    }
  }
}

Format: client documentation.

Gemini CLI

gemini extensions install https://github.com/tjcgraham-rgb/gaip-agents

Or in ~/.gemini/settings.json:

{
  "mcpServers": {
    "gaip": {
      "httpUrl": "https://www.gaipagents.com/mcp"
    }
  }
}

Format: client documentation.

Windsurf · ~/.codeium/windsurf/mcp_config.json

{
  "mcpServers": {
    "gaip": {
      "serverUrl": "https://www.gaipagents.com/mcp"
    }
  }
}

Format: client documentation.

Cline · cline_mcp_settings.json

{
  "mcpServers": {
    "gaip": {
      "type": "streamableHttp",
      "url": "https://www.gaipagents.com/mcp"
    }
  }
}

Format: client documentation.

ChatGPT (developer mode connector)

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).

https://www.gaipagents.com/mcp

Format: client documentation.

OpenAI Agents SDK (Python)

pip install openai-agents

Hosted MCP: OpenAI calls GAIP for the model (GAIP's tools are read-only):

from agents import Agent, HostedMCPTool, Runner

agent = Agent(name="Assistant", tools=[HostedMCPTool(tool_config={
    "type": "mcp", "server_label": 'gaip', "server_url": 'https://www.gaipagents.com/mcp', "require_approval": "never"})])
print(Runner.run_sync(agent, "Check https://mcp.deepwiki.com/mcp with gaip_check.").final_output)

Or run the MCP client in your own process:

import asyncio
from agents import Agent, Runner
from agents.mcp import MCPServerStreamableHttp


async def main():
    async with MCPServerStreamableHttp(name='gaip', params={"url": 'https://www.gaipagents.com/mcp'}) as server:
        agent = Agent(name="Assistant", instructions="Use the GAIP tools to check agents.",
                      mcp_servers=[server])
        result = await Runner.run(agent, "Check https://mcp.deepwiki.com/mcp with gaip_check.")
        print(result.final_output)


asyncio.run(main())

The agent's model needs your own OpenAI API key; GAIP needs none.

Format: client documentation.

Vercel AI SDK (TypeScript)

npm install @ai-sdk/mcp
import { createMCPClient } from '@ai-sdk/mcp';

const gaip = await createMCPClient({ transport: { type: 'http', url: 'https://www.gaipagents.com/mcp' } });
const tools = await gaip.tools();   // pass to generateText or streamText; then await gaip.close()

Format: client documentation.

LangChain (Python): langchain-gaip

pip install langchain-gaip
from langchain_gaip import get_tools

tools = get_tools()   # pass them to any LangChain or LangGraph agent
print(tools[0].invoke({"url": 'https://mcp.deepwiki.com/mcp'}))

Format: client documentation.

LangChain (Python): any MCP server

pip install langchain-mcp-adapters
import asyncio
from langchain_mcp_adapters.client import MultiServerMCPClient


async def main():
    client = MultiServerMCPClient({'gaip': {"transport": "http", "url": 'https://www.gaipagents.com/mcp'}})
    tools = await client.get_tools()
    print([tool.name for tool in tools])


asyncio.run(main())

Format: client documentation.

CrewAI (Python)

pip install crewai mcp
from crewai import Agent

agent = Agent(role="Integration checker", goal="Check agents and MCP servers before relying on them",
              backstory="Uses GAIP's dated record",
              mcps=['https://www.gaipagents.com/mcp'])

To give the agent one tool only, end the URL with #gaip_check.

Format: client documentation.

A2A (any A2A 0.3 or 1.0 client)

Point the client at GAIP's agent card; plain text works:

https://www.gaipagents.com/.well-known/agent-card.json
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"}]}}}'

Format: client documentation.

x402

Nothing to set up. GAIP is free: it never answers with HTTP 402 and publishes no payment address, so it is not in the x402 Bazaar, a catalogue of payment-gated services. /.well-known/x402 says so for x402 clients. To see what an x402 seller charged on a date, call gaip_record_prices.

Format: client documentation.

Each client lists five tools: gaip_check, gaip_watch, gaip_diagnose, gaip_verify and second_look_check. Ask it, for example, “Check https://mcp.deepwiki.com/mcp with GAIP”.

The data record

3. Before you connect: has it changed?

GAIP keeps a dated, hash-chained record of what public MCP servers and A2A agents declared. Two free tools use it. Has this MCP server changed since? Ask before your agent connects: GAIP says when it began recording the server, what changed since your date, and whether your tool list matches what it last saw (/v1/free/observatory/changed-since, MCP tool gaip_tools_changed_since; it sends nothing to the server).

curl "https://www.gaipagents.com/v1/free/observatory/changed-since?url=https://huggingface.co/mcp&since=2026-10-01"

Save this agent now. GAIP reads what a public MCP server or agent card declares, keeps a dated, hashed record of it, and from then on revisits it about once a day (POST /v1/free/observatory/capture, MCP tool gaip_observatory_capture).

curl -X POST https://www.gaipagents.com/v1/free/observatory/capture -H 'Content-Type: application/json' -d '{"url":"https://mcp.deepwiki.com/mcp"}'

Facts at a stated time, not an assessment of any party. What GAIP records and for how long · Daily anchors · Corrections and opt-out

4. Permissions, record extracts and a test range

May my agent fetch this? gaip_check_permission (on the integration-protocol agent; or gaip_check with agent) reads a site's robots.txt, Content-Signal and AI-preference lines, RSL licence links, tdmrep.json and llms.txt once and answers ALLOWED, DISALLOWED, NO_RULE or UNKNOWN for your agent's user-agent token, with the rule quoted, the time and a signature. A reading of the site's published files at the stated time; not legal advice or a licence. Try it: {"url":"https://www.gaipagents.com/test-range","agent":"GPTBot"}

An extract of GAIP's record. gaip_record_extract (on Witness) returns what GAIP recorded about an agent card, MCP endpoint or shop page, each entry with its chain position, hash and covering daily anchor, signed. Free preview; it shows what GAIP recorded and when, not that it is true. Example.

Test range. /test-range is synthetic: a demo shop page whose sources disagree and an MCP server that fails on request, to try GAIP's tools against. It is never counted as use.

For developers and agents

One endpoint, one first call.

Connect /mcp (no account or key) and call gaip_check with a url; the first call above checks a public MCP server (https://mcp.deepwiki.com/mcp) and runs as-is. /mcp lists five tools: gaip_check, gaip_diagnose, gaip_watch, gaip_verify and second_look_check; every tool on the map is on /mcp/all. A call failed? Paste the error into gaip_diagnose for the cause, retry timing and the exact fix.

MCP endpoint · llms.txt · Clients and quickstart · GitHub Actions and clients · OpenAPI · For agents · Agent card · What the record holds

Connect a client

Try it in 30 seconds

MCP endpoint: https://www.gaipagents.com/mcp (streamable HTTP, no account or key). A2A endpoint: https://www.gaipagents.com/a2a/agentverse · A2A Agent Card.

First call: gaip_check

Paste this into a terminal. It checks a public MCP server and runs as-is; then put your own agent's URL in url.

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"}}}'

Claude Code

claude mcp add --transport http gaip https://www.gaipagents.com/mcp

Claude Desktop: Customize > Connectors > Add custom connector (older versions: Settings > Connectors), enter the MCP URL and choose no sign-in.

Cursor · .cursor/mcp.json

{
  "mcpServers": {
    "gaip": {
      "url": "https://www.gaipagents.com/mcp"
    }
  }
}

Add to Cursor

VS Code · .vscode/mcp.json

{
  "servers": {
    "gaip": {
      "type": "http",
      "url": "https://www.gaipagents.com/mcp"
    }
  }
}

Install in VS Code

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"}]}}}'

Plain HTTPS

curl -s 'https://www.gaipagents.com/v1/free/observatory/lookup?url=https://huggingface.co/mcp'

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". ChatGPT, the OpenAI Agents SDK, LangChain and more: client quickstart. Machine-readable: listing kit (client_config).

More

For agents · llms.txt · Listing kit · The map (JSON) · Products (JSON) · Automated clients · Changelog · Terms (draft)

Results are read-only evidence about what was observed at a stated time; not certification or advice. Send public, non-personal data only.