Server definition
- Hash
- sha256:66f018d5137acf1a3109673e0f395dee6831b7d0b86cb98a6fdb8f0a5ee00b00
- What it is
- What a remote MCP server returned when asked what it offers: 3 tools
The blob, as servednamed by its sha256
{
"instructions": "GAIP Buyer Assurance Agent: Records a buyer-owned public service request and checks the observed disposition through Broker, Witness and Trust evidence. Tools here: assurance_prepare, assurance_complete, assurance_verify; start with assurance_prepare (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 finishing a Buyer Assurance check. Pass the `terms_id` from assurance_prepare and mode PUBLIC_REPLAY (GAIP replays the service) or BUYER_SUBMITTED. Returns PASS / FAIL / UNKNOWN per check and a delivery receipt. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.",
"inputSchema": {
"examples": [
{
"mode": "PUBLIC_REPLAY",
"terms_id": "<terms_id from assurance_prepare>"
}
],
"properties": {
"body": {
"description": "BUYER_SUBMITTED: the response body you received (max 32 KiB).",
"type": "string"
},
"body_sha256": {
"description": "BUYER_SUBMITTED: SHA-256 of the body, instead of the body.",
"type": "string"
},
"content_type": {
"description": "BUYER_SUBMITTED: the Content-Type you received.",
"type": "string"
},
"data_classification": {
"default": "PUBLIC",
"description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.",
"enum": [
"PUBLIC",
"NON_PERSONAL_PUBLIC"
],
"type": "string"
},
"http_status": {
"description": "BUYER_SUBMITTED: the HTTP status you received.",
"type": "integer"
},
"mode": {
"description": "PUBLIC_REPLAY: GAIP fetches the public URL itself. BUYER_SUBMITTED: check a response you pass in.",
"enum": [
"BUYER_SUBMITTED",
"PUBLIC_REPLAY"
]
},
"terms_id": {
"description": "The terms_id returned when the terms were registered.",
"type": "string"
}
},
"required": [
"terms_id",
"mode"
],
"type": "object"
},
"name": "assurance_complete",
"outputSchema": null
},
{
"description": "Use this when you, the buyer, chose a public service and want its delivery checked end to end. Pass `service_url`, `checks` and explicit_read_only_consent=true. GAIP preflights it and records your checks; returns a `terms_id` for assurance_complete. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.",
"inputSchema": {
"examples": [
{
"checks": [
{
"allowed": [
200
],
"id": "http_status_in"
},
{
"id": "json_parses"
}
],
"counterparty_id": "example-weather-agent",
"explicit_read_only_consent": true,
"service_url": "https://weather.example.com/forecast.json",
"task_class": "weather_forecast"
}
],
"properties": {
"checks": {
"description": "1-8 checks, each {\"id\": \"http_status_in\", \"allowed\": [200]}, {\"id\": \"content_type_is\", \"value\": \"application/json\"}, {\"id\": \"non_empty\"}, {\"id\": \"json_parses\"}, {\"id\": \"json_required_keys\", \"keys\": [\"a.b\"]}, {\"id\": \"json_path_equals\", \"path\": \"a.b\", \"value\": 1}, {\"id\": \"max_latency_ms\", \"limit\": 2000}, {\"id\": \"max_bytes\", \"limit\": 20000}, {\"id\": \"text_contains\", \"value\": \"ok\"} or {\"id\": \"regex\", \"pattern\": \"ok|up\"}.",
"maxItems": 8,
"minItems": 1,
"type": "array"
},
"counterparty_id": {
"description": "Name or URL of the agent or service.",
"type": "string"
},
"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"
},
"explicit_read_only_consent": {
"const": true,
"description": "Must be true: you consent to a public, read-only check."
},
"service_url": {
"description": "Public https URL of the service.",
"type": "string"
},
"task_class": {
"description": "Optional: short name of the task, e.g. weather_forecast.",
"type": "string"
}
},
"required": [
"service_url",
"checks",
"explicit_read_only_consent"
],
"type": "object"
},
"name": "assurance_prepare",
"outputSchema": null
},
{
"description": "Use this when you hold a Buyer Assurance terms or delivery receipt_id and want to confirm it. Returns the retained record and its integrity proof (integrity only). Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"examples": [
{
"receipt_id": "<receipt_id from assurance_prepare or assurance_complete>"
}
],
"properties": {
"receipt_id": {
"description": "A receipt_id returned by an earlier GAIP call.",
"type": "string"
}
},
"required": [
"receipt_id"
],
"type": "object"
},
"name": "assurance_verify",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:66f018d5137acf1a3109673e0f395dee6831b7d0b86cb98a6fdb8f0a5ee00b00 | sha256sum