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 yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:232d69418f6671f95f93263b5f6f042069b62e81b4a732c7dd4a8809580274c2 | sha256sum