GAIP Supplier Watch Agent
Server Details
Now part of GAIP Check and GAIP Watch: compares supplier snapshots and watches for change.
- Status
- Healthy
- Uptime
- 100.0% over 22 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 6 tools
The tools mostly have distinct use cases, but three of them surface change information (gaip_compare_supplier_snapshots, gaip_supplier_reliability, gaip_watch_events), which could cause confusion. The descriptions do clarify contexts, so an agent can usually pick correctly.
All names use a consistent gaip_ prefix and snake_case, and the watch_* family is predictable. However, gaip_supplier_reliability departs from the verb_noun pattern seen in the other tools, making the set slightly less uniform.
Six tools are well-scoped for a supplier watch and change-monitoring agent. Each tool has a clear role, and the count avoids both thinness and bloat.
The set covers the watch lifecycle (register, list, events, remove) plus snapshot comparison and reliability diagnosis. Minor gaps exist, such as no dedicated tool to update an existing watch or to retrieve receipts independently, but core workflows are covered.
Available Tools
6 toolsgaip_compare_supplier_snapshotsWhat changed between two versionsAInspect
Use this when asked what changed between two versions of an agent card, MCP server description or OpenAPI document ("did this API break?"). Pass prior and current. Returns each change as BREAKING / NON_BREAKING / INFO with migration notes and a receipt. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
| Name | Required | Description | Default |
|---|---|---|---|
| prior | Yes | The earlier version: agent card, MCP server description, OpenAPI document or snapshot. | |
| current | Yes | The later version, same kind as `prior`. | |
| 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. | supplier_snapshot_comparison |
| 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?
With readOnlyHint=false, the description usefully explains the side effect ('records a GAIP receipt only') and adds cost/auth context ('Free, no account') plus a data constraint ('inputs must be public and non-personal'). It also pre-announces the return taxonomy (BREAKING/NON_BREAKING/INFO with migration notes). It stops short of disclosing failure modes or rate limits.
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?
Four tight sentences, front-loaded with the trigger and naming the required params, then output shape, then cost/constraint caveats. Every sentence carries information an agent needs.
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?
For a 10-parameter tool with nested objects and no output schema, the description covers the trigger, required inputs, return classification and side effects/constraints. The optional GAIP plumbing parameters (continuity_handle, episode_id, etc.) are left to the schema, which is acceptable given full coverage.
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%, so the schema fully documents all 10 parameters including enums and nested objects. The description only names `prior` and `current`, adding nothing the schema does not already provide; baseline 3 applies.
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 pairs a specific verb (compare/what changed) with the exact resource set (agent card, MCP server description, OpenAPI document) and gives a plain-language trigger ('did this API break?'). An agent can distinguish this from generic change tools such as gaip_manifest_changes without opening the schema.
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 an explicit when-to-use condition ('Use this when asked what changed between two versions') and the required inputs. It does not name or exclude sibling alternatives, so it falls short of a full routing rule but the context is clear.
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.
gaip_watch_eventsRead watch change eventsARead-onlyIdempotentInspect
Use this when asked what changed on a watched agent or service. Pass your continuity_handle and optionally a watch_id. Returns recent change events: verdict before and after, a change summary, the receipt and webhook delivery status. Free, read-only, no account; inputs must be public and non-personal.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Optional: maximum events to return. | |
| watch_id | No | The watch_id returned by gaip_watch_register. | |
| continuity_handle | Yes | The continuity_handle from an earlier GAIP result; proves you own these watches. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already carry readOnly/idempotent/non-destructive, but the description adds genuinely new context: it is free, needs no account, and requires inputs to be public and non-personal. It also discloses the shape of the result, which the annotations do not.
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 tight sentences with the trigger front-loaded and the return payload second. 'Read-only' is restated even though annotations cover it, a small redundancy, but nothing else 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 no output schema, the description usefully summarizes return fields and auth requirements, and the nested continuity_handle is documented in the schema. It is close to complete; pagination/ordering of the returned events is left unstated.
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%, so the schema already documents limit, watch_id, and continuity_handle. The description only reinforces the continuity_handle's ownership role ('proves you own these watches'), adding marginal meaning over the schema.
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?
States a specific verb+resource ('Read watch change events') and enumerates what comes back (verdict before/after, change summary, receipt and webhook delivery status). It implicitly separates itself from gaip_watch_list and gaip_watch_register, but never names the alternative explicitly, so a sibling-aware agent still has to infer the boundary.
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?
'Use this when asked what changed on a watched agent or service' gives a clear triggering context, and it tells the caller to pass continuity_handle and optionally watch_id. It stops short of naming when NOT to use it (e.g., listing watches vs. reading events).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gaip_watch_listList my watchesARead-onlyIdempotentInspect
Use this when asked which agents or services you are watching. Pass your continuity_handle. Returns each watch's kind, target, last verdict, last and next check and webhook endpoint (never the secret). Free, read-only, no account; inputs must be public and non-personal.
| Name | Required | Description | Default |
|---|---|---|---|
| continuity_handle | Yes | The continuity_handle from an earlier GAIP result; proves you own these watches. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: exactly which fields come back (kind, target, last verdict, last/next check, webhook endpoint), that the secret is never returned, and that the operation is free with no account — a solid supplement beyond the annotations.
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 compact sentences: trigger first, the single required input second, the return shape and safety limits last. No filler, no repetition of the name or title.
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 present, the description compensates by enumerating the returned fields and explicitly noting the secret is excluded. Combined with the annotations covering the safety profile and the fully-described single parameter, an agent has everything needed to call this correctly.
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?
Only one parameter exists and schema description coverage is 100%, with the schema itself explaining that the handle 'proves you own these watches.' The description only restates 'pass your continuity_handle,' adding no format or provenance detail beyond the schema, so the baseline 3 applies.
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?
States a specific verb and resource — listing the watches the caller owns — and names the trigger explicitly ('when asked which agents or services you are watching'). It implicitly separates itself from gaip_watch_events (events vs. watch list) and gaip_watch_register/remove, but it never names a sibling outright, so it stops short of a 5.
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?
'Use this when asked which agents or services you are watching' gives a clear, concrete activation context, and the read-only/free framing tells the agent this is safe to call unprompted. No explicit when-not or named alternative is given, so it is clear context without exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gaip_watch_registerWatch an agent or MCP server for changesAInspect
Use this when asked to keep an eye on an agent or MCP server ("tell me if it changes or goes down"). Pass the continuity_handle from any GAIP result, kind and target_url. GAIP re-checks every 24 hours (3 free watches), receipts each change and can call your webhook. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
| Name | Required | Description | Default |
|---|---|---|---|
| sla | No | DELIVERY_SLA only: service-level terms checked on every observation, any of min_uptime_pct, max_latency_ms, required_fields (JSON key paths), freshness_field + max_age_seconds; optional uptime_window_hours, min_observations. Results go only to you. | |
| kind | Yes | AGENT_READINESS (agent URL), SUPPLIER_CARD (published card), DELIVERY_TERMS (terms_id) or DELIVERY_SLA (terms_id plus sla terms). | |
| terms_id | No | DELIVERY_TERMS or DELIVERY_SLA: terms_id from witness_register_terms. | |
| target_url | No | Public https URL (AGENT_READINESS, SUPPLIER_CARD). No query string. | |
| webhook_url | No | Optional: your own public https endpoint for signed change events. | |
| interval_hours | No | Hours between checks: 24 minimum on the free tier; 1 for DELIVERY_SLA. | |
| continuity_handle | Yes | The continuity_handle from an earlier GAIP result; proves you own these watches. | |
| 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 a non-read-only, non-idempotent, open-world operation, and the description adds real value on top: the 24-hour cadence, the 3-free-watch quota, that changes are receipted and can fire a webhook, and that only public/non-personal inputs are allowed. It omits what happens if the same watch is registered twice (redundancy vs. duplicate), which would have sealed a 5.
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 tight sentences that front-load the trigger condition and the required arguments before the operational details. No filler, though the final "Free, no account; records a GAIP receipt only" clause is slightly compressed and could be clearer.
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?
For an 8-parameter, nested-object mutation tool with no output schema, the description covers cost, quota, cadence, side effects (receipt, webhook), and data restrictions well. It never indicates what the call returns or how to later inspect the watch, which is a minor gap given the sibling listing tool exists.
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%, so each parameter is already fully documented in the schema, including enums and defaults. The description adds only the note that continuity_handle comes from any GAIP result, which the schema also states, so the baseline 3 is appropriate.
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 states a concrete action (keep an eye on an agent or MCP server, re-checking every 24 hours and receipting changes) against a specific resource. It is clear what the tool does, but it never names the sibling tools (gaip_watch_events, gaip_watch_list, gaip_watch_remove) that a caller might confuse it with, so the differentiation burden rests on the reader.
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?
"Use this when asked to keep an eye on an agent or MCP server ('tell me if it changes or goes down')" gives an explicit triggering condition rather than implying usage. It stops short of when-not guidance or pointing to the sibling that lists/removes watches.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
gaip_watch_removeRemove a watchADestructiveIdempotentInspect
Use this when asked to stop watching an agent or service. Pass your continuity_handle and the watch_id. Its stored events are deleted; retained receipts stay verifiable. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
| Name | Required | Description | Default |
|---|---|---|---|
| watch_id | Yes | The watch_id returned by gaip_watch_register. | |
| continuity_handle | Yes | The continuity_handle from an earlier GAIP result; proves you own these watches. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true, but the description goes well beyond them: it specifies exactly what is destroyed (stored events), what survives (retained receipts stay verifiable), the cost/auth model (free, no account), the side effect (records a GAIP receipt), and an input constraint (public, non-personal). This is unusually rich behavioral disclosure for a destructive operation.
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?
Four short sentences, front-loaded with the trigger condition, then the required inputs, then the destructive/retention semantics. No filler and no repetition of the schema.
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?
For a destructive, two-parameter tool with nested inputs and no output schema, the description covers the trigger, the required arguments, destruction scope, retention behavior, cost/auth, and input constraints — everything an agent needs before invoking it.
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% and the schema already documents both watch_id (returned by gaip_watch_register) and continuity_handle (proves ownership). The description restates that both must be passed but adds no format or edge-case detail beyond the schema, so the baseline of 3 applies.
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 states a specific verb and resource — stop/remove a watch on an agent or service — and pairs it against the register flow via the required watch_id, so an agent can tell it apart from gaip_watch_register or gaip_watch_list without opening a schema.
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?
"Use this when asked to stop watching an agent or service" gives an explicit trigger condition. It does not name a when-not case or explicitly contrast with gaip_watch_list (view) versus this removal tool, so the guidance is clear but not exhaustive.
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_watch_register1 field changed- changed
Input schema / examplesPrevious value: -[ - { - "continuity_handle": { - "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>", - "token": "<continuity_handle.token returned by any GAIP tool>" - }, - "interval_hours": 24, - "kind": "SUPPLIER_CARD", - "target_url": "https://weather.example.com/.well-known/agent-card.json", - "webhook_url": "https://hooks.example.com/gaip-watch" - } -]New value: +[ + { + "continuity_handle": { + "continuity_id": "<continuity_handle.continuity_id returned by any GAIP tool>", + "token": "<continuity_handle.token returned by any GAIP tool>" + }, + "interval_hours": 24, + "kind": "SUPPLIER_CARD", + "target_url": "https://weather.example.com/.well-known/agent-card.json" + } +]
1 tool update
- Changed
gaip_watch_register6 fields changed- changed
Input schema / properties / interval_hours / descriptionPrevious value: -"Optional: hours between checks (24 minimum on the free tier)."New value: +"Hours between checks: 24 minimum on the free tier; 1 for DELIVERY_SLA." - changed
Input schema / properties / interval_hours / minimumPrevious value: -24New value: +1 - changed
Input schema / properties / kind / descriptionPrevious value: -"AGENT_READINESS (agent URL), SUPPLIER_CARD (published card) or DELIVERY_TERMS (terms_id)."New value: +"AGENT_READINESS (agent URL), SUPPLIER_CARD (published card), DELIVERY_TERMS (terms_id) or DELIVERY_SLA (terms_id plus sla terms)." - changed
Input schema / properties / kind / enumPrevious value: -[ - "AGENT_READINESS", - "DELIVERY_TERMS", - "SUPPLIER_CARD" -]New value: +[ + "AGENT_READINESS", + "DELIVERY_TERMS", + "SUPPLIER_CARD", + "DELIVERY_SLA" +] - added
Input schema / properties / slaAdded value: +{ + "description": "DELIVERY_SLA only: service-level terms checked on every observation, any of min_uptime_pct, max_latency_ms, required_fields (JSON key paths), freshness_field + max_age_seconds; optional uptime_window_hours, min_observations. Results go only to you.", + "type": "object" +} - changed
Input schema / properties / terms_id / descriptionPrevious value: -"DELIVERY_TERMS: terms_id from witness_register_terms."New value: +"DELIVERY_TERMS or DELIVERY_SLA: terms_id from witness_register_terms."
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" +}
5 tool updates
- Changed
gaip_compare_supplier_snapshots8 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 / current / descriptionAdded value: +"The later version, same kind as `prior`." - 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 / independent_operator_id / descriptionAdded value: +"Optional: your operator id (recorded as a claim, not verified)." - added
Input schema / properties / prior / descriptionAdded value: +"The earlier version: agent card, MCP server description, OpenAPI document or snapshot." - 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."
- Changed
gaip_watch_events2 fields changed- added
Input schema / properties / limit / descriptionAdded value: +"Optional: maximum events to return." - added
Input schema / properties / watch_id / descriptionAdded value: +"The watch_id returned by gaip_watch_register."
- Changed
gaip_watch_register3 fields changed- added
Input schema / properties / data_classification / descriptionAdded value: +"PUBLIC (default) or NON_PERSONAL_PUBLIC. Never send personal data." - added
Input schema / properties / interval_hours / descriptionAdded value: +"Optional: hours between checks (24 minimum on the free tier)." - added
Input schema / properties / kind / descriptionAdded value: +"AGENT_READINESS (agent URL), SUPPLIER_CARD (published card) or DELIVERY_TERMS (terms_id)."
- Changed
gaip_watch_remove1 field changed- added
Input schema / properties / watch_id / descriptionAdded value: +"The watch_id returned by gaip_watch_register."
1 tool update
- Added
gaip_supplier_reliability
4 tool updates
- Added
gaip_watch_events - Added
gaip_watch_list - Added
gaip_watch_register - Added
gaip_watch_remove
1 tool update
- Changed
gaip_compare_supplier_snapshots6 fields changed- added
Input schema / examplesAdded value: +[ + { + "counterparty_id": "example-weather-agent", + "current": { + "capabilities": { + "streaming": true + }, + "name": "Weather Agent", + "protocolVersion": "0.3.0", + "security": [ + { + "bearer": [] + } + ], + "securitySchemes": { + "bearer": { + "scheme": "bearer", + "type": "http" + } + }, + "skills": [ + { + "id": "forecast", + "name": "Forecast" + } + ], + "url": "https://weather.example.com/v2/a2a", + "version": "2.0.0" + }, + "prior": { + "capabilities": { + "streaming": true + }, + "name": "Weather Agent", + "protocolVersion": "0.3.0", + "skills": [ + { + "id": "forecast", + "name": "Forecast" + }, + { + "id": "alerts", + "name": "Severe weather alerts" + } + ], + "url": "https://weather.example.com/a2a", + "version": "1.4.0" + } + } +] - 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: +"supplier_snapshot_comparison" - changed
Input schema / requiredPrevious value: -[ - "data_classification", - "counterparty_id", - "task_class", - "protocol", - "prior", - "current" -]New value: +[ + "prior", + "current" +]
1 tool update
- First observed
gaip_compare_supplier_snapshots
Related MCP Connectors
Now part of GAIP Witness: tests supplier claims and compares them with published metadata.
Now part of GAIP Witness: records a buyer's request and checks what was delivered.
GAIP keeps an independent, dated record of what AI agents, MCP servers and online shops publish.
Behind Check and GAIP Watch, and Diagnose: A2A, MCP and OpenAPI checks with a dated change log.
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables users to retrieve supplier catalog and price-history data, and to write comparison sheets through MCP tools.-
- AlicenseNot gradedqualityDmaintenanceEnables tracking web page changes, detecting content modifications with structured diffs and snapshot history through MCP tools.46 PyPIMIT
- AlicenseNot gradedqualityCmaintenanceAnalyzes early government notices to produce an evidence-backed map of plausible supplier companies with deterministic scoring and exact citation validation.MIT
- AlicenseNot gradedqualityCmaintenanceCompetitor Tracker & Co. watches your competitors' websites and reports what changed: pricing, product, messaging and corporate moves, crawled weekly and filed as a tagged, ranked report. This server gives your agent the same intelligence: subscribe to competitors, read the change feed, and pull page snapshots.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.