Now part of GAIP Diagnose: diagnoses failed agent or API calls (gaip_diagnose).
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Use this when an agent, MCP or API call failed ("why did my call fail?", "what does this 429 mean?"). Pass the `failure` ({code, detail}) or the raw error text. Returns the likely cause, when and how to retry, fix steps and a receipt. GAIP touches no other system. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
The failure: {code, detail?, http_status?}, e.g. {"code": 429, "detail": "Too Many Requests; Retry-After: 20"}.
Counterparty protocol. Inferred from metadata when omitted, otherwise MCP.
Optional: true marks a test call.
Optional: your own id to group related calls.
Optional: short name of the task, e.g. weather_forecast.
Name or URL of the agent/service. Optional.
Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones.
PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data.
Optional: your operator id (recorded as a claim, not verified).
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Use this when an agent, MCP or API call failed ("why did my call fail?", "what does this 429 mean?"). Pass the `failure` ({code, detail}) or the raw error text. Returns the likely cause, when and how to retry, fix steps and a receipt. GAIP touches no other system. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
| Argument | Type | Description |
|---|---|---|
| failure* | object | The failure: {code, detail?, http_status?}, e.g. {"code": 429, "detail": "Too Many Requests; Retry-After: 20"}. |
| protocol | string | Counterparty protocol. Inferred from metadata when omitted, otherwise MCP. |
| synthetic | boolean | Optional: true marks a test call. |
| episode_id | string | Optional: your own id to group related calls. |
| task_class | string | Optional: short name of the task, e.g. weather_forecast. |
| counterparty_id | string | Name or URL of the agent/service. Optional. |
| continuity_handle | object | Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones. |
| data_classification | string | PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data. |
| independent_operator_id | string | Optional: your operator id (recorded as a claim, not verified). |
{
"type": "object",
"examples": [
{
"failure": {
"code": 429,
"detail": "HTTP 429 Too Many Requests; Retry-After: 20"
},
"counterparty_id": "example-weather-agent"
}
],
"required": [
"failure"
],
"properties": {
"failure": {
"type": "object",
"description": "The failure: {code, detail?, http_status?}, e.g. {\"code\": 429, \"detail\": \"Too Many Requests; Retry-After: 20\"}."
},
"protocol": {
"enum": [
"A2A",
"MCP",
"OPENAPI"
],
"type": "string",
"description": "Counterparty protocol. Inferred from metadata when omitted, otherwise MCP."
},
"synthetic": {
"type": "boolean",
"description": "Optional: true marks a test call."
},
"episode_id": {
"type": "string",
"description": "Optional: your own id to group related calls."
},
"task_class": {
"type": "string",
"default": "integration_failure_diagnosis",
"description": "Optional: short name of the task, e.g. weather_forecast."
},
"counterparty_id": {
"type": "string",
"description": "Name or URL of the agent/service. Optional."
},
"continuity_handle": {
"type": "object",
"required": [
"continuity_id",
"token"
],
"properties": {
"token": {
"type": "string"
},
"continuity_id": {
"type": "string"
}
},
"description": "Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones.",
"additionalProperties": false
},
"data_classification": {
"enum": [
"PUBLIC",
"NON_PERSONAL_PUBLIC"
],
"type": "string",
"default": "PUBLIC",
"description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data."
},
"independent_operator_id": {
"type": "string",
"description": "Optional: your operator id (recorded as a claim, not verified)."
}
},
"additionalProperties": true
}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.
| Argument | Type | Description |
|---|---|---|
| card | object | Optional supplier card / server description you integrated against. |
| failure | object | {code, detail?, http_status?} as for gaip_diagnose_integration_failure. |
| failures | array | Optional: several failures, each {code, detail}. |
| protocol | string | Omit to infer it from card, transport or the supplier URL path (else UNKNOWN). |
| transport | string | Optional transport you used (e.g. streamable-http, sse, GRPC). |
| task_class | string | Optional: short name of the task, e.g. weather_forecast. |
| supplier_url* | string | Public https URL of the supplier's agent card, MCP server or API. |
| lookback_days |
| integer |
| Optional: days of GAIP observations to look back over. |
| counterparty_id | string | Optional: name of the supplier. |
| failure_started_at | string | Optional: RFC 3339 time the failures started. |
| data_classification | string | PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data. |
{
"type": "object",
"examples": [
{
"failure": {
"code": 404,
"detail": "Not Found"
},
"supplier_url": "https://weather.example.com/.well-known/agent-card.json",
"failure_started_at": "2026-09-27T12:00:00Z"
}
],
"required": [
"supplier_url"
],
"properties": {
"card": {
"type": "object",
"description": "Optional supplier card / server description you integrated against."
},
"failure": {
"type": "object",
"description": "{code, detail?, http_status?} as for gaip_diagnose_integration_failure."
},
"failures": {
"type": "array",
"maxItems": 100,
"minItems": 1,
"description": "Optional: several failures, each {code, detail}."
},
"protocol": {
"enum": [
"A2A",
"MCP",
"OPENAPI",
"UNKNOWN"
],
"type": "string",
"description": "Omit to infer it from card, transport or the supplier URL path (else UNKNOWN)."
},
"transport": {
"type": "string",
"description": "Optional transport you used (e.g. streamable-http, sse, GRPC)."
},
"task_class": {
"type": "string",
"description": "Optional: short name of the task, e.g. weather_forecast."
},
"supplier_url": {
"type": "string",
"format": "uri",
"maxLength": 2048,
"description": "Public https URL of the supplier's agent card, MCP server or API."
},
"lookback_days": {
"type": "integer",
"default": 14,
"maximum": 30,
"minimum": 1,
"description": "Optional: days of GAIP observations to look back over."
},
"counterparty_id": {
"type": "string",
"description": "Optional: name of the supplier."
},
"failure_started_at": {
"type": "string",
"format": "date-time",
"description": "Optional: RFC 3339 time the failures started."
},
"data_classification": {
"enum": [
"PUBLIC",
"NON_PERSONAL_PUBLIC"
],
"type": "string",
"default": "PUBLIC",
"description": "PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data."
}
},
"additionalProperties": true
}