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?».

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

    Цепочка для запроса остатков. Поддерживаются только цепочки с возможностью perStoreStock.

  • nearobject

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

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

    Идентификатор продукта для конкретной сети, для которого нужно проверить наличие. Получить через search_products или get_product.

  • storeIdstring

    Запрашивает один конкретный магазин по его ID магазина в сети. Имеет приоритет над near.

find_stores

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

Параметры
  • chainsenum[]

    Ограничьте результаты конкретными цепочками. Если не указано, выполняется поиск по всем настроенным цепочкам.

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

    Центр радиуса поиска. Передайте либо координаты, либо швейцарский почтовый индекс, либо адрес в свободной форме.

  • radiusKmnumber

    Радиус поиска в километрах (1–50). По умолчанию 5 км.

get_product

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

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

    Сеть продуктовых магазинов, которая владеет этим идентификатором продукта.

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

    Идентификатор товара, специфичный для сети, например, cumulus ID от Migros или номер товара от Coop. Получайте через search_products.

get_promotions

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

Параметры
  • chainsenum[]

    Ограничьте конкретными цепочками. Оставьте пустым, чтобы получить акции из всех настроенных цепочек.

  • endingWithinDaysinteger

    Возвращает только акции, срок действия которых истекает в течение указанного количества дней (1–60). Полезно для запросов «скоро заканчивается».

  • querystring

    Необязательное ключевое слово для фильтрации акций по названию продукта, например «Käse», «wine».

  • storeIdsstring[]

    Ограничьте промоакции, действующие для этих ID магазинов (специфичные для сети). Получите ID магазинов из find_stores.

health_check

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

Параметры
  • chainsenum[]

    Цепочки для проверки. По умолчанию: все настроенные.

  • timeoutMsinteger

    Таймаут на цепочку в миллисекундах. По умолчанию 5000.

plan_shopping

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

Параметры
  • chainsenum[]

    Ограничьте план этими цепочками. Не учитывайте все настроенные цепочки.

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

    Список товаров для покупки. Требуется минимум один товар.

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

    Местоположение покупателя — используется для поиска ближайших магазинов. Передайте координаты, почтовый индекс или адрес.

  • radiusKmnumber

    Учитывайте только магазины в пределах этого радиуса от указанного местоположения (1–50 км). По умолчанию — 5 км.

  • splitPenaltyChfnumber

    Стоимость в CHF, добавляемая за каждую дополнительную остановку в магазине в стратегии split_cart. По умолчанию 2.00.

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

    single_store: покупать всё в одной сети (минимизирует поездки). split_cart: разрешить несколько сетей, но добавлять штраф за каждую дополнительную остановку. absolute_cheapest: выбирать самый дешёвый источник для каждого товара независимо от остановок.

search_products

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

Параметры
  • chainsenum[]

    Ограничьте поиск конкретными цепочками. Если параметр не указан, выполняется поиск по всем настроенным цепочкам параллельно.

  • filtersobject

    Необязательные фильтры товаров применяются после поиска.

  • limitinteger

    Максимум результатов на цепочку (1–50). По умолчанию применяется лимит конкретной цепочки.

  • offsetinteger

    Пропускает первые N результатов для каждой цепочки. Используйте вместе с параметром limit для постраничной навигации. Значение по умолчанию — 0.

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

    Поисковый запрос на любом языке, например "Milch", "pâtes", "Bier". Минимум 1 символ.

  • storeIdsstring[]

    Фильтрует результаты по товарам, доступным в указанных store ID (внутренние идентификаторы, специфичные для конкретной сети).

0.11.1основная
0.11.0
0.10.0
0.9.0
0.8.2
0.8.1
0.8.0
0.7.14
0.7.13
0.7.12
0.7.11
0.7.10
0.7.9
0.7.8
0.7.7
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.2
0.6.1
0.6.0
0.5.0
0.4.2
0.4.1
0.4.0
0.3.0
0.2.0
0.1.6
0.1.5
0.1.4
0.1.3
0.1.2
0.1.1
0.1.0

Выберите клиент, чтобы установить nicktcode/swissgroceries-mcp:

Любой клиент

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

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

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

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

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "nicktcode-swissgroceries-mcp-z29esa5erl": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "@nicktcode/swissgroceries-mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"nicktcode-swissgroceries-mcp-z29esa5erl\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"@nicktcode/swissgroceries-mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json

Впишите сервер и полностью перезапустите Claude Desktop:

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

Добавьте сервер одной командой в терминале:

claude mcp add nicktcode-swissgroceries-mcp-z29esa5erl -- npx -y @nicktcode/swissgroceries-mcp

Либо через JSON-конфиг:

claude mcp add-json nicktcode-swissgroceries-mcp-z29esa5erl "{\"command\":\"npx\",\"args\":[\"-y\",\"@nicktcode/swissgroceries-mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add nicktcode-swissgroceries-mcp-z29esa5erl -- npx -y @nicktcode/swissgroceries-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.nicktcode-swissgroceries-mcp-z29esa5erl]
command = "npx"
args = ["-y", "@nicktcode/swissgroceries-mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите nicktcode/swissgroceries-mcp, а в поле команды запуска — строку ниже:
npx -y @nicktcode/swissgroceries-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

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

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "nicktcode-swissgroceries-mcp-z29esa5erl": {
      "command": "npx",
      "args": [
        "-y",
        "@nicktcode/swissgroceries-mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например nicktcode-swissgroceries-mcp-z29esa5erl.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: nicktcode-swissgroceries-mcp-z29esa5erl
    command: npx
    args:
      - "-y"
      - "@nicktcode/swissgroceries-mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

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

Похожие MCP-сервера

rubenayla/partle-mcp

rubenayla/partle-mcp

от rubenayla

MCP сервер для Partle — локального маркетплейса, где ИИ ищет товары в 16 000 магазинов рядом или добавляет объявления за вас. Охват 130 000+ продуктов, чтение без пароля, запись через API ключ. Подходит для быстрых покупок и продаж прямо из ассистента.

Python⭐ 1
Вкусвилл MCP

Вкусвилл MCP

официальный

от lukentui

Ищет товары ВкусВилл с учётом акций, подбирает аналоги и рецепты, собирает готовую корзину по ссылке. Официальный сервер.

⭐ 1
lisamaraventano-spine/mcp-server

lisamaraventano-spine/mcp-server

от lisamaraventano-spine

MCP сервер для Underground Cultural District открывает доступ к 200+ цифровым товарам из 20+ магазинов, 4 бесплатным библиотекам агентов и утилитам разработчика. Включает 19 инструментов: от поиска...

JavaScript⭐ 1
KyuRish/fiverr-mcp-server

KyuRish/fiverr-mcp-server

от kyurish

MCP сервер для поиска и просмотра гигов, продавцов, цен и отзывов на Fiverr. Помогает находить фрилансеров и сравнивать услуги без регистрации API. Подходит для анализа рынка и выбора исполнителя через AI-ассистента.

Python⭐ 15
W3Ship/w3ship-mcp-server

W3Ship/w3ship-mcp-server

от baskcart

W3Ship Commerce MCP Server даёт AI-агентам (Claude, Cursor) создавать корзины, заказы, отслеживать доставку, торговать P2P, обменивать токены (Uniswap) и раздавать промо — всё с криптоидентификацие...

JavaScript⭐ 1
shopsavvy/shopsavvy-mcp-server

shopsavvy/shopsavvy-mcp-server

от shopsavvy

MCP-сервер, открывающий AI-ассистентам доступ к ShopSavvy Data API. Он позволяет искать товары по штрихкоду или ASIN, получать текущие и исторические цены, настраивать автоматическое обновление для...

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

Лука Никитин