Skip to main content
Glama
my-grocery-mcp

my-grocery-mcp

by yifei-ding

search_products

Find and compare grocery products across Swiss chains by keyword, using optional price, size, and tag filters; results are grouped by chain for price comparison.

Instructions

Search for products across configured Swiss grocery chains (Migros, Coop, Aldi, Denner, Lidl) by keyword. Supports optional filters for price, size range, and product tags (organic, vegan, budget, etc.). Returns results grouped by chain with normalised price, unit price, size, and promotion info. Use for "find organic milk under 2 CHF", "compare pasta prices", or "search for gluten-free bread".

Input Schema

NameRequiredDescriptionDefault
limitNoMaximum number of results per chain (1–50). Defaults to chain-specific limit.
queryYesSearch term in any language, e.g. "Milch", "pâtes", "Bier". At least 1 character.
chainsNoRestrict search to specific chains. Omit to search all configured chains in parallel.
offsetNoSkip the first N results per chain. Use with `limit` to paginate. Default 0.
filtersNoOptional product filters applied after search.
storeIdsNoFilter results to products available in these store IDs (chain-specific internal IDs).

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.1.0

TDQS

A4.2/5.0
Behavior3/5

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

No annotations are provided, so the description must cover behavioral details. It mentions results are grouped by chain and include price, unit price, size, and promotion info, but does not explain pagination (limit/offset defaults), rate limits, or auth requirements. The parallel search across chains is also not disclosed.

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: one for main action, one for filters, one for output and examples. Highly concise, front-loaded, and every sentence adds value without redundancy.

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?

The description covers purpose, filters, and output format well, but lacks details on default pagination, result ordering, and treatment of empty results. Given the complexity (nested filters, no output schema), it is mostly complete but has minor gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description adds value by listing output fields (normalized price, unit price, size, promotion info) and providing concrete examples that tie parameters to use cases, which helps the agent understand parameter combinations.

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?

The description clearly states the tool searches for products across specific Swiss grocery chains by keyword, with filters and grouped results. It provides concrete example queries, effectively distinguishing it from siblings like get_product (single product) or find_stock (stock levels).

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?

The description gives specific use cases (e.g., 'find organic milk under 2 CHF') and implies usage for multi-chain searches. However, it does not explicitly state when to use other tools like get_product or find_stock, leaving some ambiguity for the agent.

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