# nicktcode/swissgroceries-mcp [Health: Active]

**Category:** 🛒 E-Commerce  
**Repository:** https://github.com/nicktcode/swissgroceries-mcp  
**GitHub Stars:** 38  
**npm Downloads (last month):** 828  
**Views:** 7  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/nicktcode-swissgroceries-mcp

## Description
Swiss grocery search, weekly promotions, and multi-store shopping plans across Migros, Coop, Aldi, Denner, Lidl, Farmy, Volg, and Otto's. Cross-chain unit-price comparison and three planning strategies (singlestore / splitcart / absolutecheapest). Install via npx -y @nicktcode/swissgroceries-mcp.

## Tools
Capabilities this server exposes over MCP:

- **find_stores** — Find grocery stores near a location, filtered by chain and radius.
- **search_products** — Cross-chain product search with normalised price, unit price, size, and tags.
- **get_product** — Full product details for a chain plus product ID pair.
- **get_promotions** — Current promotional deals, filterable by chain, keyword, store, or expiry.
- **find_stock** — Stores of a chain that have a given product in stock.
- **plan_shopping** — Plan a multi-store trip for a shopping list near a location.
- **health_check** — Probe each registered chain adapter and report status, latency, and capabilities.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "swissgroceries-mcp": {
    "command": "npx",
    "args": ["-y","@nicktcode/swissgroceries-mcp"]
  }
}
```

## Documentation

## What nicktcode/swissgroceries-mcp does

Swiss grocery shopping data is exposed through MCP tools for product discovery, price comparison, promotions, store lookup, stock checks, and shopping-list planning. Supported chain adapters cover Migros, Coop, Aldi, Denner, Lidl, Farmy, Volgshop, Otto's, and Coop City, with capabilities varying by retailer.

Product results can include normalized prices, unit prices, sizes, tags, and—in supported cases—nutrition values normalized per 100 g or 100 ml. The server also supports three shopping-planning approaches: keeping the list at one store, splitting it across stores, or selecting the lowest available prices. Location-aware operations use a supplied address or other location input together with chain and radius filters where applicable.

## How it works

The package runs as an MCP process that clients start with `npx -y @nicktcode/swissgroceries-mcp`. Agents can call individual tools or use the included prompt templates for common workflows such as weekly deal summaries, basket comparisons, and finding the cheapest sources for recipe ingredients.

The server queries public retailer endpoints through separate chain adapters. A `swissgroceries://chains` resource reports registered adapters and their capabilities, including product search, product details, store search, promotions, per-store stock, and per-store pricing. The `health_check` tool reports adapter status, response latency, and available capabilities.

Coverage differs between chains. Migros and Coop provide broad catalog access with store-related features, while delivery-focused providers such as Farmy and Volgshop do not provide physical-store stock. Lidl coverage is based on its Swiss storefront and weekly offers, and Coop City is queried only when explicitly included through the chain selection.

## Setup and configuration

Install the package through an MCP client using the command below:

```bash
npx -y @nicktcode/swissgroceries-mcp
```

Claude Code can add it with `claude mcp add swissgroceries -- npx -y @nicktcode/swissgroceries-mcp`. Other stdio-compatible clients can use the same command in their MCP server configuration. Claude Desktop also supports installing the project’s `.mcpb` release package.

No API keys, accounts, or tokens are required for normal operation. Optional settings include `DENNER_JWT` for a supplied Denner bearer token, `LIDL_DEFAULT_STORE` for a default Lidl store ID, `SWISSGROCERIES_USER_AGENT_COOP` for overriding the Coop request user agent, and `SWISSGROCERIES_LOG_LEVEL` for log configuration. Denner can register an anonymous client automatically when no token is supplied.

## Tools and capabilities

- `find_stores` locates nearby grocery stores and can filter by chain and radius.
- `search_products` searches across chains and returns normalized pricing, unit-price, size, and tag fields.
- `get_product` retrieves detailed information using a chain and product ID pair.
- `get_promotions` filters current offers by chain, keyword, store, or expiry.
- `find_stock` identifies stores in a chain that carry a specified product.
- `plan_shopping` creates a multi-store plan for a shopping list near a location.
- `health_check` checks adapter status, latency, and capabilities.

The server also exposes the `weekly_deals_digest`, `compare_basket_across_chains`, and `cheapest_recipe_ingredients` prompt templates. These help clients construct requests that use the relevant tools.

## Limitations and notes

Retailer access relies on unofficial APIs and public mobile-app or storefront endpoints. Upstream changes can affect availability or response formats. Features such as per-store stock, promotions, nutrition, and product coverage depend on each chain adapter; delivery-only retailers cannot provide physical-store inventory. Coop City is an opt-in catalog and covers department-store categories such as cosmetics, household goods, fashion, and electronics rather than a general grocery assortment.

The project is not affiliated with or endorsed by the retailers it accesses. Its license is PolyForm Shield 1.0.0.

_Full upstream README: https://allmcps.com/mcp/nicktcode-swissgroceries-mcp/readme_

