mcp-recipe-shopping-list
Recipe Shopping List — MCP-Server
MCP-Server (Model Context Protocol), der Folgendes kann:
Rezepte von food.ru lesen — über den Link werden Zutaten, Schritte, Nährwerte (Kcal, Eiweiß, Fett, Kohlenhydrate) abgerufen
Produkte auf magnit.ru suchen — unter Berücksichtigung des konkreten Geschäfts
Einkaufsliste erstellen — für ein Rezept werden Produkte mit Preisen gefunden und die Gesamtsumme berechnet
Informationen über das Geschäft anzeigen — anhand des Geschäftscodes
Ergebnis: Sie geben einen Rezeptlink ein — Sie erhalten eine fertige Einkaufsliste mit Preisen von Magnit und direkten Links zu den Produkten.
🎓 Lernprojekt: Das Projekt wurde verwendet, um Kategoriemanager einer Einzelhandelskette in die Erstellung von MCP-Servern einzuweisen. Es ist ein praktischer Fall mit einem vollständigen Zyklus: von der Idee und dem Lastenheft bis zum funktionierenden MCP-Server, der von einem KI-Assistenten genutzt wird. Die Teilnehmer erstellen mit Hilfe eines KI-Agenten eine funktionierende Anwendung — einen Rezept-Parser für food.ru, eine Produktsuche auf magnit.ru und eine Einkaufsliste mit Preisen — und erzielen ein positives Ergebnis innerhalb einer einzigen Sitzung.
🌐 Web-Version: Neben der MCP-Schnittstelle gibt es eine lokale Webschnittstelle — sie benötigt keinen MCP-Client und funktioniert im Browser. Start mit einem einzigen Befehl:
./start.sh # запустить и открыть страницу в браузере (http://127.0.0.1:8000)
./stop.sh # остановить серверIn der Web-Version können Sie einen Rezeptlink einfügen, eine Tabelle mit der Einkaufsliste erhalten und sie in Excel speichern. Details finden Sie im Abschnitt „Web-Schnittstelle“.
Installation
Schneller Weg: Installationsprogramm install.py
Das Skript install.py (nur Standard-Python-Bibliothek — nichts
zusätzlich installieren) erledigt alles selbst: Es erstellt eine virtuelle
Umgebung, installiert Abhängigkeiten und den Browser für Playwright, erstellt .env,
trägt den Server in die ausgewählten MCP-Clients ein und prüft, dass alles funktioniert.
Erforderlich ist Python 3.11+ (wir empfehlen uv — das Installationsprogramm findet sowohl uv
als auch normales Python).
python install.py # или: python3 install.pyAlle Flags sind optional:
Flag | Funktion |
| Alle Fragen mit Standardwerten beantworten |
| Magnit-Geschäftscode (Standard: 543440) |
| Geschäftstyp (Standard: dostavka) |
| Welchen MCP-Clients der Server hinzugefügt wird (kommagetrennt) |
| Chromium-Browser nicht herunterladen |
|
|
| Nur Umgebung prüfen — nichts ändern |
| Projektordner (Standard: Ordner des Installationsprogramms) |
Beispiele:
python install.py --check # проверка окружения без изменений
python install.py --yes # установка «на все по умолчанию»
python install.py --shop-code 992301 --clients opencode,claudeManuell
Erforderlich ist Python 3.11+ (wir empfehlen uv).
# 1. Виртуальное окружение и зависимости
uv venv --python 3.11 .venv
uv pip install --python .venv/bin/python -r requirements.txt
# 2. Браузер для Playwright (оба сайта — SPA, без браузера никак)
.venv/bin/python -m playwright install chromium
# 3. Секреты
cp .env.example .env # при необходимости поправь код магазина по умолчаниюRelated MCP server: Recipe Commerce Intelligence MCP
Start
.venv/bin/python src/server.pyDer Server arbeitet über das MCP-Protokoll über stdio — er wird vom KI-Assistenten (Claude Desktop, LM Studio usw.) aufgerufen, von sich aus „schweigt“ er im Terminal.
Web-Schnittstelle
Eine lokale Webseite für alle, die keinen MCP-Client anschließen möchten: Sie fügen einen Rezeptlink ein — Sie erhalten eine Tabelle mit der Einkaufsliste und eine Schaltfläche zum Speichern in Excel.
Start (der Server öffnet die Seite selbst im Browser):
./start.sh # запустить и открыть браузер
./stop.sh # остановить серверEin erneutes ./start.sh bei laufendem Server öffnet einfach die Seite.
Manuell (falls die Skripte nicht geeignet sind):
.venv/bin/python src/web/server.pyÖffnen Sie im Browser: http://127.0.0.1:8000
Was die Seite kann:
einen food.ru-Rezeptlink einfügen und auf die Schaltfläche klicken — der Server erstellt die Einkaufsliste (die Anfrage an die Websites dauert 30–90 Sekunden, ein Ladeindikator wird angezeigt);
eine Tabelle anzeigen: Zutat, Menge, Produkt bei Magnit, Preis, zu kaufende Menge, Summe, Produktlink;
die Liste mit der Schaltfläche „In Excel speichern“ in eine Excel-Datei speichern.
Excel-Dateien werden im Ordner exports/ im Projektstamm gespeichert
(Name im Format shopping_list_<Rezept>_<Datum>.xlsx).
Verbindung zu OpenCode
In ~/.config/opencode/opencode.jsonc (global) oder opencode.json
im Projektstamm fügen Sie den Abschnitt mcp hinzu — das Format unterscheidet sich von
Claude Desktop (Schlüssel mcp, command — Array, Variablen —
environment):
{
"mcp": {
"recipe-shopping-list": {
"type": "local",
"command": [
"/ПОЛНЫЙ/ПУТЬ/К/MCP_rec/.venv/bin/python",
"/ПОЛНЫЙ/ПУТЬ/К/MCP_rec/src/server.py"
],
"environment": {
"MAGNIT_SHOP_CODE": "543440",
"MAGNIT_SHOP_TYPE": "dostavka",
"LOG_LEVEL": "INFO"
},
"enabled": true
}
}
}Nach dem Neustart von OpenCode erscheint der Server in der MCP-Liste (Befehl /mcp
in der Anwendung). Die Überprüfung über das Terminal (opencode mcp list) funktioniert bei einer Installation
über OpenCode.app nicht — die CLI ist ein Electron-Wrapper.
Verbindung zu Claude Desktop
In claude_desktop_config.json fügen Sie hinzu (Pfade müssen absolut sein):
{
"mcpServers": {
"recipe-shopping-list": {
"command": "/ПОЛНЫЙ/ПУТЬ/К/MCP_rec/.venv/bin/python",
"args": ["/ПОЛНЫЙ/ПУТЬ/К/MCP_rec/src/server.py"],
"env": {
"MAGNIT_SHOP_CODE": "543440",
"MAGNIT_SHOP_TYPE": "dostavka",
"LOG_LEVEL": "INFO"
}
}
}
}Werkzeuge
Werkzeug | Funktion |
| Rezept von food.ru: Zutaten, Schritte, Nährwerte |
| Produktsuche auf magnit.ru |
| Einkaufsliste mit Preisen und Gesamtsumme |
| Informationen über das Geschäft |
Beispiel
„Hier ist das Rezept: https://food.ru/recipes/269806-sous-iz-iogurta-s-ukropom-i-chesnokom-1766588076“
Der Agent ruft get_shopping_list auf und gibt zurück:
Греческий йогурт — 100г → Йогурт греческий Teos 2% 140г — 89,90 ₽ [ссылка]
Чеснок — 2 зубчик =10г → Чеснок свежий 100г — 45,00 ₽ [ссылка]
...
Итого: 356,70 ₽ · 6 товаровTests
Schnelle Logiktests (sie greifen nicht auf Websites zu — die Parser werden durch Mocks ersetzt):
.venv/bin/python -m pytest tests/ -vLive-Integrationstests — sie öffnen tatsächlich food.ru und magnit.ru über Playwright, wie der produktive Server (~1 Minute, mit Pausen zwischen den Anfragen):
.venv/bin/python -m pytest -m integration -vRegeln für Live-Tests: Website nicht erreichbar (Netzwerk) — Test wird übersprungen; Website hat geantwortet, aber die Struktur stimmt nicht — Test schlägt fehl (das Layout hat sich geändert, es ist Zeit, die Selektoren zu aktualisieren und die Lektion in LESSONS.md festzuhalten).
Struktur
src/
├── server.py # Точка входа MCP-сервера
├── tools/ # MCP-инструменты (бизнес-логика)
├── integrations/ # Парсеры сайтов (Playwright)
├── models/ # Pydantic-модели
├── utils/ # Кэш, ограничитель запросов, валидаторы
└── config/ # Настройки (.env) и селекторыWichtig zu wissen
Beide Websites (food.ru, magnit.ru) sind SPAs: Die Daten werden per JavaScript nachgeladen. Deshalb arbeiten die Parser über Playwright (Headless-Browser) und nicht über einfaches HTTP.
Zwischen den Anfragen an die Websites liegt eine Pause von 2–5 Sekunden, die Ergebnisse werden gecacht (Rezepte für 24 Stunden, Produkte für 15 Minuten).
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- AlicenseAqualityCmaintenanceMCP server for the Pepesto API — give your agent the ability to turn any recipe (a URL, plain text, or a photo) into a matched basket of real supermarket products with live prices, across 26 European supermarkets. The MCP covers the recipe → matched cart half of the grocery shopping workflow (parse / search / map ingredients to SKUs / check catalogs).7815MIT
- AlicenseAqualityDmaintenanceExtracts branded ingredients and kitchen tools from recipes, matches them to affiliate products, and generates shoppable ingredient lists to turn recipes into affiliate revenue.3481MIT
- FlicenseNot gradedqualityDmaintenanceEnables cross-store price comparison and recipe-driven cart automation for Israeli grocery stores Shufersal and Tiv Taam, with an extensible architecture for additional stores.
- AlicenseNot gradedqualityFmaintenanceEnables automated weekly meal planning and grocery price comparison across Swedish supermarkets through a Claude/GPT interface.3MIT
Related MCP Connectors
Search direct grocery storefronts and create product-link pickup handoffs.
Shopping MCP for AI agents: search, compare, Amazon buy links. Auto-register.
Agent-native product catalog for AI shopping agents. 296M+ products, 28 countries.
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/KrivchenkoEgor/mcp-recipe-shopping-list'
If you have feedback or need assistance with the MCP directory API, please join our Discord server