Swissgroceries MCP
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DENNER_JWT | No | Optional pre-supplied Denner Bearer JWT. Without it, the adapter self-registers anonymously on first use and rotates the token automatically. | |
| LIDL_DEFAULT_STORE | No | Default Lidl store ID used when no storeIds are passed. | CH0149 |
| SWISSGROCERIES_LOG_LEVEL | No | silent, info, or debug. | info |
| SWISSGROCERIES_DISABLE_CACHE | No | Set to 1 to bypass the in-memory HTTP cache (useful for debugging). | |
| SWISSGROCERIES_USER_AGENT_COOP | No | Override the User-Agent for Coop calls if DataDome ever blocks the default. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {} |
| prompts | {} |
| resources | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| 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
| Name | Description |
|---|---|
| weekly_deals_digest | Summarise 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_chains | Compare 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_ingredients | Given 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
| Name | Description |
|---|---|
| Registered chains | List of currently registered grocery-chain adapters and their capabilities (productSearch, productDetail, storeSearch, promotions, perStoreStock, perStorePricing). |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/nicktcode/swissgroceries-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server