nicktcode/swissgroceries-mcp

nicktcode/swissgroceries-mcp

от nicktcode
MCP сервер для поиска и сравнения продуктов в швейцарских супермаркетах (Migros, Coop, Aldi, Denner, Lidl и др.) в реальном времени. Показывает цены, акции, наличие, помогает спланировать покупки: выбрать лучший магазин или разделить корзину. Экономит время и деньги.

swissgroceries-mcp

swissgroceries-mcp

npm version npm downloads CI License: AGPL-3.0 Node MCP compatible nicktcode/swissgroceries-mcp MCP server PRs Welcome

Real-time Swiss grocery shopping over the Model Context Protocol. Search products, compare prices across Migros, Coop, Aldi, Denner, Lidl, Farmy, Volgshop, and Otto's, see weekly promotions, and plan multi-store shopping trips. Works with any MCP-compatible client (Claude Desktop, Claude Code, Cursor, Cline, Continue, VS Code MCP extensions, custom clients).

Disclaimer

This is a personal fun project. It is not affiliated with, endorsed by, or sponsored by Migros, Coop, Aldi, Denner, Lidl, Farmy, Volg, Otto's, or any other retailer. It uses publicly accessible mobile-app endpoints to make Swiss grocery shopping a bit smarter for end users.

If you represent any of these stores and have concerns (about API usage, branding, scraping rate, or anything else), please reach out to the maintainer through GitHub and we will work it out. No need to escalate.

API stability: the chain APIs used here are unofficial and can change at any time. The maintainer is not responsible for failures caused by upstream changes; please open an issue with the response sample so the affected adapter can be updated.

PRs welcome. New chains, better matchers, smarter strategies, bug fixes, doc improvements; all encouraged. See CONTRIBUTING.md.

find_stock

Проверяет, в каких магазинах заданной сети есть конкретный товар в наличии. Опционально фильтрует по близости к GPS-координатам или запрашивает один магазин по ID. Не все сети поддерживают запросы остатков по магазинам; неподдерживаемые сети возвращают понятную ошибку. Используйте для «доступен ли этот товар рядом с Zurich HB?», «в каком Coop есть товар X?».

Проверяет, в каких магазинах заданной сети есть конкретный товар в наличии. Опционально фильтрует по близости к GPS-координатам или запрашивает один магазин по ID. Не все сети поддерживают запросы остатков по магазинам; неподдерживаемые сети возвращают понятную ошибку. Используйте для «доступен ли этот товар рядом с Zurich HB?», «в каком Coop есть товар X?».

Параметры

  • chainenumобязательный

    The chain to query for stock. Only chains with perStoreStock capability are supported.

    migroscoopaldidennerlidlfarmyvolgshopottos
  • productIdstringобязательный

    Chain-specific product ID to check stock for. Obtain via search_products or get_product.

  • nearany

    Optional location to filter nearby stores. Pass coordinates, a Swiss ZIP, or a free-text address. If omitted, all stores may be queried.

  • storeIdstring

    Query a single specific store by its chain-specific store ID. Takes precedence over `near`.

find_stores

Находит продуктовые магазины рядом с местоположением, отфильтрованные по сети и радиусу поиска. Принимает швейцарский почтовый индекс, координаты GPS или адрес в свободной форме в качестве центра поиска. Возвращает название магазина, адрес, сеть, местоположение и часы работы (при наличии). Используется для запросов вроде «найти Migros рядом со мной», «какие отделения Coop есть в 8001?» или перед проверкой остатков на складе.

Находит продуктовые магазины рядом с местоположением, отфильтрованные по сети и радиусу поиска. Принимает швейцарский почтовый индекс, координаты GPS или адрес в свободной форме в качестве центра поиска. Возвращает название магазина, адрес, сеть, местоположение и часы работы (при наличии). Используется для запросов вроде «найти Migros рядом со мной», «какие отделения Coop есть в 8001?» или перед проверкой остатков на складе.

Параметры

  • nearanyобязательный

    Center of the search radius. Pass either coordinates, a Swiss ZIP, or a free-text address.

  • chainsstring[]

    Limit results to specific chains. Omit to search all configured chains.

  • radiusKmnumber

    Search radius in kilometers (1–50). Defaults to 5 km.

get_product

Получает все сведения о товаре для конкретной пары сеть + идентификатор товара. Возвращает { product, fetchedAt, fromCache }: продукт содержит цену, бренд, размер, цену за единицу, теги, категорию, URL изображения и активные акции, а fetchedAt и fromCache сообщают, насколько свежи данные. Получает идентификаторы товаров из search_products. Полезно для углублённого изучения результата поиска. Подходит для запросов "get details for this Migros product" или "what is the unit price of this item?".

Получает все сведения о товаре для конкретной пары сеть + идентификатор товара. Возвращает { product, fetchedAt, fromCache }: продукт содержит цену, бренд, размер, цену за единицу, теги, категорию, URL изображения и активные акции, а fetchedAt и fromCache сообщают, насколько свежи данные. Получает идентификаторы товаров из search_products. Полезно для углублённого изучения результата поиска. Подходит для запросов "get details for this Migros product" или "what is the unit price of this item?".

Параметры

  • chainenumобязательный

    The grocery chain that owns this product ID.

    migroscoopaldidennerlidlfarmyvolgshopottos
  • idstringобязательный

    Chain-specific product identifier, e.g. Migros cumulus ID or Coop product number. Obtain via search_products.

get_promotions

Выводит текущие акционные предложения в настроенных швейцарских продуктовых сетях. Фильтрует по сети, ключевому слову, ID магазина или количеству дней до окончания акции. Возвращает название акции, скидку, даты действия и участвующие магазины. Используйте для запросов: «что сейчас по акциям на этой неделе?», «есть ли скидки на сыр в Migros?» или «акции, заканчивающиеся сегодня».

Выводит текущие акционные предложения в настроенных швейцарских продуктовых сетях. Фильтрует по сети, ключевому слову, ID магазина или количеству дней до окончания акции. Возвращает название акции, скидку, даты действия и участвующие магазины. Используйте для запросов: «что сейчас по акциям на этой неделе?», «есть ли скидки на сыр в Migros?» или «акции, заканчивающиеся сегодня».

Параметры

  • chainsstring[]

    Limit to specific chains. Omit to fetch promotions from all configured chains.

  • querystring

    Optional keyword to filter promotions by product name, e.g. "Käse", "wine".

  • endingWithinDaysinteger

    Only return promotions ending within this many days (1–60). Useful for "ending soon" queries.

  • storeIdsstring[]

    Restrict to promotions valid at these store IDs (chain-specific). Obtain store IDs from find_stores.

health_check

Проверяет каждый зарегистрированный адаптер цепочки тривиальным запросом и сообщает статус, задержку и флаги возможностей. Используйте это, когда цепочка отсутствует в результатах или при отладке проблем с адаптером.

Проверяет каждый зарегистрированный адаптер цепочки тривиальным запросом и сообщает статус, задержку и флаги возможностей. Используйте это, когда цепочка отсутствует в результатах или при отладке проблем с адаптером.

Параметры

  • chainsstring[]

    Chains to probe. Default: all configured.

  • timeoutMsinteger

    Per-chain timeout in milliseconds. Default 5000.

plan_shopping

Планирует многоэтапную поездку по магазинам рядом с местоположением, выбирая лучшие товары среди настроенных швейцарских продуктовых сетей. Товары могут быть общими («milch», «pasta») или привязанными к конкретному SKU. Возвращает основной план и альтернативы. Используйте, когда пользователь даёт список товаров и спрашивает «где мне совершить покупки?» или «что дешевле всего?». Стратегии: single_store (одна сеть), split_cart (несколько сетей со штрафом за остановку), absolute_cheapest (без штрафа).

Планирует многоэтапную поездку по магазинам рядом с местоположением, выбирая лучшие товары среди настроенных швейцарских продуктовых сетей. Товары могут быть общими («milch», «pasta») или привязанными к конкретному SKU. Возвращает основной план и альтернативы. Используйте, когда пользователь даёт список товаров и спрашивает «где мне совершить покупки?» или «что дешевле всего?». Стратегии: single_store (одна сеть), split_cart (несколько сетей со штрафом за остановку), absolute_cheapest (без штрафа).

Параметры

  • itemsobject[]обязательный

    The list of items to shop for. At least one item required.

  • nearanyобязательный

    Shopper's location — used to find nearby stores. Pass coordinates, ZIP, or address.

  • chainsstring[]

    Restrict the plan to these chains. Omit to consider all configured chains.

  • strategyenumобязательный

    single_store: buy everything at one chain (minimises trips). split_cart: allow multiple chains but add splitPenaltyChf per extra stop. absolute_cheapest: pick the cheapest source per item regardless of stops.

    single_storesplit_cartabsolute_cheapest
  • splitPenaltyChfnumber

    Cost in CHF added per extra store stop in split_cart strategy. Default 2.00.

  • radiusKmnumber

    Only consider stores within this radius of the provided location (1–50 km). Default 5 km.

search_products

Ищет товары по ключевому слову в настроенных швейцарских продуктовых сетях (Migros, Coop, Aldi, Denner, Lidl). Поддерживает необязательные фильтры по цене, диапазону размера и тегам товаров (органические, веганские, бюджетные и т.д.). Возвращает результаты, сгруппированные по сетям, с нормализованной ценой, ценой за единицу, размером и информацией об акциях. Карта `sources` сообщает свежесть данных каждой сети (временная метка fetchedAt + флаг fromCache), чтобы вы могли рассказать пользователю, насколько актуальны цены. Используйте для запросов вроде «найти органическое молоко до 2 CHF», «сравнить цены на пасту» или «поиск безглютенового хлеба».

Ищет товары по ключевому слову в настроенных швейцарских продуктовых сетях (Migros, Coop, Aldi, Denner, Lidl). Поддерживает необязательные фильтры по цене, диапазону размера и тегам товаров (органические, веганские, бюджетные и т.д.). Возвращает результаты, сгруппированные по сетям, с нормализованной ценой, ценой за единицу, размером и информацией об акциях. Карта `sources` сообщает свежесть данных каждой сети (временная метка fetchedAt + флаг fromCache), чтобы вы могли рассказать пользователю, насколько актуальны цены. Используйте для запросов вроде «найти органическое молоко до 2 CHF», «сравнить цены на пасту» или «поиск безглютенового хлеба».

Параметры

  • querystringобязательный

    Search term in any language, e.g. "Milch", "pâtes", "Bier". At least 1 character.

  • chainsstring[]

    Restrict search to specific chains. Omit to search all configured chains in parallel.

  • storeIdsstring[]

    Filter results to products available in these store IDs (chain-specific internal IDs).

  • filtersobject

    Optional product filters applied after search.

  • limitinteger

    Maximum number of results per chain (1–50). Defaults to chain-specific limit.

  • offsetinteger

    Skip the first N results per chain. Use with `limit` to paginate. Default 0.

Другие проверенные MCP-сервера

executeautomation/playwright-mcp-server

executeautomation/playwright-mcp-server

Сервер для браузерной автоматизации на Playwright. Используется AI-агентами для открытия страниц, скриншотов, веб-скрапинга и выполнения JavaScript в реальном браузере. Отлично подходит для тестиро...

TypeScript5578
oraios/serena

oraios/serena

Serena — MCP-сервер для AI-агентов, который даёт семантический поиск, рефакторинг и отладку кода на уровне IDE. Работает с символьными операциями, ускоряет агентов в больших проектах.

Python26580
buildkite/buildkite-mcp-server

buildkite/buildkite-mcp-server

официальный

MCP-сервер для интеграции данных Buildkite (пайплайны, сборки, задания, тесты) с AI-инструментами и редакторами. Разработчики могут анализировать CI/CD-процессы через ИИ-ассистентов.

Go53
browserbase/mcp-server-browserbase

browserbase/mcp-server-browserbase

официальный

MCP сервер облачной автоматизации браузера Browserbase. Позволяет AI-агентам навигировать по сайтам, извлекать данные и выполнять действия. Полезен для RPA и веб-скрапинга. Доступен self-hosted и hosted.

TypeScript3408
graphlit-mcp-server

graphlit-mcp-server

официальный

MCP сервер для Graphlit — превращает проект в RAG-базу знаний из данных Slack, Discord, Jira, GitHub, Google Drive. Работает в Cursor, Windsurf, Goose, Cline. Встроен веб-краулинг и веб-поиск.

TypeScript377
Brave Search MCP Server

Brave Search MCP Server

официальный

MCP-сервер для интеграции Brave Search API: веб-поиск, изображения, видео, новости, локальные места и AI-суммаризация. Полезен разработчикам AI-агентов, чат-ботов и RAG-пайплайнов. Поддерживает STD...

TypeScript1311
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин