{
  "description": "Now part of GAIP's front door (Check and GAIP Watch; Diagnose) on /mcp and the integration-protocol agent. Its diagnosis is also the gaip_diagnose tool on https://www.gaipagents.com/mcp. It stays callable here with the same tools; see https://www.gaipagents.com/agents/integration-protocol. Classifies a supplied handshake or task failure and returns a bounded repair and replay evidence plan.",
  "endpoint": "https://www.gaipagents.com/mcp/agents/integration-repair",
  "name": "io.github.tjcgraham-rgb/gaip-integration-repair",
  "privacyPolicy": "https://www.gaipagents.com/privacy",
  "product": {
    "foldedInto": "integration-protocol",
    "kind": "PRODUCT",
    "listed": false,
    "productId": "developer-checks",
    "productName": "Check and GAIP Watch \u00b7 Diagnose",
    "role": "FOLDED",
    "roleLabel": "folded in, still callable",
    "status": "PUBLIC_FREE",
    "url": "https://www.gaipagents.com/v1/free/products#developer-checks"
  },
  "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/integration-repair/server-card",
  "termsOfService": "https://www.gaipagents.com/terms",
  "title": "GAIP Integration Repair Agent",
  "tools": [
    {
      "annotations": {
        "destructiveHint": false,
        "openWorldHint": false,
        "readOnlyHint": false
      },
      "description": "Classify a supplied public handshake or task failure and return a bounded repair plan and retained receipt. No patch or replay of another operator's system.",
      "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"
          },
          "failure": {
            "description": "The failure: {code, detail?, http_status?}, e.g. {\"code\": 429, \"detail\": \"Too Many Requests; Retry-After: 20\"}.",
            "type": "object"
          },
          "independent_operator_id": {
            "type": "string"
          },
          "protocol": {
            "enum": [
              "A2A",
              "MCP",
              "OPENAPI"
            ],
            "type": "string"
          },
          "synthetic": {
            "type": "boolean"
          },
          "task_class": {
            "type": "string"
          }
        },
        "required": [
          "data_classification",
          "counterparty_id",
          "task_class",
          "protocol",
          "failure"
        ],
        "type": "object"
      },
      "name": "gaip_diagnose_integration_failure",
      "title": "Diagnose integration failure"
    },
    {
      "annotations": {
        "destructiveHint": false,
        "idempotentHint": false,
        "openWorldHint": false,
        "readOnlyHint": true
      },
      "description": "An agent or API you depend on started failing? Pass the `failure` ({code, detail}) as for gaip_diagnose_integration_failure plus the supplier's public `supplier_url` and optionally `failure_started_at`. Returns GAIP's repair diagnosis plus the supplier changes GAIP observed around that time (card and readiness watch events, observatory change log), each with a receipt and labelled as correlated in time, not causation. Recommends next steps and offers a watch. Does not fetch the supplier.",
      "inputSchema": {
        "additionalProperties": true,
        "properties": {
          "card": {
            "description": "Optional supplier card / server description you integrated against.",
            "type": "object"
          },
          "counterparty_id": {
            "type": "string"
          },
          "data_classification": {
            "default": "PUBLIC",
            "enum": [
              "PUBLIC",
              "NON_PERSONAL_PUBLIC"
            ],
            "type": "string"
          },
          "failure": {
            "description": "{code, detail?, http_status?} as for gaip_diagnose_integration_failure.",
            "type": "object"
          },
          "failure_started_at": {
            "format": "date-time",
            "type": "string"
          },
          "failures": {
            "maxItems": 100,
            "minItems": 1,
            "type": "array"
          },
          "lookback_days": {
            "default": 14,
            "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": {
            "format": "uri",
            "maxLength": 2048,
            "type": "string"
          },
          "task_class": {
            "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",
      "title": "Diagnose a supplier failure with recent changes"
    }
  ],
  "transport": "streamable-http",
  "version": "1.0.0"
}