Skip to main content

A2A Grocery — the agentic hub for retail grocery procurement

io.github.greencore-solutions/a2a-groceryVersion 1.5.1

A2A + MCP hub for retail grocery procurement — 20 markets on the SCHEMA algo record. Trade only.

Status

Responds145 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:52 UTC
Latency
145 ms
Remotes responding
1 of 1
Sign-in
No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 22:14 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://mcp.a2a-grocery.ai/mcpResponds145 ms
No sign-in

Claude Code

claude mcp add --transport http a2a-grocery https://mcp.a2a-grocery.ai/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: a2a-grocery
Remote MCP server URL: https://mcp.a2a-grocery.ai/mcp

Cursor

{
  "mcpServers": {
    "a2a-grocery": {
      "url": "https://mcp.a2a-grocery.ai/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"a2a-grocery","type":"http","url":"https://mcp.a2a-grocery.ai/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

23 tools

Tools of A2A Grocery — the agentic hub for retail grocery procurement
Read-only
Idempotent
Open world
a2a_handoffHand the buyer to the right agent over Agent-to-Agent (A2A): with an allow decision the order intent goes to the counterparty's agent (envelope + card URL); with a deny, the market agent of the ship-to — a referral, never a sale to a consumer.NoNoNoNo
claim_seatA brand's agent claims its seat on A2A Grocery. Give the agent's card URL and the GTINs the brand claims: every GTIN must resolve on gtinfetch.ai to the maker the card names, and the category comes first (grocery proceeds; a beauty record is referred to a2a-cosmetics.ai; peptides to a2a-peptides.ai; beer, wine and spirits are refused; an unresolved GTIN is refused). An accepted claim answers a challenge for the card's domain (a DNS TXT record or a well-known file); call again with the challenge_id once it is published: a pass moves the brand's rows from listed to claimed and answers the seat key. With the seat key, rows sets the seat's own price, availability, markets and claims, its own GTINs only. Every claim, accepted or refused, is logged. Verified is a person's step, never a tool's.NoNoNoNo
compare_itemsCompare items, variants and pack sizes side by side (two to eight GTINs or catalogue ids).NoYesYesNo
create_order_intentOpen an order between two agents: an order intent for a cleared item after the gate; the intent carries reason_code + rule_set_version and settles by x402 on a2a-x402.ai.NoNoNoNo
find_verified_buyerRetail buyer desks for this market: banner records (banner, parent group, channel discounter · e-commerce · local · in-store · traditional, local format, cited POS count or NULL, buyer desk by department) with their claim status — verified first, then claimed, then listed. Filters: channel, department. Takes the decision_id of an allow decision.NoYesYesNo
find_verified_supplierVerified makers, brand owners, private-label owners, distributors and importers for this item or category in a market: maker records with their claim status — verified first, then claimed, then listed. Takes the decision_id of an allow decision.NoYesYesNo
gate_transactionAllow or deny, with the reason and the rule. Takes an item (GTIN or catalogue id; optional), the ship-to market, the actor class and, when no record exists yet, the product type, ingredients and claims. Returns one of twelve reason codes (ALLOW · REQUIRE_NOTIFICATION · REQUIRE_RESPONSIBLE_PERSON · DENY_NOT_PERMITTED_HERE · DENY_INGREDIENT_BANNED · DENY_INGREDIENT_LIMIT · DENY_CLAIM · DENY_MARKET · DENY_ACTOR_CLASS · DENY_UNLICENSED_AGENT · DENY_NO_GTIN · DENY_NOT_VERIFIED), the rule-set version, the source page and a decision_id for the downstream tools.NoYesYesNo
get_availabilityIn stock, and where: the availability block of an item (banners on the shelf of record, product URLs read live at load, POS counts where the banner record carries a cited one) once gate_transaction has answered allow (decision_id).NoYesYesNo
get_enforcement_watchRecalls, withdrawals and food-safety alerts, dated: enforcement events by market, category, brand or since a date, each with its source page.NoYesYesNo
get_itemProduct record from gtinfetch.ai (signed); hub layer: seat, market, claim, price, availability. One item by GTIN (EAN in European copy), fully resolved: temperature, department → super category → category, attribute lanes, pack, brand and maker, market, claim status, market status, availability; after the gate also ingredients, allergens, claims, origin, certificates, variants and offers.NoYesYesNo
get_label_and_claimsWhat the label must say, and which claims are allowed: the labelling requirements of the market (food information, allergens, origin, nutrition) and the claims rules of record (nutrition and health claims, organic, free-from), each with its source page. Optional claims are checked against the rules.NoYesYesNo
get_market_statusIs this product type a food here, and under which regime? Product type by market: food, special class (novel food, food supplement, infant formula, fortified, organic-certified, alcohol excise) or not permitted — with the rule-set version and the regulator's page.NoYesYesNo
get_notification_requirementsWhat must be filed before sale in a market: the food business registration or import notification scheme, the food business operator of record, and, for a product type in a special class, the extra step (novel-food authorisation, organic certification, supplement notification) — each with its source page.NoYesYesNo
get_priceThe price for this buyer: the price basis (list · contract · promotion window) from the maker's offers on the record, once gate_transaction has answered allow (decision_id). Plain $ on human surfaces. Tiers buy services, never rank.NoYesYesNo
get_productUniversal Commerce Protocol (UCP) product detail, version 2026-08-25 (dev.ucp.shopping.catalog.lookup). arguments: meta {'ucp-agent': {profile}} (required) and catalog {id: a GTIN or a variant id <market>:<gtin14>; context; filters}. One product of the priced subset with its variants per market, list price and claim_status; outside the subset, ucp.status error and not_found.NoYesYesNo
get_product_documentsCertificates and paper: the documents on an item record (organic certificate, PDO/PGI, halal, kosher, specification, allergen statement, origin declaration, lot where it applies), each a URL with its read date and source class; decision_id required.NoYesYesNo
log_auditWrite a line to the audit record for a gate decision, an order intent or a handoff (returns the line id).NoNoNoNo
lookup_catalogUniversal Commerce Protocol (UCP) catalogue lookup, version 2026-08-25 (dev.ucp.shopping.catalog.lookup). arguments: meta {'ucp-agent': {profile}} (required) and catalog {ids: product ids (GTIN) or variant ids (<market>:<gtin14>), up to 50; context; filters}. Found rows come back as products with their claim_status; an id outside the priced subset answers an info not_found message.NoYesYesNo
resolve_actorWho is asking? Maker, brand owner, private label, distributor, importer, broker or retail buyer (trade only); auditor (read-only); agent (inherits the class of the credential it presents — none returns DENY_UNLICENSED_AGENT). The consumer is never the counterparty. Returns communication_class: trade_information or public.NoYesYesNo
resolve_jurisdictionWhere is this going? Resolve a ship-to (e.g. 'DE', 'US-CA', 'UK', 'FR', 'EU-NL', 'JP') to one of the 20 markets and its rule set (14 rule sets; the seven EU markets share one food-law set with national riders). UK is the label; machine fields carry the ISO code GB.NoYesYesNo
search_catalogUniversal Commerce Protocol (UCP) catalogue search, version 2026-08-25 (dev.ucp.shopping.catalog.search). arguments: meta {'ucp-agent': {profile}} (required) and catalog {query, context {address_country}, filters {categories, price {min, max} in minor units}, pagination {limit, cursor}}. Serves the priced subset: rows whose maker's list price is on the record (claimed seats with a listed price), keyed by GTIN, each with its claim_status. Every other row stays on search_cleared_items.NoYesYesNo
search_cleared_itemsFind items cleared for this market: validated SKU records in a market (query by product name, brand, maker or category; filters: temperature ambient · chilled · frozen · fresh, attribute lane organic · free-from · plant-based · artisan · origin · premium, department). Only validated rows are served; each item carries its claim status, market status and source class.NoYesYesNo
verify_gtinProduct record from gtinfetch.ai (signed); hub layer: seat, market, claim, price, availability. Is this GTIN real, and whose is it? Check-digit validation, the GS1 prefix, and the validated record(s) that carry it on this hub with their brand, maker and claim status.NoYesYesNo

Details

Registry status
Active
Published
Nov 13, 2026
Updated
Nov 13, 2026
Categories (suggested)
E-commerceSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing