Skip to main content
Glama
Swissgroceries MCP

Swissgroceries MCP

by nicktcode

find_stock

Check which stores of a Swiss grocery chain have a specific product in stock, optionally filtered by GPS, ZIP, address, or a single store ID.

Instructions

Check which stores of a given chain have a specific product in stock. Optionally filter by proximity to GPS coordinates or query a single store by ID. Not all chains support per-store stock queries; unsupported chains return a clear error. Use for "is this product available near Zurich HB?", "which Coop has item X in stock?".

Input Schema

NameRequiredDescriptionDefault
nearNoOptional location to filter nearby stores. Pass coordinates, a Swiss ZIP, or a free-text address. If omitted, all stores may be queried.
chainYesThe chain to query for stock. Only chains with perStoreStock capability are supported.
storeIdNoQuery a single specific store by its chain-specific store ID. Takes precedence over `near`.
productIdYesChain-specific product ID to check stock for. Obtain via search_products or get_product.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.12.0
    • changedInput schema / properties / chain / enum
      Previous value: -[
      -  "migros",
      -  "coop",
      -  "aldi",
      -  "denner",
      -  "lidl",
      -  "farmy",
      -  "volgshop",
      -  "ottos",
      -  "coopcity"
      -]New value: +[
      +  "migros",
      +  "coop",
      +  "aldi",
      +  "denner",
      +  "lidl",
      +  "volgshop",
      +  "ottos",
      +  "coopcity"
      +]
  2. Changed1 schema field changedv0.11.0
    • changedInput schema / properties / chain / enum
      Previous value: -[
      -  "migros",
      -  "coop",
      -  "aldi",
      -  "denner",
      -  "lidl",
      -  "farmy",
      -  "volgshop",
      -  "ottos"
      -]New value: +[
      +  "migros",
      +  "coop",
      +  "aldi",
      +  "denner",
      +  "lidl",
      +  "farmy",
      +  "volgshop",
      +  "ottos",
      +  "coopcity"
      +]
  3. First observedv0.7.10

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the burden and does disclose a key behavioral trait: not all chains support per-store stock queries and unsupported chains return a clear error — a failure mode the agent needs before calling. It does not cover return shape (whether the result is stores with boolean stock or counts) or any rate/permission concerns, keeping it below a 5.

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?

Three sentences plus two example phrases, with the core capability front-loaded and the unsupported-chain caveat before the illustrative queries. No sentence is redundant.

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 four-parameter read tool with no output schema and no annotations, the description covers purpose, filtering options, and the unsupported-chain error path. The one gap is that it does not say what the response contains (per-store availability flags versus summaries), which would help the agent interpret results.

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 100%, so chain, productId, near variants, and storeId precedence are all fully documented in the schema. The description only restates that proximity filtering is optional and a single store can be queried by ID, adding no syntax or constraint detail beyond the structured fields — baseline 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource — checking which stores of a given chain have a specific product in stock — and the examples anchor it to a concrete question shape. It is clearly distinguishable from find_stores (store listing) and search_products (product lookup) because the output is a stock-availability intersection of the two.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives concrete usage contexts ("is this product available near Zurich HB?", "which Coop has item X in stock?") and explains the optional proximity filter versus the single-store-by-ID path. It stops short of explicitly routing away from siblings (e.g. "use find_stores to list branches without stock data"), so it is clear but not exhaustive.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.