Skip to main content
Glama
yifei-ding

my-grocery-mcp

by yifei-ding

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MIGROS_REGIONNoMigros region override. Default region is Zürich (2).2

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{}
prompts
{}
resources
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
find_storesA

Find grocery stores near a location, filtered by chain and search radius. Accepts a Swiss ZIP code, GPS coordinates, or a free-text address as the search center. Returns store name, address, chain, location, and opening hours where available. Use for "find a Migros near me", "which Coop branches are in 8001?", or before checking stock.

search_productsA

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

get_productA

Fetch full product details for a specific chain + product ID pair. Returns price, brand, size, unit price, tags, category, image URL, and active promotions. Obtain product IDs from search_products. Useful for drilling into a search result. Use for "get details for this Migros product" or "what is the unit price of this item?".

get_promotionsA

List current promotional deals across configured Swiss grocery chains. Filter by chain, keyword, store ID, or how many days until the promotion expires. Returns promotion name, discount, validity dates, and applicable stores. Use for "what is on sale this week?", "any Migros deals on cheese?", or "promotions ending today".

find_stockA

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?".

health_checkA

Probe each registered chain adapter with a trivial query and report status, latency, and capability flags. Use this when a chain seems missing from results or when debugging adapter problems.

plan_shoppingA

Plan a multi-store shopping trip near a location, picking the best products across configured Swiss grocery chains. Items can be generic ("milch", "pasta") or pinned to a specific SKU. Returns a primary plan plus alternatives. Use when the user gives a list of items and asks "where should I shop?" or "what's cheapest?". Strategies: single_store (one chain), split_cart (multi-chain with stop penalty), absolute_cheapest (no penalty).

Prompts

Interactive templates invoked by user choice

NameDescription
weekly_deals_digestSummarise this week's best grocery deals across all configured Swiss chains, optionally filtered by category, chain, or location. Lists the top discounts by % off and absolute saving, calling out Swiss household staples (laundry, dairy, drinks) when relevant.
compare_basket_across_chainsCompare the cost of a shopping basket across all configured Swiss grocery chains and recommend where to shop. Returns a per-chain total, identifies which chain is cheapest for each item, and produces a multi-store split-cart plan if it materially beats single-store shopping.
cheapest_recipe_ingredientsGiven a recipe (list of ingredients with quantities, or a recipe URL), find the cheapest place to buy each ingredient across all configured Swiss grocery chains and produce a consolidated shopping plan.

Resources

Contextual data attached and managed by the client

NameDescription
Registered chainsList of currently registered grocery-chain adapters and their capabilities (productSearch, productDetail, storeSearch, promotions, perStoreStock, perStorePricing).

TDQS

A4.2/5.0

Scored across 7 tools

Disambiguation5/5

Each tool targets a distinct resource and action: store discovery, product search, product detail, promotions, per-store stock, adapter diagnostics, and multi-item trip planning. The only mild conceptual overlap (search_products vs plan_shopping) is clearly separated by scope—single-product search versus multi-item itinerary optimization.

Naming Consistency5/5

All seven tools follow a consistent snake_case verb_noun pattern (find_stores, search_products, get_product, get_promotions, find_stock, plan_shopping), with health_check being the only noun-ish exception but still readable and idiomatic.

Tool Count5/5

Seven tools is well-scoped for a Swiss grocery comparison server, covering discovery, search, detail, promotions, stock, diagnostics, and planning without redundancy. Each tool earns its place in the workflow.

Completeness4/5

The surface covers the core lifecycle: find stores, search products, inspect details, check promotions and stock, and plan trips, plus a health check for adapter issues. Minor gaps exist—no explicit chain/capability listing beyond health_check, no store-detail-by-ID tool, and no price history—but these are workable around.

Maintenance

ActivityMaintained
ResponsivenessNo issues