Skip to main content
Glama

A2A Passport — one GTIN, one call, everything GSC knows, signed

Server Details

The hubs are the records; A2A-Passport.ai issues the passport.

Ownership verified
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

A3.9/5.0

Scored across 3 tools

Disambiguation5/5

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.

Naming Consistency5/5

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.

Tool Count4/5

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.

Completeness4/5

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 tools
get_passportGet PassportA
Idempotent
Inspect

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).

NameRequiredDescriptionDefault
kindNo
subjectYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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 PassportsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
kindNo
limitNo
sinceNo
marketNo
offsetNo

Output Schema

NameRequiredDescription

No output parameters

TDQS

A3.8/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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 PassportB
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
versionNo
passport_idYes

Output Schema

NameRequiredDescription

No output parameters

TDQS

B3.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters2/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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.

  1. 3 tool updates
    • First observedget_passport
    • First observedlist_passports
    • First observedverify_passport

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.