Server definition
- Hash
- sha256:e07cc00469a5c463d469b4df6d02ec9f3533d4f576b20ee53cc904e4d9814e90
- 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 Trust & Assurance Agent: Inspects task-specific public counterparty evidence and verifies retained GAIP receipts without issuing a universal trust score. Tools here: inspect_counterparty_evidence, gaip_receipt_export, verify_gaip_receipt, gaip_evidence_pack, gaip_incident_bundle, gaip_check_sar_receipt; start with inspect_counterparty_evidence (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 handed an x402 SAR-shaped receipt (draft proposal shape; may change). Pass `sar_receipt`, optionally the issuer's `public_key`. Returns missing fields, whether receipt_id matches the core and whether the signature checks out against that key. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"public_key": "Y8BpzlWPH3EPRQziEPRBeLS1lJBF4xEo9WaxTNbzNp0",
"sar_receipt": {
"confidence": 1,
"reason_code": "SPEC_MATCH",
"receipt_id": "sha256:17146cdeb5aba1c269130348cdc7d3d96ae55f6e048b81d3baa59d4e3f3b188b",
"receipt_version": "0.1",
"sig": "ogilW-bjlCbYkwwUAIrg_zm_Wuoc6EiRgeErs0RL7llP7FWyX43-LgozZFyCjCXgsViK-A4_aroOo16Q4uvTCg",
"sig_alg": "Ed25519",
"task_id_hash": "sha256:c8b36982316351a28e040a6520df2092c2c87a4ea611c123d04993074b2b6f1d",
"ts": "2026-10-01T09:00:00Z",
"verdict": "PASS",
"verifier_kid": "ef654fc8b615b51c"
}
}
],
"properties": {
"public_key": {
"description": "Optional: the issuer's Ed25519 public key, raw 32 bytes base64url or a JWK {kty: OKP, crv: Ed25519, x}. Omit to use GAIP's published keys.",
"oneOf": [
{
"maxLength": 512,
"type": "string"
},
{
"type": "object"
}
]
},
"sar_receipt": {
"description": "The SAR receipt object (or a whole gaip_receipt_export x402 result).",
"type": "object"
}
},
"required": [
"sar_receipt"
],
"type": "object"
},
"name": "gaip_check_sar_receipt",
"outputSchema": null
},
{
"description": "Use this when an insurer, auditor or buyer asks what evidence exists about an agent or supplier. Pass its `subject` (public id or https URL). Returns conformance, watch, witness, repair and incident records with Merkle proofs, plus gaps. A compilation, not certification or advice. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"requester": {
"purpose": "INSURER"
},
"scope": {
"max_items": 50,
"since": "2026-09-01"
},
"subject": {
"counterparty_id": "example-weather-agent"
}
}
],
"properties": {
"requester": {
"additionalProperties": false,
"description": "Optional: {purpose, continuity_handle} to include your own receipts.",
"properties": {
"continuity_handle": {
"properties": {
"continuity_id": {
"type": "string"
},
"token": {
"type": "string"
}
},
"required": [
"continuity_id",
"token"
],
"type": "object"
},
"purpose": {
"enum": [
"INSURER",
"AUDITOR",
"OPERATOR",
"BUYER",
"UNSPECIFIED"
],
"type": "string"
}
},
"type": "object"
},
"scope": {
"additionalProperties": false,
"description": "Optional: {receipt_ids, since, until, categories, max_items}.",
"properties": {
"categories": {
"items": {
"enum": [
"conformance",
"watch",
"witness",
"repair",
"incident",
"supplier_checks"
],
"type": "string"
},
"type": "array"
},
"max_items": {
"maximum": 200,
"minimum": 1,
"type": "integer"
},
"receipt_ids": {
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
},
"since": {
"type": "string"
},
"until": {
"type": "string"
}
},
"type": "object"
},
"subject": {
"description": "The agent or supplier: its public id or https URL. Never a person.",
"oneOf": [
{
"maxLength": 256,
"type": "string"
},
{
"additionalProperties": false,
"properties": {
"counterparty_id": {
"type": "string"
},
"ref": {
"type": "string"
},
"seller_ref": {
"type": "string"
},
"url": {
"format": "uri",
"type": "string"
}
},
"type": "object"
}
]
}
},
"required": [
"subject"
],
"type": "object"
},
"name": "gaip_evidence_pack",
"outputSchema": null
},
{
"description": "Use this when something went wrong with an agent and you need the facts in order. Pass the `receipt_ids` you hold and attributed `observations`. Returns a verified, source-attributed timeline with an EU AI Act Art. 73 reference aid. No fault, cause or liability finding. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"ai_system_ref": "example-weather-agent",
"observations": [
{
"observed_at_utc": "2026-09-27T10:00:00Z",
"source": "our uptime monitor",
"source_type": "AUTOMATED_MONITOR",
"statement": "HTTP 503 from the forecast endpoint for 12 minutes"
}
],
"receipt_ids": [
"<receipt_id returned by any GAIP tool>"
],
"title": "Forecast endpoint returned errors"
}
],
"properties": {
"ai_system_ref": {
"description": "Optional: public id or URL of the AI system involved; given alone, GAIP starts the timeline from its own public records of that system.",
"maxLength": 256,
"type": "string"
},
"data_classification": {
"default": "PUBLIC",
"description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.",
"enum": [
"PUBLIC",
"NON_PERSONAL_PUBLIC"
],
"type": "string"
},
"observations": {
"description": "Attributed observations, each {source, statement, observed_at_utc}.",
"items": {
"additionalProperties": false,
"properties": {
"observed_at_utc": {
"type": "string"
},
"receipt_id": {
"type": "string"
},
"source": {
"maxLength": 120,
"type": "string"
},
"source_type": {
"enum": [
"AUTOMATED_MONITOR",
"PUBLIC_RECORD",
"REQUESTER",
"THIRD_PARTY"
],
"type": "string"
},
"statement": {
"maxLength": 2000,
"type": "string"
}
},
"required": [
"source",
"statement"
],
"type": "object"
},
"maxItems": 50,
"type": "array"
},
"receipt_ids": {
"description": "GAIP receipt ids you hold about the incident.",
"items": {
"type": "string"
},
"maxItems": 50,
"type": "array"
},
"title": {
"description": "Optional: short incident title.",
"maxLength": 120,
"type": "string"
}
},
"type": "object"
},
"name": "gaip_incident_bundle",
"outputSchema": null
},
{
"description": "Use this when you need a GAIP receipt in another format. Pass `receipt_id` and `format`: x402 (attestation style), erc8004 (validation-response shape) or vc (W3C-VC-like JSON-LD). Ed25519-signed when the runtime key is available; hash chain and Merkle proof; no on-chain write. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": false,
"examples": [
{
"format": "x402",
"receipt_id": "<receipt_id returned by any GAIP tool>"
}
],
"properties": {
"format": {
"description": "x402, erc8004 or vc.",
"enum": [
"x402",
"erc8004",
"vc"
],
"type": "string"
},
"receipt_id": {
"description": "A receipt_id returned by an earlier GAIP call.",
"maxLength": 128,
"minLength": 1,
"type": "string"
}
},
"required": [
"receipt_id",
"format"
],
"type": "object"
},
"name": "gaip_receipt_export",
"outputSchema": null
},
{
"description": "Use this when asked what evidence exists about an agent before delegating to it. Pass its `counterparty_id` and any `observations`. Returns task-specific evidence coverage, conflicts, gaps and GAIP's own earlier checks of it, with a receipt. Never a trust score or recommendation. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": true,
"examples": [
{
"counterparty_id": "example-weather-agent",
"observations": [
{
"claim": "Publishes a public weather_forecast skill",
"evidence_digest": "3f0a9c1e5b7d2468ace013579bdf2468ace013579bdf2468ace013579bdf2468",
"lifecycle_state": "observed",
"observed_at": "2026-09-27T12:00:00Z",
"source": "https://forecast.example.com/.well-known/agent-card.json"
},
{
"claim": "Returned a London forecast in 1.2 s",
"lifecycle_state": "OBSERVED",
"observed_at": "2026-09-27T12:05:00Z",
"source": "caller_task_log"
}
],
"task_class": "weather_forecast"
}
],
"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 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"
},
"independent_operator_id": {
"description": "Optional: your operator id (recorded as a claim, not verified).",
"type": "string"
},
"max_age_days": {
"description": "Optional freshness window (default 30): GAIP history records older than this are STALE and do not count toward evidence_sufficiency.",
"maximum": 365,
"minimum": 1,
"type": "integer"
},
"observations": {
"description": "Optional: observations about it, each {source, observed_at, evidence_digest, lifecycle_state, claim}.",
"items": {
"type": "object"
},
"type": "array"
},
"synthetic": {
"description": "Optional: true marks a test call.",
"type": "boolean"
},
"task_class": {
"default": "COUNTERPARTY_EVIDENCE",
"description": "Task you want evidence for. Optional.",
"type": "string"
}
},
"type": "object"
},
"name": "inspect_counterparty_evidence",
"outputSchema": null
},
{
"description": "Use this when you hold a GAIP receipt_id and want to confirm it (\"is this receipt genuine?\"). Returns the retained record, hash chain and Merkle inclusion proof. Integrity only: it does not make the underlying claim true. Free, read-only, no account; inputs must be public and non-personal.",
"inputSchema": {
"additionalProperties": true,
"examples": [
{
"receipt_id": "<receipt_id returned by any GAIP tool>"
}
],
"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"
},
"data_classification": {
"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"
},
"receipt_id": {
"description": "A receipt_id returned by an earlier GAIP call.",
"maxLength": 128,
"minLength": 1,
"type": "string"
},
"synthetic": {
"description": "Optional: true marks a test call.",
"type": "boolean"
}
},
"required": [
"receipt_id"
],
"type": "object"
},
"name": "verify_gaip_receipt",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:e07cc00469a5c463d469b4df6d02ec9f3533d4f576b20ee53cc904e4d9814e90 | sha256sum