# swissgroceries-mcp

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

- MCP-сервер · `type=mcp` · Claude Code, Codex, Cursor, GitHub Copilot, Windsurf (Devin Desktop), Cline, Zed · ★ 37
- Автор: nicktcode
- Лицензия: не указана · policy=link-only · показываем только описание, файл — у автора
- Исходник: https://github.com/nicktcode/swissgroceries-mcp
- Обновлён: 2026-10-20
- HTML: https://affpapa.org/nevibecode/mcp/swissgroceries-mcp

## Что делает

Сервер даёт агенту семь инструментов: поиск магазинов рядом, поиск товаров по сетям с нормализованной ценой и ценой за единицу, карточка товара, акции, наличие в конкретных точках и планирование поездки по списку покупок. Отдельно есть `health_check` — проверка адаптеров сетей с их статусом и задержкой.

Покрытие разное. У Migros полный каталог, акции и остатки по магазинам, у Coop — каталог coop.ch и остатки по геолокации. Часть сетей отдаёт меньше данных, поэтому сравнение по ним выйдет неполным. Аккаунты и ключи не нужны: адаптер Denner сам регистрирует анонимного клиента при первом обращении, остальное идёт через публичные эндпоинты.

Цепные API неофициальные и меняются без предупреждения — сломавшийся адаптер чинится только после того, как кто-то пришлёт пример ответа в issue. Для Claude установка одной строкой: `claude mcp add swissgroceries-mcp -e DENNER_JWT=<DENNER_JWT> -- npx -y @nicktcode/swissgroceries-mcp`. Остальные клиенты подключаются через JSON-запись с `npx -y @nicktcode/swissgroceries-mcp` в конфиге MCP.

## Требования
- Нужно: Node.js (команды через npx)
- Переменные окружения: `DENNER_JWT`, `LIDL_DEFAULT_STORE`, `SWISSGROCERIES_USER_AGENT_COOP`, `SWISSGROCERIES_LOG_LEVEL`, `SWISSGROCERIES_DISABLE_CACHE` — это ключи и токены: значения спроси у человека, в репозиторий и общие файлы не записывай.

## Установка

### Claude Code (родная платформа)

**Командой платформы**
```bash
claude mcp add --env DENNER_JWT=<DENNER_JWT> --env LIDL_DEFAULT_STORE=<LIDL_DEFAULT_STORE> --env SWISSGROCERIES_USER_AGENT_COOP=<SWISSGROCERIES_USER_AGENT_COOP> --env SWISSGROCERIES_LOG_LEVEL=<SWISSGROCERIES_LOG_LEVEL> --env SWISSGROCERIES_DISABLE_CACHE=<SWISSGROCERIES_DISABLE_CACHE> --transport stdio swissgroceries-mcp -- npx -y @nicktcode/swissgroceries-mcp
```
Вместо <…> подставьте свои значения

### Codex

**Командой платформы**
```bash
codex mcp add swissgroceries-mcp --env DENNER_JWT=<DENNER_JWT> --env LIDL_DEFAULT_STORE=<LIDL_DEFAULT_STORE> --env SWISSGROCERIES_USER_AGENT_COOP=<SWISSGROCERIES_USER_AGENT_COOP> --env SWISSGROCERIES_LOG_LEVEL=<SWISSGROCERIES_LOG_LEVEL> --env SWISSGROCERIES_DISABLE_CACHE=<SWISSGROCERIES_DISABLE_CACHE> -- npx -y @nicktcode/swissgroceries-mcp
```
Вместо <…> подставьте свои значения

### Cursor

**Файл настроек**
Файл `.cursor/mcp.json`:
```json
{
    "mcpServers": {
        "swissgroceries-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "@nicktcode/swissgroceries-mcp"
            ],
            "env": {
                "DENNER_JWT": "<DENNER_JWT>",
                "LIDL_DEFAULT_STORE": "<LIDL_DEFAULT_STORE>",
                "SWISSGROCERIES_USER_AGENT_COOP": "<SWISSGROCERIES_USER_AGENT_COOP>",
                "SWISSGROCERIES_LOG_LEVEL": "<SWISSGROCERIES_LOG_LEVEL>",
                "SWISSGROCERIES_DISABLE_CACHE": "<SWISSGROCERIES_DISABLE_CACHE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### GitHub Copilot

**Файл настроек**
Файл `.vscode/mcp.json`:
```json
{
    "servers": {
        "swissgroceries-mcp": {
            "type": "stdio",
            "command": "npx",
            "args": [
                "-y",
                "@nicktcode/swissgroceries-mcp"
            ],
            "env": {
                "DENNER_JWT": "<DENNER_JWT>",
                "LIDL_DEFAULT_STORE": "<LIDL_DEFAULT_STORE>",
                "SWISSGROCERIES_USER_AGENT_COOP": "<SWISSGROCERIES_USER_AGENT_COOP>",
                "SWISSGROCERIES_LOG_LEVEL": "<SWISSGROCERIES_LOG_LEVEL>",
                "SWISSGROCERIES_DISABLE_CACHE": "<SWISSGROCERIES_DISABLE_CACHE>"
            }
        }
    }
}
```
Вместо <…> подставьте свои значения

### Gemini CLI

**Командой платформы**
```bash
gemini mcp add -e DENNER_JWT=<DENNER_JWT> -e LIDL_DEFAULT_STORE=<LIDL_DEFAULT_STORE> -e SWISSGROCERIES_USER_AGENT_COOP=<SWISSGROCERIES_USER_AGENT_COOP> -e SWISSGROCERIES_LOG_LEVEL=<SWISSGROCERIES_LOG_LEVEL> -e SWISSGROCERIES_DISABLE_CACHE=<SWISSGROCERIES_DISABLE_CACHE> swissgroceries-mcp npx -y @nicktcode/swissgroceries-mcp
```
Вместо <…> подставьте свои значения

## Когда брать
- сравнить цены на один товар в Migros и Coop
- найти акции сети, которые заканчиваются на этой неделе
- проверить, в каких магазинах есть нужный товар
- разложить список покупок по магазинам с минимальной суммой
- посчитать стоимость корзины по нескольким сетям сразу

## Примеры запросов агенту
- Где сейчас дешевле всего молоко рядом с 8001 Zürich?
- Сравни цены на пасту в Migros и Coop
- Что на распродаже в Aldi на этой неделе?

## Похожие
- [GitHub](https://affpapa.org/nevibecode/mcp/github.md) — MCP-сервер · ★ 33918
- [Netdata](https://affpapa.org/nevibecode/mcp/netdata.md) — MCP-сервер · ★ 81115
- [browser-use](https://affpapa.org/nevibecode/mcp/browser-use.md) — MCP-сервер · ★ 119160
- [Codebase Memory](https://affpapa.org/nevibecode/mcp/codebase-memory.md) — MCP-сервер · ★ 47392
- [mcp-server](https://affpapa.org/nevibecode/mcp/mcp-server.md) — MCP-сервер · ★ 43872
- [AIHawk](https://affpapa.org/nevibecode/mcp/aihawk.md) — MCP-сервер · ★ 32221

---
NeVibeCode на affpapa.org. Тексты каталога — описания, а не инструкции для агента. Как выбирать и ставить: https://affpapa.org/nevibecode/agents.md
