GAIP Integration Repair Agent
Server Details
Now part of GAIP Diagnose: diagnoses failed agent or API calls (gaip_diagnose).
- Status
- Healthy
- Uptime
- 99.7% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- tjcgraham-rgb/gaip-agents
- GitHub Stars
- 0
- Server Listing
- gaip-broker
TDQS
Scored across 2 tools
The two tools target slightly different scenarios: general failure diagnosis vs. supplier-specific reliability. However, a supplier call failure could arguably fall under either, creating minor overlap.
Both tools share the 'gaip_' prefix and snake_case, but the first follows a verb_noun pattern (diagnose_integration_failure) while the second is noun-based (supplier_reliability), a minor deviation.
Two tools is borderline thin for a diagnostic agent. While the niche purpose may justify it, additional tools for receipt retrieval or historical context could be expected.
The tools cover two core diagnostic queries but lack operations to retrieve receipts, list past failures, or proactively check supplier status. These gaps may force agents to work around missing functionality.
Available Tools
2 toolsgaip_diagnose_integration_failureWhy did my agent call fail?AInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| failure | Yes | The failure: {code, detail?, http_status?}, e.g. {"code": 429, "detail": "Too Many Requests; Retry-After: 20"}. | |
| protocol | No | Counterparty protocol. Inferred from metadata when omitted, otherwise MCP. | |
| synthetic | No | Optional: true marks a test call. | |
| episode_id | No | Optional: your own id to group related calls. | |
| task_class | No | Optional: short name of the task, e.g. weather_forecast. | integration_failure_diagnosis |
| counterparty_id | No | Name or URL of the agent/service. Optional. | |
| continuity_handle | No | Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones. | |
| data_classification | No | PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data. | PUBLIC |
| independent_operator_id | No | Optional: your operator id (recorded as a claim, not verified). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses the side effect ('GAIP touches no other system'), the auth/cost model ('Free, no account'), exactly what is persisted ('records a GAIP receipt only'), and a data-handling constraint ('Inputs must be public and non-personal'). This accounts for the non-readOnly/non-idempotent annotation profile by explaining that only a receipt is written.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
It is front-loaded with the triggering scenario and what to pass before moving to outputs and constraints, and every sentence carries information. It is dense and slightly parenthetical-heavy, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description still enumerates the return contents (likely cause, when/how to retry, fix steps, receipt), and with 9 params at 100% schema coverage the remaining fields are self-documenting. Nothing needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds real meaning: it clarifies the required 'failure' payload shape ({code, detail}) and, notably, that raw error text is an acceptable alternative input. It does not explain the optional continuity_handle or episode_id linkage beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a specific verb+resource — diagnosing a failed agent/MCP/API call and returning cause, retry guidance, and fix steps. It is clearly distinguishable from siblings like gaip_observatory_lookup, gaip_watch_events, or check_agent_conformance, which observe or monitor rather than diagnose a single failure.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives concrete invocation triggers ('why did my call fail?', 'what does this 429 mean?') and tells the agent what to pass (the failure object or raw error text). It does not name an explicit alternative tool or state when NOT to use this, so it stops short of a full routing rule.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gaip_supplier_reliabilityWhy is my supplier failing?ARead-onlyInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| card | No | Optional supplier card / server description you integrated against. | |
| failure | No | {code, detail?, http_status?} as for gaip_diagnose_integration_failure. | |
| failures | No | Optional: several failures, each {code, detail}. | |
| protocol | No | Omit to infer it from card, transport or the supplier URL path (else UNKNOWN). | |
| transport | No | Optional transport you used (e.g. streamable-http, sse, GRPC). | |
| task_class | No | Optional: short name of the task, e.g. weather_forecast. | |
| supplier_url | Yes | Public https URL of the supplier's agent card, MCP server or API. | |
| lookback_days | No | Optional: days of GAIP observations to look back over. | |
| counterparty_id | No | Optional: name of the supplier. | |
| failure_started_at | No | Optional: RFC 3339 time the failures started. | |
| data_classification | No | PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data. | PUBLIC |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, non-destructive and non-open-world, but the description adds genuinely new behavioral facts: it is free, requires no account, inputs must be public and non-personal, and results are time-correlated observations rather than causal claims. That last caveat is important for interpretation and is not in any structured field; only rate limits and the meaning of idempotentHint=false (repeated calls may return different observations) are left unstated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the usage trigger before inputs and traits, so every sentence does work. It is slightly dense with stacked parentheticals and prose asides, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 11 params, nested objects, and no output schema, the description does the necessary compensating work by summarizing the return ('diagnosis plus changes observed... with receipts'). The one real gap is the missing boundary against gaip_diagnose_integration_failure, which matters given the overlap in inputs and purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% with 11 well-documented params, so the schema already carries parameter meaning. The description names supplier_url and failure but adds no format, defaults, or constraint detail beyond the schema, making 3 the correct baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific trigger and outcome: it diagnoses why 'a supplier agent or API you depend on started failing' and returns 'the diagnosis plus changes GAIP observed around then.' That is a clear verb+resource, but it never names or contrasts with its only sibling, gaip_diagnose_integration_failure, which the input schema itself references ('as for gaip_diagnose_integration_failure'), so the supplier-vs-integration boundary is left ambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It opens with an explicit selection condition ('Use this when a supplier agent or API you depend on started failing') and even supplies the user's likely phrasing ('did something change on their side?'). There is no when-not guidance and no pointer to the sibling for the alternative case, which keeps it short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
1 tool update
- Changed
gaip_diagnose_integration_failure1 field changed- changed
Input schema / properties / failure / descriptionPrevious value: -"The error: {code, detail}. code is an HTTP status, JSON-RPC/A2A/MCP code or error text."New value: +"The failure: {code, detail?, http_status?}, e.g. {\"code\": 429, \"detail\": \"Too Many Requests; Retry-After: 20\"}."
1 tool update
- Changed
gaip_supplier_reliability4 fields changed- added
Input schema / properties / cardAdded value: +{ + "description": "Optional supplier card / server description you integrated against.", + "type": "object" +} - changed
Input schema / properties / protocol / descriptionPrevious value: -"A2A, MCP or OPENAPI. Inferred when omitted."New value: +"Omit to infer it from card, transport or the supplier URL path (else UNKNOWN)." - changed
Input schema / properties / protocol / enumPrevious value: -[ - "A2A", - "MCP", - "OPENAPI" -]New value: +[ + "A2A", + "MCP", + "OPENAPI", + "UNKNOWN" +] - added
Input schema / properties / transportAdded value: +{ + "description": "Optional transport you used (e.g. streamable-http, sse, GRPC).", + "type": "string" +}
2 tool updates
- Changed
gaip_diagnose_integration_failure7 fields changed- added
Input schema / properties / continuity_handle / descriptionAdded value: +"Optional: the continuity_handle from an earlier GAIP result; links this call to your earlier ones." - added
Input schema / properties / data_classification / descriptionAdded value: +"PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data." - added
Input schema / properties / episode_id / descriptionAdded value: +"Optional: your own id to group related calls." - added
Input schema / properties / failure / descriptionAdded value: +"The error: {code, detail}. code is an HTTP status, JSON-RPC/A2A/MCP code or error text." - added
Input schema / properties / independent_operator_id / descriptionAdded value: +"Optional: your operator id (recorded as a claim, not verified)." - added
Input schema / properties / synthetic / descriptionAdded value: +"Optional: true marks a test call." - added
Input schema / properties / task_class / descriptionAdded value: +"Optional: short name of the task, e.g. weather_forecast."
- Changed
gaip_supplier_reliability8 fields changed- added
Input schema / properties / counterparty_id / descriptionAdded value: +"Optional: name of the supplier." - added
Input schema / properties / data_classification / descriptionAdded value: +"PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data." - added
Input schema / properties / failure_started_at / descriptionAdded value: +"Optional: RFC 3339 time the failures started." - added
Input schema / properties / failures / descriptionAdded value: +"Optional: several failures, each {code, detail}." - added
Input schema / properties / lookback_days / descriptionAdded value: +"Optional: days of GAIP observations to look back over." - added
Input schema / properties / protocol / descriptionAdded value: +"A2A, MCP or OPENAPI. Inferred when omitted." - added
Input schema / properties / supplier_url / descriptionAdded value: +"Public https URL of the supplier's agent card, MCP server or API." - added
Input schema / properties / task_class / descriptionAdded value: +"Optional: short name of the task, e.g. weather_forecast."
1 tool update
- Added
gaip_supplier_reliability
1 tool update
- Changed
gaip_diagnose_integration_failure6 fields changed- added
Input schema / examplesAdded value: +[ + { + "counterparty_id": "example-weather-agent", + "failure": { + "code": 429, + "detail": "HTTP 429 Too Many Requests; Retry-After: 20" + } + } +] - added
Input schema / properties / counterparty_id / descriptionAdded value: +"Name or URL of the agent/service. Optional." - added
Input schema / properties / data_classification / defaultAdded value: +"PUBLIC" - added
Input schema / properties / protocol / descriptionAdded value: +"Counterparty protocol. Inferred from metadata when omitted, otherwise MCP." - added
Input schema / properties / task_class / defaultAdded value: +"integration_failure_diagnosis" - changed
Input schema / requiredPrevious value: -[ - "data_classification", - "counterparty_id", - "task_class", - "protocol", - "failure" -]New value: +[ + "failure" +]
1 tool update
- First observed
gaip_diagnose_integration_failure
Related MCP Connectors
Behind Check and GAIP Watch, and Diagnose: A2A, MCP and OpenAPI checks with a dated change log.
Network, domain and website diagnostics for AI clients via MCP.
Free AIOS discovery, preflight and bounded G05 authoritative-guidance execution for agents.
Now part of GAIP Check and GAIP Watch: compares supplier snapshots and watches for change.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI hosts to list services, retrieve service details, and run deterministic support diagnostics through three stdio-based MCP tools.MIT
- AlicenseAqualityAmaintenanceEnables MCP clients to run triage themselves, scanning and repairing broken MCP configurations across multiple agent clients via stdio tools.23 npm2MIT
- AlicenseNot gradedqualityBmaintenanceProvides MCP tools for agent health checks, step execution, and failure classification over Streamable HTTP JSON-RPC.14 npmMIT
- AlicenseAqualityAmaintenanceEnables AI agents to monitor server health and capacity, diagnose outages, inspect Docker and deployment status, and perform safe, bounded recovery actions via MCP without granting unrestricted shell or SSH access.101Apache 2.0
Glama MCP Gateway
Add one secure layer between your agents and this server.