# A2A Grocery — the agentic hub for retail grocery procurement (io.github.greencore-solutions/a2a-grocery): tool descriptions scored

- tools/list taken: 2026-11-02 (UTC)
- From: [Official MCP Registry](https://registry.modelcontextprotocol.io/v0/servers/io.github.greencore-solutions%2Fa2a-grocery/versions/latest)
- Connected to: https://mcp.a2a-grocery.ai/mcp
- Homepage: https://a2a-grocery.ai/
- Repository: https://github.com/greencore-solutions/a2a-grocery
- Scoring rules: v2
- Tools: 19
- Average: 39.9 / 100 (Rain)
- Near-identical pairs: 0

This page shows how A2A Grocery — the agentic hub for retail grocery procurement (io.github.greencore-solutions/a2a-grocery)'s tool descriptions scored, the issues found and the names of its tools and parameters. The descriptions are the server's own: read them where the copy came from.

Forecall asked the URL this server lists in the official MCP Registry for its tools/list once, on the date above, without calling any tool. The server may have changed since.

## Across the server

No server-wide issues.

## Tools

- `get_enforcement_watch`: 34 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: market, query, since.
  - Minor: No `required` list, so every argument is optional.
- `find_verified_buyer`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: market, decision_id, channel, department, query, limit.
  - Minor: String arguments with no constraint or example: market, decision_id.
  - Minor: Required identifiers whose description does not say where the value comes from: decision_id. Name the tool or the place that returns it, or models look it up first.
- `find_verified_supplier`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: market, decision_id, gtin, query, lane, limit.
  - Minor: String arguments with no constraint or example: market, decision_id.
  - Minor: Required identifiers whose description does not say where the value comes from: decision_id. Name the tool or the place that returns it, or models look it up first.
- `get_availability`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: gtin, decision_id, market.
  - Minor: String arguments with no constraint or example: gtin, decision_id.
  - Minor: Required identifiers whose description does not say where the value comes from: decision_id. Name the tool or the place that returns it, or models look it up first.
- `get_market_status`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: product_type, market.
  - Minor: String arguments with no constraint or example: product_type, market.
- `get_product_documents`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: gtin, decision_id, market.
  - Minor: String arguments with no constraint or example: gtin, decision_id.
  - Minor: Required identifiers whose description does not say where the value comes from: decision_id. Name the tool or the place that returns it, or models look it up first.
- `verify_gtin`: 35 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: gtin.
  - Minor: String arguments with no constraint or example: gtin.
- `search_cleared_items`: 38 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: market, query, temperature, lane, department, product_type, limit, decision_id.
  - Minor: String arguments with no constraint or example: market.
- `compare_items`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: gtins, market, decision_id.
- `get_item`: 40 / 100
  - Major: Arguments without a description: gtin, market, decision_id.
  - Minor: String arguments with no constraint or example: gtin.
  - Major: The name is made of generic words only.
- `get_label_and_claims`: 40 / 100
  - Major: Arguments without a description: market, claims, product_type.
  - Minor: String arguments with no constraint or example: market.
- `get_price`: 40 / 100
  - Major: Arguments without a description: gtin, decision_id, market.
  - Minor: String arguments with no constraint or example: gtin, decision_id.
  - Minor: Required identifiers whose description does not say where the value comes from: decision_id. Name the tool or the place that returns it, or models look it up first.
- `resolve_jurisdiction`: 40 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: ship_to.
  - Minor: String arguments with no constraint or example: ship_to.
- `log_audit`: 42 / 100
  - Major: Says nothing about when to use it, or when not to.
  - Major: Arguments without a description: kind, reference_id, note.
  - Minor: String arguments with no constraint or example: kind, reference_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: reference_id. Name the tool or the place that returns it, or models look it up first.
- `create_order_intent`: 43 / 100
  - Major: Arguments without a description: gtin, quantity, decision_id, market, ship_to.
  - Minor: String arguments with no constraint or example: gtin, decision_id.
  - Minor: The description mentions none of its 3 or more arguments.
  - Minor: Required identifiers whose description does not say where the value comes from: decision_id. Name the tool or the place that returns it, or models look it up first.
- `get_notification_requirements`: 43 / 100
  - Major: Arguments without a description: market, product_type.
  - Minor: String arguments with no constraint or example: market.
- `a2a_handoff`: 45 / 100
  - Major: Arguments without a description: intent_id, decision_id, counterparty_card_url.
  - Minor: No `required` list, so every argument is optional.
  - Minor: The description mentions none of its 3 or more arguments.
- `gate_transaction`: 50 / 100
  - Major: Arguments without a description: ship_to, actor_class, product, product_type, ingredients, claims, channel, credential.
  - Minor: String arguments with no constraint or example: ship_to, actor_class.
- `resolve_actor`: 53 / 100
  - Major: Arguments without a description: actor_class, credential.
  - Minor: String arguments with no constraint or example: actor_class.

Is your server listed here and you would rather it were not? Email support@forecall.dev, and we will take it off within 7 days.

[All scored servers](https://forecall.dev/en/servers)
