Skip to main content
Glama
RBV801

recipal-mcp-unofficial

by RBV801

recipal-mcp-unofficial

Ein MCP-Server für die ReciPal-Nährwertkennzeichnungs-API. Er ermöglicht einem KI-Assistenten, Ihre Rezepte, Zutaten und Unterrezepte direkt zu lesen und zu bearbeiten – einschließlich Massenoperationen, die in der Weboberfläche Stunden dauern würden.

Inoffiziell. Nicht mit ReciPal verbunden, von ReciPal unterstützt oder befürwortet. Von Nutzern des Produkts gegen seine öffentliche API erstellt.

Interimsprojekt – dieses Repository wird archiviert. ReciPal arbeitet an einem offiziellen MCP-Server. Wenn dieser erscheint, wird dieses Projekt aktualisiert, um darauf zu verweisen, und dann schreibgeschützt archiviert. Bauen Sie nichts Tragendes darauf auf. Siehe SUNSET.md.

Sie benötigen ein aktives kostenpflichtiges ReciPal-Abonnement. Der API-Zugriff ist eine kostenpflichtige Funktion; der Schlüssel stammt aus Ihren Kontoeinstellungen unter API access. Ohne einen solchen kann dieser Server nichts tun.

Wofür es gedacht ist

Die Weboberfläche von ReciPal ist gut zum Bearbeiten eines einzelnen Rezepts. Es wird mühsam, wenn Sie dasselbe mit vierzig Rezepten tun müssen – eine Portionsgröße im gesamten Katalog korrigieren, Zutaten umbenennen, die mit (copy)-Suffixen hereinkamen, oder eine Familie von Produktvarianten aufbauen, die sich nur in einer Zutat unterscheiden. Dieser Server stellt die API bereit, damit ein Assistent diese Arbeit in einer Schleife erledigen kann, mit einem Probelauf zuerst.

Das Werkzeug, das sich bezahlt macht, ist bulk_clone_and_swap: Nehmen Sie ein vollständig konfiguriertes Rezept als Vorlage, klonen Sie es N-mal und tauschen Sie in jedem Klon eine einzelne Zutat aus. Etikett-Einstellungen, Tags und Portionsgrößen werden übernommen, sodass die Klone konsistent herauskommen.

Related MCP server: cookwith-mcp

Umfang und Verbreitung

Bewusst eng gefasst, und das wird auch so bleiben:

  • Quellcode, den Sie klonen und bauen. Es gibt kein Ein-Klick-Plugin-Bündel, kein npx-Paket und keine Auflistung in einem MCP-Verzeichnis oder Marktplatz. Das ist eine Verpflichtung gegenüber ReciPal, kein Versehen oder ein offener Punkt.

  • Nicht auf npm veröffentlicht. Die package.json ist absichtlich als private markiert.

  • Benannt recipal-mcp-unofficial auf Wunsch von ReciPal, damit es nicht mit ihrem offiziellen Server verwechselt werden kann.

Pull-Requests, die eine verpackte Distribution, Marktplatz-Einreichungen oder einen benutzerfreundlicheren Installationspfad für Endnutzer hinzufügen, werden abgelehnt. Siehe CONTRIBUTING.md für das, was willkommen ist.

Installation

Erfordert Node.js 18 oder neuer.

git clone https://github.com/BlackBlack/recipal-mcp-unofficial.git
cd recipal-mcp-unofficial
npm install
npm run build

Registrieren Sie es dann bei Ihrem MCP-Client. Für Claude Code:

claude mcp add --transport stdio recipal-mcp-unofficial \
  --env RECIPAL_API_KEY=your_key_here \
  -- node /absolute/path/to/recipal-mcp-unofficial/build/index.js

Für Claude Desktop fügen Sie zu claude_desktop_config.json hinzu:

{
  "mcpServers": {
    "recipal-mcp-unofficial": {
      "command": "node",
      "args": ["/absolute/path/to/recipal-mcp-unofficial/build/index.js"],
      "env": { "RECIPAL_API_KEY": "your_key_here" }
    }
  }
}

Starten Sie den Client neu und bitten Sie ihn dann, Ihre Rezepte aufzulisten. Sie sollten 19 verfügbare Tools sehen. Eine vollständige Anleitung finden Sie in docs/SETUP.md.

⚠️ Lesen Sie dies, bevor Sie es auf einen Katalog richten, der Ihnen wichtig ist

Die Schutzmechanismen confirm: true und dry_run werden vom Modell bereitgestellt, nicht von Ihnen. Sie verhindern, dass eine vage formulierte Eingabe Schaden anrichtet. Sie stoppen nicht einen entschlossenen oder verwirrten Agenten – ein Assistent, der beschließt, ein Rezept zu löschen, wird confirm: true im selben Aufruf übergeben. ReciPal hat keine Rückgängig-Funktion.

Aus diesem Grund sind die wirklich destruktiven Tools standardmäßig deaktiviert. Sie zu aktivieren ist eine bewusste Handlung der Person, die den Server betreibt, nicht etwas, das ein Gespräch tun kann:

Umgebungsvariable

Aktiviert

Warum gesperrt

RECIPAL_MCP_ALLOW_DELETE=1

delete_recipe, delete_recipe_ingredient

Dauerhafter Datenverlust, keine Rückgängig-Funktion

RECIPAL_MCP_ENABLE_RAW=1

recipal_request

Kann jeden Endpunkt mit jeder Methode aufrufen

Alles andere – alle Lesevorgänge und die normalen Erstellungs-/Aktualisierungswerkzeuge – funktioniert sofort. Die Massenwerkzeuge sind immer verfügbar, standardmäßig jedoch auf dry_run: true gesetzt und weigern sich auszuführen, es sei denn, der Aufrufer übergibt sowohl dry_run: false als auch confirm: true.

Unabhängig davon empfohlene Vorgehensweise: Arbeiten Sie zuerst mit einem Wegwerf-Rezept. Mehrere Endpunkte verhalten sich anders als in der Dokumentation beschrieben (siehe Bekannte Einschränkungen).

Konfiguration

Variable

Standard

Zweck

RECIPAL_API_KEY

Erforderlich. Aus den ReciPal-Kontoeinstellungen → API access

RECIPAL_MCP_ALLOW_DELETE

aus

Die beiden Löschwerkzeuge verfügbar machen

RECIPAL_MCP_ENABLE_RAW

aus

recipal_request verfügbar machen

RECIPAL_MCP_DEBUG

aus

Vollständige Anforderungstexte an stderr protokollieren. Die Texte enthalten Rezeptdaten und Ihr Client protokolliert stderr wahrscheinlich auf der Festplatte, also lassen Sie es routinemäßig deaktiviert

RECIPAL_MCP_MAX_RETRIES

3

Wiederholungen bei HTTP 429

RECIPAL_API_BASE

https://www.recipal.com/api/v1

Den Endpunkt überschreiben. Muss https und ein recipal.com-Host sein.

RECIPAL_MCP_ALLOW_CUSTOM_BASE

aus

Eine Basis außerhalb von recipal.com zulassen. Ihr API-Schlüssel wird an das gesendet, worauf er zeigt, daher ist dies bewusst umständlich.

Siehe .env.example.

Tools

Insgesamt 22 Tools, 19 standardmäßig verfügbar. Generierte Referenz mit jedem Parameter: docs/TOOLS.md.

Gruppe

Tools

Lesen

list_recipes, get_recipe, get_recipe_nutrition, list_recipe_ingredients, get_recipe_ingredient, list_ingredients, get_ingredient, get_recipe_label

Rezept-Schreibvorgänge

create_recipe, create_recipe_shortcut, update_recipe, scale_recipe, create_subrecipe, delete_recipe

Zutatenzeilen-Schreibvorgänge

create_recipe_ingredient, update_recipe_ingredient, delete_recipe_ingredient†, update_ingredient

Etiketten

request_label_render

Massenoperationen

bulk_create_subrecipes, bulk_clone_and_swap

Notausstieg

recipal_request

† standardmäßig deaktiviert.

Schreibwerkzeuge verwenden ein offenes fields-Objekt anstelle einer festen Parameterliste. Die veröffentlichten ReciPal-Dokumente brechen vor der vollständigen Rezeptattributliste ab, daher hätte das Hartkodieren von Feldnamen Raten bedeutet; stattdessen wird fields direkt durchgereicht, Rails-artig form-encodiert (recipe[name]=...). Nicht dokumentierte Attribute funktionieren ohne Codeänderung. Setzen Sie as_json: true, wenn ein Endpunkt JSON bevorzugt.

Lesen Sie ein echtes Rezept, bevor Sie eines schreiben. get_recipe auf einem vorhandenen Rezept zeigt die genauen Attributnamen, die Ihr Konto verwendet.

Bekannte Einschränkungen

Diese sind real, gegen die Live-API verifiziert und wissenswert, bevor Sie darauf aufbauen:

  • create_recipe_shortcut funktioniert nicht. Es gibt für jedes getestete Zutaten-Array-Format HTTP 422 zurück. Die ReciPal-Dokumentation bricht vor der Parameterliste ab, daher ist die korrekte Form unbekannt. Verwenden Sie create_recipe + create_recipe_ingredient oder scale_recipe, um eine konfigurierte Vorlage zu klonen. Das Tool bleibt vorhanden, damit die Form entdeckt werden kann – wenn Sie es herausfinden, eröffnen Sie bitte einen PR.

  • PUT /recipe_ingredients/{id} ignoriert ingredient_id stillschweigend. Es gibt HTTP 200 zurück, wobei die ursprüngliche Zutat weiterhin angehängt ist. Das Austauschen einer Zutat gegen eine andere muss als Löschen-dann-Erstellen erfolgen, was bulk_clone_and_swap intern tut.

  • ReciPal doppelt umhüllt fast jede Antwort{recipe: {recipe_ingredients: [{recipe_ingredient: {…}}]}}. Das Lesen von Feldern aus der äußeren Hülle ergibt undefined ohne Fehler. Wenn Sie diesen Server erweitern, verwenden Sie die vorhandenen Hilfsfunktionen unwrap() / extractRecords().

  • Parameternamen für scale_recipe und create_subrecipe sind nicht veröffentlicht. Sie funktionieren über durchgereichte fields, aber führen Sie sie jeweils einmal gegen ein Wegwerf-Rezept aus und lesen Sie die Antwort, bevor Sie Schleifen ausführen.

  • Die Dokumentation listet /recipes/{id}/scale als PUT; POST ist das, was tatsächlich funktioniert. "Korrigieren" Sie das nicht ohne Tests.

  • Kein Paginierungs-Helfer. list_recipes begrenzt auf 100 pro Seite; durchlaufen Sie die Seiten selbst.

Ratenbegrenzungen

ReciPal dokumentiert ungefähr 175.000 Anfragen pro Woche, 1.000 pro Minute (darüber hinaus HTTP 429) und maximal 5 gleichzeitige Etiketten-Renderings. Dieser Server respektiert 429 mit Retry-After und exponentiellem Backoff, warnt auf stderr, wenn weniger als 100 Anfragen verbleiben, und führt jede Massenschleife strikt sequenziell mit einer konfigurierbaren Verzögerung aus. Parallelisieren Sie keine Etiketten-Renderings.

Entwicklung

npm run typecheck   # tsc --noEmit
npm run build       # -> build/index.js
npm test            # offline smoke tests, no API key or network needed
npm run gen:docs    # regenerate docs/TOOLS.md from the running server
npm run verify      # all of the above

docs/TOOLS.md wird generiert, indem der gebaute Server gestartet und nach seiner eigenen Werkzeugliste gefragt wird, sodass die Referenz nicht vom Code abweichen kann. CI schlägt fehl, wenn sie veraltet ist. Wenn Sie ein Tool hinzufügen oder ändern, führen Sie npm run build && npm run gen:docs aus und committen Sie das Ergebnis.

Beiträge sind im oben genannten Rahmen willkommen – beginnen Sie mit CONTRIBUTING.md, dann docs/TESTING.md für die Verifizierung von Änderungen gegen ein Live-Konto und docs/DESIGN.md für das Zusammenspiel der Teile.

Lizenz

Apache-2.0.

"ReciPal" ist eine Marke ihres Inhabers und wird hier nur verwendet, um zu beschreiben, womit diese Software spricht.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

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

  • A
    license
    A
    quality
    D
    maintenance
    An MCP server that transforms AI assistants into personal chefs by providing recipe recommendations and meal planning features based on the HowToCook repository.
    5
    2,678
    752
    ISC
  • A
    license
    Not graded
    quality
    F
    maintenance
    MCP server for MealMastery AI meal planning that enables users to manage meal plans, recipes, and grocery lists through natural language conversation with AI agents like Claude.
    67
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    MCP server enabling AI assistants to manage recipes and ingredients in the WeekPlan app via its REST API.
    1

View all related MCP servers

Related MCP Connectors

  • Hosted MCP server to manage a restaurant menu from AI agents - 39 tools over the DuckHub API.

  • An MCP server that integrates with Discord to provide AI-powered features.

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

View all MCP Connectors

Latest Blog Posts

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/RBV801/recipal-mcp-unofficial'

If you have feedback or need assistance with the MCP directory API, please join our Discord server