{
  "description": "Now part of GAIP Witness (agreed terms, delivery, receipts, disputes and evidence). It stays callable here with the same tools; see https://www.gaipagents.com/agents/witness. Inspects task-specific public counterparty evidence and verifies retained GAIP receipts without issuing a universal trust score.",
  "endpoint": "https://www.gaipagents.com/mcp/agents/trust-assurance",
  "name": "io.github.tjcgraham-rgb/gaip-trust-assurance",
  "privacyPolicy": "https://www.gaipagents.com/privacy",
  "product": {
    "foldedInto": "witness",
    "kind": "PRODUCT",
    "listed": false,
    "productId": "witness",
    "productName": "Witness \u00b7 Deals \u00b7 Sign-offs",
    "role": "FOLDED",
    "roleLabel": "folded in, still callable",
    "status": "PUBLIC_FREE",
    "url": "https://www.gaipagents.com/v1/free/products#witness"
  },
  "protocolVersion": "2025-06-18",
  "publication": {
    "acceptanceNotImplied": true,
    "descriptorLive": true,
    "officialMcpRegistry": "PENDING_INDIVIDUAL_REGISTRY_ACCEPTANCE"
  },
  "registryVersion": "1.5.0",
  "repository": {
    "source": "github",
    "url": "https://github.com/tjcgraham-rgb/-gaip-agent-to-art-prototype"
  },
  "schema_version": "gaip.agent-mcp-descriptor.v1",
  "serverCard": "https://www.gaipagents.com/mcp/agents/trust-assurance/server-card",
  "termsOfService": "https://www.gaipagents.com/terms",
  "title": "GAIP Trust & Assurance Agent",
  "tools": [
    {
      "annotations": {
        "destructiveHint": false,
        "openWorldHint": false,
        "readOnlyHint": true
      },
      "description": "Inspect supplied task-specific counterparty observations without producing a universal trust score.",
      "inputSchema": {
        "additionalProperties": true,
        "properties": {
          "continuity_handle": {
            "additionalProperties": false,
            "properties": {
              "continuity_id": {
                "type": "string"
              },
              "token": {
                "type": "string"
              }
            },
            "required": [
              "continuity_id",
              "token"
            ],
            "type": "object"
          },
          "counterparty_id": {
            "type": "string"
          },
          "data_classification": {
            "enum": [
              "PUBLIC",
              "NON_PERSONAL_PUBLIC"
            ],
            "type": "string"
          },
          "episode_id": {
            "type": "string"
          },
          "independent_operator_id": {
            "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": {
            "items": {
              "type": "object"
            },
            "type": "array"
          },
          "synthetic": {
            "type": "boolean"
          },
          "task_class": {
            "type": "string"
          }
        },
        "required": [
          "data_classification",
          "counterparty_id",
          "task_class"
        ],
        "type": "object"
      },
      "name": "inspect_counterparty_evidence"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true
      },
      "description": "Export one GAIP receipt as x402 Settlement-Attestation-style JSON, an ERC-8004 validation-response-shaped document for off-chain publication, or an unsigned W3C-VC-like JSON-LD envelope. Ed25519-signed when the runtime key is available (otherwise unsigned, with the reason); integrity also via hash chain, Merkle proof and a SHA-256 digest_manifest; no on-chain write.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "format": {
            "enum": [
              "x402",
              "erc8004",
              "vc"
            ],
            "type": "string"
          },
          "receipt_id": {
            "description": "The receipt_id exactly as an earlier GAIP result returned it. Have none? Call with any id: the refusal lists example_receipt_ids from GAIP's own public records.",
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          }
        },
        "required": [
          "receipt_id",
          "format"
        ],
        "type": "object"
      },
      "name": "gaip_receipt_export",
      "title": "Export a GAIP receipt"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "openWorldHint": false,
        "readOnlyHint": true
      },
      "description": "Look up a retained GAIP receipt by ID and verify its hash chain and Merkle inclusion proof without creating adoption credit.",
      "inputSchema": {
        "additionalProperties": true,
        "properties": {
          "continuity_handle": {
            "additionalProperties": false,
            "properties": {
              "continuity_id": {
                "type": "string"
              },
              "token": {
                "type": "string"
              }
            },
            "required": [
              "continuity_id",
              "token"
            ],
            "type": "object"
          },
          "data_classification": {
            "enum": [
              "PUBLIC",
              "NON_PERSONAL_PUBLIC"
            ],
            "type": "string"
          },
          "episode_id": {
            "type": "string"
          },
          "independent_operator_id": {
            "type": "string"
          },
          "receipt_id": {
            "maxLength": 128,
            "minLength": 1,
            "type": "string"
          },
          "synthetic": {
            "type": "boolean"
          }
        },
        "required": [
          "receipt_id"
        ],
        "type": "object"
      },
      "name": "verify_gaip_receipt"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true
      },
      "description": "Compile GAIP's retained evidence about one agent or supplier (conformance, watch events, witness results, repair and incident receipts) with a verify URL and Merkle proof per item, a manifest of counts, time span and gaps, and a framework reference table. An evidence compilation only: not a certification, audit opinion, insurance or legal advice.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "requester": {
            "additionalProperties": false,
            "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,
            "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",
      "title": "Build an evidence pack"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true
      },
      "description": "Verify supplied GAIP receipts, order a timeline and attribute each observation to its source, with an EU AI Act Article 73 reference aid. No fault, liability or causation finding; not a regulatory filing or legal advice.",
      "inputSchema": {
        "additionalProperties": false,
        "properties": {
          "ai_system_ref": {
            "maxLength": 256,
            "type": "string"
          },
          "data_classification": {
            "default": "PUBLIC",
            "enum": [
              "PUBLIC",
              "NON_PERSONAL_PUBLIC"
            ],
            "type": "string"
          },
          "observations": {
            "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": {
            "items": {
              "type": "string"
            },
            "maxItems": 50,
            "type": "array"
          },
          "title": {
            "maxLength": 120,
            "type": "string"
          }
        },
        "type": "object"
      },
      "name": "gaip_incident_bundle",
      "title": "Build an incident evidence bundle"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": true,
        "openWorldHint": false,
        "readOnlyHint": true
      },
      "description": "Check an x402 SAR-shaped receipt (draft proposal shape, issue #1195; may change): fields present, receipt_id recomputed from the core fields, and whether the Ed25519 signature checks out against a public key you supply or GAIP's published key named by verifier_kid. Fetches and keeps nothing; payment fields are not acted on.",
      "inputSchema": {
        "additionalProperties": false,
        "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",
      "title": "Check an x402 SAR receipt"
    }
  ],
  "transport": "streamable-http",
  "version": "1.0.0"
}