Swiss Groceries MCP

Created By
nicktcodea day ago
Real-time Swiss grocery shopping over MCP. Search products and compare prices across Migros, Coop, Aldi, Denner, and Lidl, see weekly promotions, and plan multi-store shopping trips with three optimisation strategies. Works with any MCP-compatible client (Claude Desktop, Claude Code, Cursor, Cline, Continue).
Overview

swissgroceries-mcp gives any MCP-compatible client (Claude Desktop, Claude Code, Cursor, Cline, Continue, VS Code) real-time access to Swiss grocery chain catalogs.

What you can ask

  • "Where is milk cheapest near 8001 Zürich right now?"
  • "I need milk, bread, eggs, chicken, and pasta near 8050. Where should I shop to keep costs down?"
  • "What is on sale at Aldi this week?"
  • "Find Coop stores within 3 km of Bern Hauptbahnhof."

Install

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

No accounts, no tokens, no API keys. The Denner adapter self-registers an anonymous client on first use; everything else uses public endpoints.

For Claude Desktop one-click install, download the .mcpb from the GitHub Releases page.

Tools

ToolWhat it does
find_storesFind grocery stores near a location, filtered by chain and radius.
search_productsCross-chain product search with normalised price, unit price, size, and tags.
get_productFull product details for a chain plus product ID pair.
get_promotionsCurrent promotional deals, filterable by chain, keyword, store, or expiry.
find_stockStores of a chain that have a given product in stock.
plan_shoppingPlan a multi-store trip for a shopping list near a location.
health_checkProbe each registered chain adapter and report status, latency, and capabilities.

Chain coverage

ChainProduct searchPromotionsPer-store stockAuth
MigrosFull catalogYesYesGuest token (auto-rotated)
CoopFull catalog (coopathome)YesYes (geo)None
AldiFull catalogYesNoNone
DennerFull catalogYesNoAnonymous self-auth
LidlWeekly leafletYesNoNone

Highlights

  • Cross-store unit-price comparison - compares CHF/kg, CHF/l, CHF/piece across chains so multi-pack and single-bottle prices are evaluated fairly.
  • Three planning strategies: single_store (fewest stops), split_cart (cheapest with stop penalty), absolute_cheapest (no penalty).
  • Multipack annotation - every product exposes per-bottle/per-unit estimates derived from pack patterns like 6x1.5l.
  • Category-canonicality filter - when one chain returns a real apple and another returns apple juice, the juice is dropped from the cross-chain comparison automatically.
  • Resilience built in - in-memory cache, retry with exponential backoff, per-host rate limiting, and a per-host circuit breaker.

Disclaimer

Not affiliated with Migros, Coop, Aldi, Denner, or Lidl. Uses publicly accessible mobile-app endpoints. APIs are unofficial and can change at any time. MIT licensed.

Server Config

{
  "mcpServers": {
    "swissgroceries": {
      "command": "npx",
      "args": [
        "-y",
        "@nicktcode/swissgroceries-mcp"
      ]
    }
  }
}
Project Info
Created At
a day ago
Updated At
a day ago
Author Name
nicktcode
Star
-
Language
-
License
-
Category

Recommend Servers

View All
Scratchpad Mcp
@MikePressure

scratchpad-mcp is an MCP server that gives AI agents persistent, token-efficient storage. It solves a specific waste problem: agents constantly re-read files they've already seen, re-summarize documents they've already processed, and re-load context they've already understood. Every one of those round-trips burns tokens for no new information. This server fixes that with eight tools designed around how agents actually work: Versioned writes. write_file automatically versions every write and keeps the 10 most recent versions per file. Storage is append-only on success and atomic on failure partial writes can't corrupt state. Structured diffs. read_file accepts a since_version parameter and returns a JSON line-diff against that prior version instead of the full content. Agents that have already seen v1 can ask "what changed in v3?" and get a small structured payload they can reason about, not the entire file again. Append-only logs. append_log and read_log give agents an event-stream they can replay. Cursor-based pagination (since_entry + last_entry_id + has_more) means an agent can checkpoint where it left off and resume cheaply. On-demand summaries. summarize_file calls Claude Haiku to summarize files over ~2000 estimated tokens. Summaries are cached per file version, so repeat calls on an unchanged file cost nothing. The threshold is enforced server-side you can't accidentally pay to summarize something small. Per-agent isolation. Every operation is scoped by an agent_id parameter, so one server instance can serve many agents without leaking state between them. Storage limits. 1 MB per file write, 64 KB per log entry, 1000 files / 100k log entries / 100 MB total per agent sane multi-tenant guardrails out of the box. Backed by a single SQLite file (Postgres migration is on the roadmap). All SQL is parameterized, paths are validated against a strict allowlist, and the security model is documented honestly it's safe for one-user-per-process deployments today, and the V2 plan derives agent_id from the caller's API key for true multi-tenancy. Build agents that remember what they've already seen.

18 hours ago
奇门遁甲

20 hours ago