mealie-mcp
mealie-mcp
Ein Model Context Protocol-Server für Mealie, den selbst gehosteten Rezeptverwalter und Speiseplaner.
Er bietet einem Modell eine kuratierte Ansicht einer Mealie-Instanz: Rezepte mit ihren Zutaten und Schritten suchen und lesen, neue von einer Website importieren, Tags und Kategorien ordentlich halten, Mahlzeiten planen, Einkaufslisten aus diesen Plänen erstellen und aufzeichnen, was tatsächlich gekocht wurde.
📖 Vollständige Dokumentation auf mealie-mcp.ni-c.de

Die REST-API von Mealie umfasst 259 Operationen auf 175 Pfaden. Dieser Server stellt 52 Werkzeuge zur Verfügung, die so ausgewählt sind, dass die häufigsten Aufgaben mit einem Aufruf erledigt werden können und die gefährliche Oberfläche gar nicht erst erreichbar ist. Verifiziert gegen Mealie v3.22.0; die maßgebliche Quelle für jede Anfrageform ist das GET /openapi.json einer laufenden Instanz, nicht die veröffentlichte Dokumentation, die an mehreren Stellen veraltet ist.
Anforderungen
Node.js 22 oder neuer
Eine Mealie-Instanz und ein API-Token aus Einstellungen → API-Tokens
Related MCP server: Blender Open MCP
Konfiguration
Variable | Erforderlich | Beschreibung |
| ja | Basis-URL, z. B. |
| ja | Token aus Einstellungen → API-Tokens. Es agiert als der Benutzer, der es erstellt hat. |
| nein | Exakt |
| nein | z. B. |
| nein | Exakt |
Die beiden Booleschen Werte werden mit dem Literal-String true verglichen, sodass ein Tippfehler sie aus lässt – überprüfen Sie die Startzeile auf stderr, die den tatsächlich aktiven Modus meldet.
Das Token wird aus der Prozessumgebung entfernt, sobald es gelesen wurde, sodass Kindprozesse es nicht aus /proc/<pid>/environ auslesen können.
Installation
Claude Desktop oder ein anderer MCP-Client, der eine JSON-Konfiguration akzeptiert:
{
"mcpServers": {
"mealie": {
"command": "npx",
"args": ["-y", "@ni-c/mealie-mcp"],
"env": {
"MEALIE_URL": "https://mealie.example.com",
"MEALIE_API_TOKEN": "…"
}
}
}
}claude mcp add mealie \
-e MEALIE_URL=https://mealie.example.com \
-e MEALIE_API_TOKEN=… \
-- npx -y @ni-c/mealie-mcpCodex (~/.codex/config.toml):
[mcp_servers.mealie]
command = "npx"
args = ["-y", "@ni-c/mealie-mcp"]
[mcp_servers.mealie.env]
MEALIE_URL = "https://mealie.example.com"
MEALIE_API_TOKEN = "…"Oder als Container:
docker run --rm -i \
-e MEALIE_URL=https://mealie.example.com \
-e MEALIE_API_TOKEN=… \
ghcr.io/ni-c/mealie-mcpUm interaktiv mit den Werkzeugen zu experimentieren:
npx @modelcontextprotocol/inspector npx -y @ni-c/mealie-mcpWerkzeuge
Rezepte — search_recipes, get_recipe, suggest_recipes, create_recipe, update_recipe, duplicate_recipe, set_recipe_last_made, delete_recipe 🔒
Import — preview_recipe_url (Probelauf, speichert nichts), import_recipe_from_url, import_recipe_from_html_or_json, import_recipe_from_image
Organisieren — list_organizers, create_organizer, update_organizer, delete_organizer 🔒 — jedes erwartet kind: tag | category | tool
Zutaten — list_foods, create_food, merge_foods 🔒, list_units, create_unit, merge_units 🔒, parse_ingredients
Speisepläne — list_mealplans, get_todays_meals, create_mealplan_entry, create_random_meal, update_mealplan_entry, delete_mealplan_entry 🔒
Einkaufen — list_shopping_lists, get_shopping_list, create_shopping_list, delete_shopping_list 🔒, add_shopping_list_items, update_shopping_list_items, delete_shopping_list_items 🔒, add_recipe_to_shopping_list, remove_recipe_from_shopping_list
Kochbücher — list_cookbooks, get_cookbook, create_cookbook, delete_cookbook 🔒
Notizen und Teilen — set_recipe_rating, add_recipe_comment, delete_recipe_comment 🔒, list_recipe_comments, list_recipe_timeline, create_timeline_event, list_share_tokens, create_share_token 🔒, delete_share_token
Instanz — get_about
🔒 benötigt ein Bestätigungstoken: einmal aufrufen, um eines zu erhalten, dann erneut mit diesem.
Rezepte können überall per Slug oder UUID angesprochen werden – Mealie teilt seinen Identifikatorraum zwischen beiden auf, und die Werkzeuge lösen auf, was ihnen übergeben wird.
Absichtlich nicht bereitgestellt
Alles unter /api/admin (Backups, Wiederherstellung, Wartung, Benutzer-, Gruppen- und Haushaltsverwaltung, E-Mail, KI-Anbietereinstellungen), /api/users/api-tokens (ein Werkzeug, das API-Anmeldedaten ausstellt, ist eine Privilegienausweitungs-Oberfläche), die Authentifizierungsrouten, Benutzer-CRUD und Passwörter, Webhooks, Ereignisbenachrichtigungen und Rezeptaktionen (alle drei lösen ausgehende HTTP-Anfragen von der Instanz aus), Speiseplanregeln, Migrationen, Seeders, Einladungen, Bulk-Export und ZIP-Download sowie Asset- und Bild-Uploads.
PUT /api/recipes/{slug} wird ebenfalls nicht bereitgestellt: Es ersetzt das gesamte 33-Felder-Rezeptobjekt, sodass eine partielle Aktualisierung darüber stillschweigend Zutaten, Schritte und Tags verwirft. update_recipe verwendet PATCH.
Sicherheit
Instanzinhalte sind unvertrauenswürdige Eingaben. Rezepte werden routinemäßig von beliebigen Websites gescrapt, und Kommentare stammen von anderen Benutzern. Daher wird jedem Werkzeugergebnis, das Instanzinhalte enthalten kann, ein expliziter Marker vorangestellt, der dem Modell mitteilt, es als Daten zu behandeln. Dies ist auch nach dem Import wichtig: Der Text bleibt in der Datenbank und wird über
get_recipezurückgeliefert.Die Importwerkzeuge lassen Mealie abrufen, nicht diesen Server. URLs sind auf öffentliche
http/https-Adressen beschränkt; Loopback-, Private-Range-, Link-Local- und.lan/.internal/.local-Hosts werden abgelehnt.Bestätigungsaufforderungen zitieren keine Daten aus der Instanz – nur IDs, Anzahlen und Flags.
Antworten sind begrenzt: Übermäßig große Ergebnisse werfen ganze Elemente weg, anstatt das JSON mitten im String abzuschneiden, und ein Antworttext wird niemals über 8 MB hinaus gelesen.
Weiterleitungen werden abgelehnt, damit das Token nicht an einen anderen Host gesendet werden kann.
Siehe SECURITY.md für das Vertrauensmodell und wie Sie eine Sicherheitslücke melden können.
Entwicklung
npm install && npm test && npm run buildscripts/verify-live.mjs testet alle 52 Werkzeuge gegen eine Wegwerf-Mealie-Instanz; die Anleitung zum Einrichten einer solchen finden Sie in CONTRIBUTING.md.
Das Architekturdiagramm und die Social Card werden aus docs/assets/architecture.source.svg und docs/assets/og.json mittels npm run assets gerendert; CI schlägt fehl, wenn eine gerenderte Kopie von Hand bearbeitet wurde.
Veröffentlichung
Alles wird durch einen Tag gesteuert; es gibt keinen manuellen Veröffentlichungsschritt.
Verschieben Sie den Abschnitt
[Unreleased]der CHANGELOG.md in die neue Version und datieren Sie ihn. Der Release-Workflow extrahiert diesen Abschnitt mitawk, daher ist die Form der## [x.y.z]-Überschrift wichtig.Erhöhen Sie die
versioninpackage.json.npm run lint && npm run build && npm run test:coverage.Committen, dann einen signierten annotierten Tag:
git tag -s v0.1.1 -m "v0.1.1"
git push origin main v0.1.1release.yml überprüft dann, ob der Tag mit package.json übereinstimmt, veröffentlicht auf npm über Trusted Publishing (OIDC – es existiert kein npm-Token, das preisgegeben werden könnte) mit Provenienz, synchronisiert die Version in beide server.json-Paketeinträge, veröffentlicht im MCP-Register und erstellt die GitHub-Version aus dem Changelog-Abschnitt. ci.yml pusht das Multi-Arch-Container-Image parallel dazu zu GHCR.
Maintenance
Related MCP Servers
- Flicense-qualityDmaintenanceA versatile Model Context Protocol server that enables AI assistants to manage calendars, track tasks, handle emails, search the web, and control smart home devices.23
- Flicense-qualityCmaintenanceA server that integrates Blender with local AI models via the Model Context Protocol, allowing users to control Blender using natural language prompts for 3D modeling tasks.111
- Alicense-qualityDmaintenanceA server that implements the Model Context Protocol, providing a standardized way to connect AI models to different data sources and tools.1011MIT
- Alicense-qualityBmaintenanceA Model Context Protocol (MCP) server implementation that enables AI assistants to interact with Anytype's API through natural language, allowing users to manage their knowledge base through conversation.1,112500MIT
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
A Model Context Protocol server for Wix AI tools
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to control Unreal E…
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/ni-c/mealie-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server