Endpoints: 28,729MCP servers: 18,413Payout addresses: 2,071Paid calls: 1,552Letters: 14Defects: 1,323counted 2 min ago
teppi

Server definition

Hash
sha256:232d69418f6671f95f93263b5f6f042069b62e81b4a732c7dd4a8809580274c2
What it is
What a remote MCP server returned when asked what it offers: 6 tools

The blob, as servednamed by its sha256

{ "instructions": "GAIP Supplier Watch Agent: Compares public supplier snapshots and reports material change; GAIP's scheduled bounded cohort is monitored separately. Tools here: gaip_compare_supplier_snapshots, gaip_watch_register, gaip_watch_list, gaip_watch_remove, gaip_watch_events, gaip_supplier_reliability; start with gaip_compare_supplier_snapshots (tools/list carries a ready-to-run example for each). Public/non-personal, zero-price, read-only; data_classification defaults to PUBLIC; results are durably receipted. For all GAIP tools and a no-input gaip_quickstart, use https://www.gaipagents.com/mcp.", "tools": [ { "description": "Use this when asked what changed between two versions of an agent card, MCP server description or OpenAPI document (\"did this API break?\"). Pass `prior` and `current`. Returns each change as BREAKING / NON_BREAKING / INFO with migration notes and a receipt. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.", "inputSchema": { "additionalProperties": true, "examples": [ { "counterparty_id": "example-weather-agent", "current": { "capabilities": { "streaming": true }, "name": "Weather Agent", "protocolVersion": "0.3.0", "security": [ { "bearer": [] } ], "securitySchemes": { "bearer": { "scheme": "bearer", "type": "http" } }, "skills": [ { "id": "forecast", "name": "Forecast" } ], "url": "https://weather.example.com/v2/a2a", "version": "2.0.0" }, "prior": { "capabilities": { "streaming": true }, "name": "Weather Agent", "protocolVersion": "0.3.0", "skills": [ { "id": "forecast", "name": "Forecast" }, { "id": "alerts", "name": "Severe weather alerts" } ], "url": "https://weather.example.com/a2a", "version": "1.4.0" } } ], "properties": { "continuity_handle": { "additionalProperties": false, "description": "Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones.", "properties": { "continuity_id": { "type": "string" }, "token": { "type": "string" } }, "required": [ "continuity_id", "token" ], "type": "object" }, "counterparty_id": { "description": "Name or URL of the agent/service. Optional.", "type": "string" }, "current": { "description": "The later version, same kind as `prior`.", "type": "object" }, "data_classification": { "default": "PUBLIC", "description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.", "enum": [ "PUBLIC", "NON_PERSONAL_PUBLIC" ], "type": "string" }, "episode_id": { "description": "Optional: your own id to group related calls.", "type": "string" }, "independent_operator_id": { "description": "Optional: your operator id (recorded as a claim, not verified).", "type": "string" }, "prior": { "description": "The earlier version: agent card, MCP server description, OpenAPI document or snapshot.", "type": "object" }, "protocol": { "description": "Counterparty protocol. Inferred from metadata when omitted, otherwise MCP.", "enum": [ "A2A", "MCP", "OPENAPI" ], "type": "string" }, "synthetic": { "description": "Optional: true marks a test call.", "type": "boolean" }, "task_class": { "default": "supplier_snapshot_comparison", "description": "Optional: short name of the task, e.g. weather_forecast.", "type": "string" } }, "required": [ "prior", "current" ], "type": "object" }, "name": "gaip_compare_supplier_snapshots", "outputSchema": null }, { "description": "Use this when a supplier agent or API you depend on started failing (\"did something change on their side?\"). Pass its `supplier_url` and the `failure`. Returns the diagnosis plus changes GAIP observed around then (correlated in time, not causation), with receipts. Free, read-only, no account; inputs must be public and non-personal.", "inputSchema": { "additionalProperties": true, "examples": [ { "failure": { "code": 404, "detail": "Not Found" }, "failure_started_at": "2026-09-27T12:00:00Z", "supplier_url": "https://weather.example.com/.well-known/agent-card.json" } ], "properties": { "card": { "description": "Optional supplier card / server description you integrated against.", "type": "object" }, "counterparty_id": { "description": "Optional: name of the supplier.", "type": "string" }, "data_classification": { "default": "PUBLIC", "description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.", "enum": [ "PUBLIC", "NON_PERSONAL_PUBLIC" ], "type": "string" }, "failure": { "description": "{code, detail?, http_status?} as for gaip_diagnose_integration_failure.", "type": "object" }, "failure_started_at": { "description": "Optional: RFC 3339 time the failures started.", "format": "date-time", "type": "string" }, "failures": { "description": "Optional: several failures, each {code, detail}.", "maxItems": 100, "minItems": 1, "type": "array" }, "lookback_days": { "default": 14, "description": "Optional: days of GAIP observations to look back over.", "maximum": 30, "minimum": 1, "type": "integer" }, "protocol": { "description": "Omit to infer it from card, transport or the supplier URL path (else UNKNOWN).", "enum": [ "A2A", "MCP", "OPENAPI", "UNKNOWN" ], "type": "string" }, "supplier_url": { "description": "Public https URL of the supplier's agent card, MCP server or API.", "format": "uri", "maxLength": 2048, "type": "string" }, "task_class": { "description": "Optional: short name of the task, e.g. weather_forecast.", "type": "string" }, "transport": { "description": "Optional transport you used (e.g. streamable-http, sse, GRPC).", "type": "string" } }, "required": [ "supplier_url" ], "type": "object" }, "name": "gaip_supplier_reliability", "outputSchema": null }, { "description": "Use this when asked what changed on a watched agent or service. Pass your `continuity_handle` and optionally a `watch_id`. Returns recent change events: verdict before and after, a change summary, the receipt and webhook delivery status. Free, read-only, no account; inputs must be public and non-personal.", "inputSchema": { "additionalProperties": false, "examples": [ { "continuity_handle": { "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>", "token": "<continuity_handle.token returned by any GAIP tool>" }, "limit": 10, "watch_id": "<watch_id from gaip_watch_register>" } ], "properties": { "continuity_handle": { "description": "The continuity_handle from an earlier GAIP result; proves you own these watches.", "properties": { "continuity_id": { "type": "string" }, "token": { "type": "string" } }, "required": [ "continuity_id", "token" ], "type": "object" }, "limit": { "description": "Optional: maximum events to return.", "maximum": 50, "minimum": 1, "type": "integer" }, "watch_id": { "description": "The watch_id returned by gaip_watch_register.", "type": "string" } }, "required": [ "continuity_handle" ], "type": "object" }, "name": "gaip_watch_events", "outputSchema": null }, { "description": "Use this when asked which agents or services you are watching. Pass your `continuity_handle`. Returns each watch's kind, target, last verdict, last and next check and webhook endpoint (never the secret). Free, read-only, no account; inputs must be public and non-personal.", "inputSchema": { "additionalProperties": false, "examples": [ { "continuity_handle": { "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>", "token": "<continuity_handle.token returned by any GAIP tool>" } } ], "properties": { "continuity_handle": { "description": "The continuity_handle from an earlier GAIP result; proves you own these watches.", "properties": { "continuity_id": { "type": "string" }, "token": { "type": "string" } }, "required": [ "continuity_id", "token" ], "type": "object" } }, "required": [ "continuity_handle" ], "type": "object" }, "name": "gaip_watch_list", "outputSchema": null }, { "description": "Use this when asked to keep an eye on an agent or MCP server (\"tell me if it changes or goes down\"). Pass the `continuity_handle` from any GAIP result, `kind` and `target_url`. GAIP re-checks every 24 hours (3 free watches), receipts each change and can call your webhook. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.", "inputSchema": { "additionalProperties": false, "examples": [ { "continuity_handle": { "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>", "token": "<continuity_handle.token returned by any GAIP tool>" }, "interval_hours": 24, "kind": "SUPPLIER_CARD", "target_url": "https://weather.example.com/.well-known/agent-card.json" } ], "properties": { "continuity_handle": { "description": "The continuity_handle from an earlier GAIP result; proves you own these watches.", "properties": { "continuity_id": { "type": "string" }, "token": { "type": "string" } }, "required": [ "continuity_id", "token" ], "type": "object" }, "data_classification": { "default": "PUBLIC", "description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.", "enum": [ "PUBLIC", "NON_PERSONAL_PUBLIC" ], "type": "string" }, "interval_hours": { "default": 24, "description": "Hours between checks: 24 minimum on the free tier; 1 for DELIVERY_SLA.", "maximum": 168, "minimum": 1, "type": "integer" }, "kind": { "description": "AGENT_READINESS (agent URL), SUPPLIER_CARD (published card), DELIVERY_TERMS (terms_id) or DELIVERY_SLA (terms_id plus sla terms).", "enum": [ "AGENT_READINESS", "DELIVERY_TERMS", "SUPPLIER_CARD", "DELIVERY_SLA" ], "type": "string" }, "sla": { "description": "DELIVERY_SLA only: service-level terms checked on every observation, any of min_uptime_pct, max_latency_ms, required_fields (JSON key paths), freshness_field + max_age_seconds; optional uptime_window_hours, min_observations. Results go only to you.", "type": "object" }, "target_url": { "description": "Public https URL (AGENT_READINESS, SUPPLIER_CARD). No query string.", "format": "uri", "maxLength": 2048, "type": "string" }, "terms_id": { "description": "DELIVERY_TERMS or DELIVERY_SLA: terms_id from witness_register_terms.", "type": "string" }, "webhook_url": { "description": "Optional: your own public https endpoint for signed change events.", "format": "uri", "maxLength": 2048, "type": "string" } }, "required": [ "continuity_handle", "kind" ], "type": "object" }, "name": "gaip_watch_register", "outputSchema": null }, { "description": "Use this when asked to stop watching an agent or service. Pass your `continuity_handle` and the `watch_id`. Its stored events are deleted; retained receipts stay verifiable. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.", "inputSchema": { "additionalProperties": false, "examples": [ { "continuity_handle": { "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>", "token": "<continuity_handle.token returned by any GAIP tool>" }, "watch_id": "<watch_id from gaip_watch_register>" } ], "properties": { "continuity_handle": { "description": "The continuity_handle from an earlier GAIP result; proves you own these watches.", "properties": { "continuity_id": { "type": "string" }, "token": { "type": "string" } }, "required": [ "continuity_id", "token" ], "type": "object" }, "watch_id": { "description": "The watch_id returned by gaip_watch_register.", "type": "string" } }, "required": [ "continuity_handle", "watch_id" ], "type": "object" }, "name": "gaip_watch_remove", "outputSchema": null } ] }
Verify it yourselfcurl -s https://api.teppi.xyz/v1/evidence/sha256:232d69418f6671f95f93263b5f6f042069b62e81b4a732c7dd4a8809580274c2 | sha256sum