GAIP — evidence on AI agents before and after you call them

Agent Observatory, supplier reliability, delivery assurance and evidence receipts for AI agents.

Should I use this

Quality & Safety

A
Description quality
100%
Schema completeness
95%
Naming quality
80%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~1,574Tokens (tool definitions)
~3.4 KBTypical response size
Moderate attention impact (1.23% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "gaip-broker": {
      "url": "https://gaip-agent-to-art-prototype-production.up.railway.app/mcp"
    }
  }
}

Remote endpoints

https://gaip-agent-to-art-prototype-production.up.railway.app/mcpstreamable-http
https://www.gaipagents.com/mcpstreamable-http

What it can do

Tool inventory

Tools (4)

🟢 Read-only🟡 Write🔴 Delete⚪ Unknown
🟢gaip_check(continuity_handle, intended_task, url)

Use this when asked whether an AI agent, MCP server or API works, is reachable, is valid or has changed. Pass its `url`. Returns a one-line verdict (READY, FIXES_NEEDED, NO_AGENT_CARD or UNREACHABLE), fixes, dated history when GAIP observes it, and a receipt. Free, read-only, no account; inputs must be public and non-personal.

Input Schema

{
  "type": "object",
  "properties": {
    "continuity_handle": {
      "additionalProperties": false,
      "description": "Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones (needed to see or remove your watches later).",
      "properties": {
        "continuity_id": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "required": [
        "continuity_id",
        "token"
      ],
      "type": "object"
    },
    "intended_task": {
      "description": "Optional: what you plan to hand it, e.g. 'weather forecast for London'. Adds task-specific evidence.",
      "maxLength": 500,
      "type": "string"
    },
    "url": {
      "description": "Public https link to the agent, its A2A agent card, MCP server endpoint or OpenAPI document. GAIP fetches, validates and reach-tests it.",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "url": "https://www.gaipagents.com/.well-known/agent-card.json"
    }
  ]
}
🟡gaip_watch(continuity_handle, url, webhook_url)

Use this when asked to keep an eye on an agent or MCP server, or to be alerted when it changes. Pass its `url` for no-account feed links and its latest dated changes; add `webhook_url` to register 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.

Input Schema

{
  "type": "object",
  "properties": {
    "continuity_handle": {
      "additionalProperties": false,
      "description": "Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones (needed to see or remove your watches later).",
      "properties": {
        "continuity_id": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "required": [
        "continuity_id",
        "token"
      ],
      "type": "object"
    },
    "url": {
      "description": "Public https URL of the MCP server endpoint or agent (card) to follow. No query string.",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    },
    "webhook_url": {
      "description": "Optional: your own public https endpoint. GAIP then registers a watch and POSTs a signed event when the result changes.",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    }
  },
  "required": [
    "url"
  ],
  "additionalProperties": false,
  "examples": [
    {
      "url": "https://www.gaipagents.com/mcp"
    }
  ]
}
🟡gaip_diagnose(continuity_handle, error, http_status, url)

Use this when an agent, MCP or API call failed and you are asked why or how to fix it. Pass the `error` text and/or `http_status`; add the service `url` to see changes GAIP observed around then. Returns the likely cause, when to retry, fix steps and a receipt. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.

Input Schema

{
  "type": "object",
  "properties": {
    "continuity_handle": {
      "additionalProperties": false,
      "description": "Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones (needed to see or remove your watches later).",
      "properties": {
        "continuity_id": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "required": [
        "continuity_id",
        "token"
      ],
      "type": "object"
    },
    "error": {
      "description": "The error you got, as text: HTTP status line, JSON-RPC/A2A/MCP error or message. Give this and/or http_status.",
      "maxLength": 4000,
      "type": "string"
    },
    "http_status": {
      "description": "Optional: the HTTP status code you got, e.g. 429.",
      "maximum": 599,
      "minimum": 100,
      "type": "integer"
    },
    "url": {
      "description": "Optional: public https URL of the agent, MCP server or API that failed.",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "error": "HTTP 429 Too Many Requests; Retry-After: 20",
      "http_status": 429
    }
  ]
}
🟢gaip_verify(checks, citations, claims, continuity_handle, metadata, ...)

Use this when asked whether something delivered what was promised, whether claims are true, or whether citations are accurate. Pass `citations`, or `claims` (+ `url`), or a service `url` plus the `result` you got. Returns which check ran and each result. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.

Input Schema

{
  "type": "object",
  "properties": {
    "checks": {
      "description": "Optional (delivery): what a good response is: http_status_in {allowed}, content_type_is {value}, non_empty, json_parses. Default: HTTP 200, non-empty.",
      "items": {
        "type": "object"
      },
      "maxItems": 10,
      "type": "array"
    },
    "citations": {
      "description": "Citations to check: each {url, quote?} or just a URL. GAIP fetches each page once (robots.txt respected) and looks for the quote.",
      "items": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "object"
          }
        ]
      },
      "maxItems": 20,
      "minItems": 1,
      "type": "array"
    },
    "claims": {
      "description": "Claims to compare with observations: each a sentence or {id, text}.",
      "items": {
        "oneOf": [
          {
            "type": "string"
          },
          {
            "type": "object"
          }
        ]
      },
      "maxItems": 20,
      "minItems": 1,
      "type": "array"
    },
    "continuity_handle": {
      "additionalProperties": false,
      "description": "Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones (needed to see or remove your watches later).",
      "properties": {
        "continuity_id": {
          "type": "string"
        },
        "token": {
          "type": "string"
        }
      },
      "required": [
        "continuity_id",
        "token"
      ],
      "type": "object"
    },
    "metadata": {
      "description": "Optional (claims): the published agent card, MCP or OpenAPI document.",
      "type": "object"
    },
    "observations": {
      "description": "Optional (claims): what you saw, each {claim_id, result: PASS|FAIL, detail}.",
      "items": {
        "type": "object"
      },
      "maxItems": 30,
      "type": "array"
    },
    "result": {
      "description": "Optional (delivery): the response you received. Omitted: GAIP fetches the service URL now (public replay).",
      "properties": {
        "body": {
          "maxLength": 32768,
          "type": "string"
        },
        "body_sha256": {
          "type": "string"
        },
        "content_type": {
          "type": "string"
        },
        "http_status": {
          "type": "integer"
        }
      },
      "type": "object"
    },
    "terms_id": {
      "description": "Optional (delivery): terms_id from an earlier registration, instead of url.",
      "type": "string"
    },
    "url": {
      "description": "Claims: the agent or supplier they are about. Delivery: the public https service URL that should deliver.",
      "format": "uri",
      "maxLength": 2048,
      "type": "string"
    }
  },
  "additionalProperties": false,
  "examples": [
    {
      "citations": [
        {
          "quote": "GAIP",
          "url": "https://www.gaipagents.com/"
        }
      ]
    }
  ]
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded4 tools
verifiedversion not recorded7 tools
verifiedversion not recorded7 tools
verifiedversion not recorded8 tools