Swiss Groceries MCP
@nicktcode
About Swiss Groceries MCP
MCP server for Swiss grocery stores: Migros, Coop, Aldi, Denner, Lidl
Config
Add this server to your MCP-compatible client using the configuration below.
{
"mcpServers": {
"swissgroceries": {
"command": "npx",
"args": [
"-y",
"@nicktcode/swissgroceries-mcp"
]
}
}
}Tools
7Find 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 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. A `sources` map reports each chain's data freshness (fetchedAt timestamp + fromCache flag) so you can tell the user how current the prices are. Use for "find organic milk under 2 CHF", "compare pasta prices", or "search for gluten-free bread".
Fetch full product details for a specific chain + product ID pair. Returns { product, fetchedAt, fromCache }: the product carries price, brand, size, unit price, tags, category, image URL, and active promotions, while fetchedAt + fromCache report how fresh the data is. 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?".
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".
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?".
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 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).
Overview
What is Swiss Groceries MCP?
Swiss Groceries MCP is a Model Context Protocol server that provides real-time Swiss grocery shopping capabilities. It lets users search products, compare prices across eight major retailers (Migros, Coop, Aldi, Denner, Lidl, Farmy, Volgshop, and Otto’s), view weekly promotions, and plan multi-store shopping trips. It is intended for anyone using an MCP‑compatible AI client (e.g., Claude Desktop, Claude Code, Cursor, Cline, Continue, VS Code) to make smarter grocery decisions.
How to use Swiss Groceries MCP?
Install via npm with npx -y @nicktcode/swissgroceries-mcp and add the server entry to your MCP client’s config file (e.g., claude_desktop_config.json or .cursor/mcp.json). No accounts, tokens, or API keys are required. A one‑click .mcpb installer is also available on the Releases page for Claude Desktop.
Key features of Swiss Groceries MCP
- Cross‑chain product search with normalized prices and unit prices.
- Real‑time price comparison across Migros, Coop, Aldi, and more.
- Weekly promotions viewable by chain, keyword, or expiry.
- Multi‑store shopping planner with single‑store, split‑cart, and cheapest modes.
- Per‑store stock checking for supported chains.
- Automatic credential management for Denner (anonymous self‑registration).
- In‑memory caching, retry, rate limiting, and circuit‑breaking for reliability.
Use cases of Swiss Groceries MCP
- Compare the cheapest place for milk near a given Swiss postal code.
- Plan a weekly grocery trip to minimize both cost and number of stops.
- Discover this week’s best deals across all supported chains.
- Find which stores near a location have a specific product in stock.
- Get full nutritional information (normalised per 100g) for products across chains.
FAQ from Swiss Groceries MCP
What does Swiss Groceries MCP do that alternatives do not?
It integrates eight Swiss grocery chains into a single MCP interface, normalises prices, promotions, and nutritional data, and offers a multi‑store shopping planner that optimises for cost, trips, or both.
What are the runtime requirements?
Node.js version 20 or higher is required. The server runs as a stdio‑based MCP tool; no persistent database or external service is needed.
Where does user data live?
All data is fetched live from the retailers’ public mobile‑app endpoints. No user data is stored by the server; it does not require accounts or API keys.
Are there any known limitations?
The upstream APIs are unofficial and can change without notice, potentially breaking adapters. The Denner and Lidl adapters may require occasional token rotation. Some chains (e.g., Aldi, Lidl, Farmy) do not expose per‑store stock or nutrition data.
What transport and authentication does Swiss Groceries MCP use?
It uses stdio transport (MCP protocol). No authentication is required; the Denner adapter self‑registers anonymously on first use. Configuration is done via environment variables.
Frequently asked questions
What does Swiss Groceries MCP do that alternatives do not?
It integrates eight Swiss grocery chains into a single MCP interface, normalises prices, promotions, and nutritional data, and offers a multi‑store shopping planner that optimises for cost, trips, or both.
What are the runtime requirements?
Node.js version 20 or higher is required. The server runs as a stdio‑based MCP tool; no persistent database or external service is needed.
Where does user data live?
All data is fetched live from the retailers’ public mobile‑app endpoints. No user data is stored by the server; it does not require accounts or API keys.
Are there any known limitations?
The upstream APIs are unofficial and can change without notice, potentially breaking adapters. The Denner and Lidl adapters may require occasional token rotation. Some chains (e.g., Aldi, Lidl, Farmy) do not expose per‑store stock or nutrition data.
What transport and authentication does Swiss Groceries MCP use?
It uses stdio transport (MCP protocol). No authentication is required; the Denner adapter self‑registers anonymously on first use. Configuration is done via environment variables.
Basic information
More Productivity MCP servers

crosscode-cli
amsultan2010Multiplayer coding in the agentic era through an MCP server for real-time codebase sync between your agents.

Nevent
neventNevent is a remote MCP server available at https://mcp.nevent.ai.

Plyto
PlytoPlyto is an agentic CRM for small businesses, and this server exposes the whole platform to the AI you already use. Connect Claude, Cursor, or any MCP-compatible assistant with a per-business API key and your agent can c

lucid.page
BitgatePublish beautiful Markdown docs instantly from any AI agent. Zero-config remote MCP server — your LLM pastes Markdown, gets back a shareable page. Free, no signup needed.

ListingGood MCP
DedeGroupListingGood AI Recommendation Engine — a hosted MCP server + Claude/Cursor skills that make Amazon's AI recommend your products. Free no-login scan: https://listinggood.com/scan Get API key: https://listinggood.com/deve
Comments