A2A Passport — one GTIN, one call, everything GSC knows, signed
Server Details
The hubs are the records; A2A-Passport.ai issues the passport.
- Status
- Healthy
- Uptime
- 99.4% over 21 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- greencore-solutions/a2a-passport
- GitHub Stars
- 0
TDQS
Scored across 3 tools
get_passport retrieves one full signed passport body, list_passports enumerates metadata only, and verify_passport checks signature/chain integrity. Each has a clearly distinct purpose and output, so an agent can select correctly without overlap.
All three tools follow the same verb_noun snake_case pattern: get_passport, list_passports, verify_passport. Singular/plural usage is appropriate for single-item retrieval versus enumeration.
Three tools is lean but well-scoped for a focused read-only passport service covering retrieval, enumeration, and verification. It avoids bloat, though it sits at the low end of the typical 3-15 range.
The surface covers the core read lifecycle: fetch a passport, list passports, and verify signature/version integrity. Minor gaps exist (e.g., no batch retrieval or direct JWKS fetch tool), but agents can work around them via the existing operations.
Available Tools
3 toolsget_passportGet PassportAIdempotentInspect
The signed passport of a product (a Global Trade Item Number, GTIN) or a retail banner (market/banner, e.g. FR/Carrefour): which hub holds its record, where it is on the record, its compliance records, who lists it, where the payment door is. Read live from the GSC hubs on every call; the first call issues version 1. subject = a GTIN (8 to 14 digits) or market/banner; kind = gtin or banner (optional).
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| subject | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description explains the surprising annotation profile: despite being a read, the first call 'issues version 1', which accounts for readOnlyHint=false, and the live-read-on-every-call semantics align with openWorldHint=true and idempotentHint=true. What it does not add is any auth, rate-limit, or failure behavior, but the core side-effect disclosure is genuinely useful 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?
The purpose and payload list are front-loaded in the first sentence, with the live-read caveat and parameter definitions following. Slightly dense and clause-heavy, but 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 two-parameter tool with an output schema (so return shape needn't be restated), the description covers what the passport contains, that results are fetched live, and that the first call creates version 1. The one real gap is sibling disambiguation against verify_passport and list_passports.
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 0%, so the description carries the full burden and does: 'subject' is defined as a GTIN of 8–14 digits OR a market/banner string such as FR/Carrefour, and 'kind' is defined as gtin or banner and marked optional. This supplies format, allowed values, and optionality that the bare schema lacks.
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 verb+resource ('the signed passport of a product ... or a retail banner') and enumerates the payload an agent gets back: hub ownership, record location, compliance records, listings, payment door. It neatly separates the GTIN case from the market/banner case, though it never names the siblings list_passports or verify_passport, so the agent must infer the distinction itself.
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?
There is no statement of when to call this versus list_passports or verify_passport, nor any prerequisite or exclusion. 'Read live from the GSC hubs on every call' describes runtime behavior rather than selection guidance, leaving the routing decision entirely to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_passportsList PassportsARead-onlyIdempotentInspect
The passports on the register: ids, kinds, markets, versions and issue times, newest first. No bodies. Filter by kind (gtin or banner), market, or issued since a time; paginated.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | ||
| limit | No | ||
| since | No | ||
| market | No | ||
| offset | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent, non-destructive read, so the bar is lower. The description adds genuinely useful traits beyond them: fixed ordering ('newest first'), payload shape ('No bodies'), and that the result set is paginated.
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?
Two compact sentences with no filler; the return shape and ordering come first and the filtering/pagination note follows. Every clause carries information an agent can act on.
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?
An output schema exists, so return values need not be spelled out, and the annotations cover the safety profile. The only real gap is the semantics of limit/offset, which are never explained beyond the word 'paginated'.
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 0%, so the description must carry the load and it does add meaning for kind (including the gtin/banner values the schema lacks an enum for), market, and since. It leaves limit and offset unexplained apart from the word 'paginated', so the compensation is partial.
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 (list) and resource (passports on the register) and enumerates exactly what comes back (ids, kinds, markets, versions, issue times). The contrast with siblings is implicit via 'No bodies,' which suggests get_passport returns the body, but no sibling is named outright.
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 tells the agent how to narrow results (kind, market, since) and that results are paginated, which implies usage for metadata browsing rather than fetching a single record. However, it never says when to prefer this over get_passport or verify_passport, leaving the agent to infer the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_passportVerify PassportBRead-onlyIdempotentInspect
Check a passport: is the signature valid, is the chain of versions intact, how old is the stamp, was any section not read. Verifies from the published key at /.well-known/jwks.json.
| Name | Required | Description | Default |
|---|---|---|---|
| version | No | ||
| passport_id | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, closed-world behavior, so the bar is lower; the description still adds meaningful context by disclosing the trust anchor used (the published key at /.well-known/jwks.json) and the four distinct checks performed. It does not state failure modes (e.g., what a broken chain returns), which is a minor gap.
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?
Two dense sentences with the four checks front-loaded and the key-location detail placed last; no filler. The list-style phrasing is efficient, though the compressed 'was any section not read' clause reads slightly awkwardly.
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?
An output schema exists so return values need not be explained, and annotations cover the safety profile. However, with 0% parameter coverage and no usage routing to the sibling tools, the definition leaves real gaps for a two-parameter verification tool.
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 0%, so the description must carry parameter meaning, and it largely does not. The phrase 'chain of versions intact' loosely gestures at the optional 'version' parameter but never explains that it pins verification to a specific version, and the passport_id format/source is never described.
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 (verify/check) and resource (passport) and enumerates exactly what is validated: signature validity, version-chain integrity, stamp age, and unread sections. It is clearly distinguishable from get_passport/list_passports in intent, though it never names those siblings explicitly.
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?
Usage is implied — this is the tool you call to validate rather than merely retrieve a passport — but there is no explicit when-to-use, when-not-to-use, or reference to the get_passport/list_passports alternatives. An agent can infer the routing but must do so unaided.
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.
3 tool updates
- First observed
get_passport - First observed
list_passports - First observed
verify_passport
Related MCP Connectors
Verifiable agent DIDs + capability discovery — the passport & directory of the A2A economy.
Command your AI agents: verifiable passports, credential injection, full audit, revoke in 60s.
Issue Agent Passports and verify agent authority before value moves. Signed verification records.
First A2A registry where AI agents discover & transact with compliance firms - audits, permits.
Related MCP Servers
- AlicenseAqualityCmaintenanceIssues, verifies, and exchanges portable cryptographic compliance passports for AI agents, enabling offline verification of regulatory compliance across 11 frameworks.3MIT
- AlicenseAqualityDmaintenanceTrust intelligence MCP server for AI agents. 19 tools for identity stamps, reputation scoring (0-100), agent registry, forensic audit trails, ERC-8004 bridge, and A2A passports via x402 USDC micropayments.192Apache 2.0
- AlicenseBqualityBmaintenanceEnables AI agents and builders to run governance assessments including A³ scorecards, evidence-chain templates, compliance checklists, passport lookup, privacy/credential scanning, and doctrine knowledge routing, with traceable audit-ready outputs. It provides local, zero-dependency tools for AI governance self-assessment and registration readiness.6MIT
- AlicenseNot gradedqualityAmaintenanceEnables AI agents to register identities, discover peers, exchange hellos, and send or read authenticated private messages over an untrusted public hub, with legacy v1 compatibility.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.