GAIP Procurement Evidence Agent
Server Details
Now part of GAIP Witness: tests supplier claims and compares them with published metadata.
- Status
- Healthy
- Uptime
- 99.9% 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 1 tool
There is only one tool, so there is no possibility of confusion or misselection between overlapping tool purposes. An agent can clearly identify the intended operation.
The single tool uses a clear snake_case verb_noun pattern with a consistent GAIP prefix. With no other tools to compare against, there is no inconsistency present.
A single tool is thin for a server named 'Procurement Evidence Agent,' though the operation itself is substantive rather than trivial. It is borderline appropriate for a narrowly scoped verification task.
The tool covers claim verification and receipt recording, but the surface lacks lifecycle operations such as retrieving past receipts, listing verified claims, or managing evidence records. This leaves some notable gaps for a broader procurement evidence workflow.
Available Tools
1 toolgaip_verify_supplier_claimsVerify an agent's or supplier's claimsAInspect
Use this to check what an agent, API or supplier claims. Pass claims (each with an id; add check_url and GAIP tests it now), your observations and metadata. Returns per claim what GAIP saw, what you reported and whether they agree. Free, no account; records a GAIP receipt only. Inputs must be public and non-personal.
| Name | Required | Description | Default |
|---|---|---|---|
| claims | Yes | Claims to check, each {id, text}. | |
| metadata | Yes | The published agent card, MCP server description or OpenAPI document (as JSON). | |
| 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_claim_check |
| observations | No | Optional: what you saw, each {claim_id, result: PASS|FAIL, detail}. | |
| 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?
Annotations declare readOnlyHint=false, openWorldHint=true, idempotentHint=false, destructiveHint=false, and the description usefully adds what the write actually is ('records a GAIP receipt only') plus cost/auth context ('Free, no account'). With no output schema, it also discloses the return shape (per-claim what GAIP saw, what you reported, whether they agree), which is the right burden to carry.
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 with the core action front-loaded, then inputs, then return shape, then constraints. No filler or restated name/title content.
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 11-parameter, nested-object tool with no output schema, the description covers the meaning of the main flow, the optional live-test path, and the return semantics. Secondary params (episode_id, task_class, continuity_handle, synthetic) are left to the schema, which documents them adequately, so completeness is solid though not exhaustive.
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 baseline is 3, but the description adds meaning beyond the schema: it explains the claim object's id requirement and the non-schema `check_url` field that triggers immediate GAIP testing, and clarifies that observations are your reported results versus GAIP's own findings. That earns above 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?
States a specific verb+resource ('check what an agent, API or supplier claims') and spells out the core mechanic (pass claims, optionally add check_url for GAIP to test live, supply observations). There are no siblings to distinguish from, and the scope is unambiguous.
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?
Gives clear when-to-use context ('Use this to check what an agent, API or supplier claims') plus a hard precondition ('Inputs must be public and non-personal'), and notes it is free with no account required. It stops short of explicit when-not-to-use guidance, but with no sibling tools the practical gap is small.
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_verify_supplier_claims9 fields changed- added
Input schema / properties / claims / descriptionAdded value: +"Claims to check, each {id, text}." - 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 / independent_operator_id / descriptionAdded value: +"Optional: your operator id (recorded as a claim, not verified)." - added
Input schema / properties / metadata / descriptionAdded value: +"The published agent card, MCP server description or OpenAPI document (as JSON)." - added
Input schema / properties / observations / descriptionAdded value: +"Optional: what you saw, each {claim_id, result: PASS|FAIL, detail}." - 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."
1 tool update
- Changed
gaip_verify_supplier_claims6 fields changed- added
Input schema / examplesAdded value: +[ + { + "claims": [ + { + "id": "c1", + "text": "Returns JSON forecasts over MCP" + }, + { + "id": "c2", + "text": "Responds within 2 seconds" + } + ], + "counterparty_id": "example-weather-agent", + "metadata": { + "protocolVersion": "2025-06-18", + "url": "https://weather.example.com/mcp" + }, + "observations": [ + { + "claim_id": "c1", + "detail": "tools/call returned valid JSON", + "result": "PASS" + }, + { + "claim_id": "c2", + "detail": "p95 latency 4.8 s over 20 calls", + "result": "FAIL" + } + ] + } +] - 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_claim_check" - changed
Input schema / requiredPrevious value: -[ - "data_classification", - "counterparty_id", - "task_class", - "protocol", - "claims", - "metadata" -]New value: +[ + "claims", + "metadata" +]
1 tool update
- First observed
gaip_verify_supplier_claims
Related MCP Connectors
Now part of GAIP Check and GAIP Watch: compares supplier snapshots and watches for change.
Now part of GAIP Witness: records a buyer's request and checks what was delivered.
Now part of GAIP Witness: verifies GAIP receipts; evidence packs and incident bundles.
GAIP keeps an independent, dated record of what AI agents, MCP servers and online shops publish.
Related MCP Servers
AlicenseAqualityDmaintenanceOpen behavioral litmus for MCP servers — grades A–F across tool-output injection, egress, sensitive-data, and adversarial-input, with reproducible, content-addressed evidence. Tools: run_litmus, verify_attestation.4149 npm8Apache 2.0- AlicenseNot gradedqualityAmaintenanceEnables deliverable conformance and evidence-chain checks by turning requirements into executable specs, validating numbers against a provenance ledger, and auditing PDF/OOXML metadata and archive manifests.27 npm1MIT
- AlicenseAqualityDmaintenanceIndependent trust scores, claim audits, and side-by-side comparisons for AI agents, queryable over MCP. Every verdict is backed by hands-on testing and signed evidence from Hlido (hlido.eu). Hosted endpoint available at https://hlido.eu/mcp — no auth required.14MIT
- AlicenseNot gradedqualityCmaintenanceMCP server for AI compliance auditing. Scores agent outputs for hallucination liability under the EU AI Act, issues verifiable compliance stamps, and tracks audit history by agent.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.