Server definition
- Hash
- sha256:c6fde538ed40caaeaea117ce7fdff94ea3677210eaeff77f7d617b09e35103c4
- What it is
- What a remote MCP server returned when asked what it offers: 4 tools
The blob, as servednamed by its sha256
{
"instructions": "Four tools. A call failed? gaip_diagnose: paste the error (and http_status) to get the cause, when to retry and the exact fix. Does an agent, MCP server or API work, or has it changed? gaip_check with its url. gaip_watch follows a url for changes; gaip_verify checks a delivery or cited quotes. Results are short; add verbose: true for every field. Other tools stay callable by name: gaip_quickstart shows examples, https://www.gaipagents.com/mcp/all lists them all, prompts/list and resources/list offer ready-made requests and guides. Free, no key; send public, non-personal data only; results are facts at a stated time, not certification or advice.",
"tools": [
{
"description": "Use this when asked whether an AI agent, MCP server or API works, is valid or has changed. Pass its `url` (agent card, MCP endpoint or OpenAPI document). Returns a one-line verdict, the fixes, dated history when GAIP observes it, and a receipt. With `agent`: may your bot fetch it? Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"url": "https://www.gaipagents.com/.well-known/agent-card.json"
}
],
"properties": {
"agent": {
"description": "Optional: ask \"may my agent fetch this url?\" instead. Your agent's user-agent token, e.g. GPTBot; GAIP reads the site's robots.txt and AI-permission files (gaip_check_permission).",
"maxLength": 300,
"type": "string"
},
"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; an MCP endpoint gets a read-only handshake (initialize, tools/list).",
"format": "uri",
"maxLength": 2048,
"type": "string"
},
"verbose": {
"default": false,
"description": "Optional: true returns the full result with every underlying field. Default: a short answer.",
"type": "boolean"
}
},
"required": [
"url"
],
"type": "object"
},
"name": "gaip_check",
"outputSchema": null
},
{
"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), retry_after_seconds and a receipt. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"error": "HTTP 429 Too Many Requests; Retry-After: 20",
"http_status": 429
}
],
"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"
},
"verbose": {
"default": false,
"description": "Optional: true returns the full result with every underlying field. Default: a short answer.",
"type": "boolean"
}
},
"type": "object"
},
"name": "gaip_diagnose",
"outputSchema": null
},
{
"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); `claims` are compared with `observations` you supply. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"citations": [
{
"quote": "GAIP",
"url": "https://www.gaipagents.com/"
}
]
}
],
"properties": {
"checks": {
"description": "Optional (delivery): what a good response is, e.g. [{\"id\": \"http_status_in\", \"allowed\": [200]}, {\"id\": \"json_parses\"}]. Default: HTTP 200 and a non-empty body.",
"examples": [
[
{
"allowed": [
200
],
"id": "http_status_in"
},
{
"id": "content_type_is",
"value": "application/json"
},
{
"id": "non_empty"
},
{
"id": "json_parses"
}
],
[
{
"allowed": [
200
],
"id": "http_status_in"
},
{
"id": "json_required_keys",
"keys": [
"status"
]
},
{
"id": "json_path_equals",
"path": "status",
"value": "ok"
},
{
"id": "max_latency_ms",
"limit": 2000
}
]
],
"items": {
"additionalProperties": false,
"properties": {
"allowed": {
"description": "http_status_in: the acceptable HTTP statuses, e.g. [200].",
"items": {
"maximum": 599,
"minimum": 100,
"type": "integer"
},
"maxItems": 10,
"minItems": 1,
"type": "array"
},
"id": {
"description": "http_status_in (allowed), content_type_is (value), non_empty, json_parses, json_required_keys (keys), json_path_equals (path, value), max_latency_ms (limit), max_bytes (limit), text_contains (value), regex (pattern).",
"enum": [
"http_status_in",
"content_type_is",
"non_empty",
"json_parses",
"json_required_keys",
"json_path_equals",
"max_latency_ms",
"max_bytes",
"text_contains",
"regex"
],
"type": "string"
},
"keys": {
"description": "json_required_keys: top-level or dotted keys that must exist, e.g. [\"a.b\"].",
"items": {
"maxLength": 200,
"type": "string"
},
"maxItems": 20,
"minItems": 1,
"type": "array"
},
"limit": {
"description": "max_latency_ms: milliseconds (1-60000); max_bytes: body bytes (1-32768).",
"maximum": 60000,
"minimum": 1,
"type": "integer"
},
"path": {
"description": "json_path_equals: dotted path, list items by index, e.g. items.0.id.",
"maxLength": 200,
"type": "string"
},
"pattern": {
"description": "regex: bounded pattern searched in the body; no nested quantifiers.",
"maxLength": 200,
"type": "string"
},
"value": {
"description": "content_type_is: media type, e.g. application/json; text_contains: case-sensitive text; json_path_equals: the expected value (GAIP also accepts a number, boolean, null, array or object).",
"maxLength": 200,
"type": "string"
}
},
"required": [
"id"
],
"type": "object"
},
"maxItems": 8,
"minItems": 1,
"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 record about `url`: each a sentence or {id, text}. Each is compared with the `observations` you supply; without them it stays UNTESTED.",
"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"
},
"verbose": {
"default": false,
"description": "Optional: true returns the full result with every underlying field. Default: a short answer.",
"type": "boolean"
}
},
"type": "object"
},
"name": "gaip_verify",
"outputSchema": null
},
{
"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` 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.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"url": "https://www.gaipagents.com/mcp"
}
],
"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"
},
"verbose": {
"default": false,
"description": "Optional: true returns the full result with every underlying field. Default: a short answer.",
"type": "boolean"
},
"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"
],
"type": "object"
},
"name": "gaip_watch",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:c6fde538ed40caaeaea117ce7fdff94ea3677210eaeff77f7d617b09e35103c4 | sha256sum