Skip to main content
Glama
ollieInstantOffr

FoodGen

FoodGen

Ein MCP-Server, der eine Abendessensanfrage in Einkaufsliste + Rezept auf einer mobilfreundlichen Seite verwandelt — bereit zum Speichern in Apple Notater.

„Abendessen für 3 Personen (2 Erwachsene und 1 Kind), schnell vor dem Fußballtraining, kein Fisch.“

Claude findet das Gericht, ruft create_dinner_plan auf und antwortet mit einem Link wie https://foodgen.instantoffr.com/n/Hxe7gVY_YYqRi2CCeZnV5g. Auf dem Mobilgerät:

  • Einkaufsliste nach Supermarkt-Abteilung gruppiert, mit Abhaken im Geschäft (wird auf dem Gerät gespeichert)

  • Rezept mit Zutaten und Schritten darunter

  • „In Notater sichern“ → Teilen-Menü → Notater speichert alles als eine Notiz mit Aufzählungsliste

  • …/n/<id>.txt liefert reinen Text, …/n/<id>.json liefert Rohdaten

Architektur

  • Node 24 + Express, MCP über Streamable HTTP auf /mcp (zustandslos — keine Sitzungen, alles liegt in SQLite)

  • SQLite (node:sqlite, keine nativen Abhängigkeiten) in einem Docker-Volume

  • Das Modell schreibt das Rezept; der Server validiert (zod), speichert und veröffentlicht

  • Plan-URLs sind 128-Bit-Zufallswerte — nicht erratbar, nicht indiziert; das ist die gesamte Zugriffskontrolle

MCP-Schnittstellen

create_dinner_plan

speichert einen vollständigen Plan, gibt den Link zurück

search / fetch

der ChatGPT-Connector-Vertrag (Suche + Abruf)

get_dinner_plan

liest einen Plan zurück (id oder URL)

list_recent_dinner_plans

letzte Pläne, neueste zuerst

delete_dinner_plan

löscht einen Plan dauerhaft

prompt /middag

Verknüpfung „Abendessen für …“

Related MCP server: Recipe Research MCP Server

Ausführen

cp .env.example .env      # sjekk PUBLIC_URL
docker compose up -d --build

TLS und Proxy werden vom Nginx Proxy Manager übernommen, der bereits läuft und auf Port 2400 konfiguriert ist. Eine Sache ist auf dem Proxy-Host zu prüfen: MCP-Antworten streamen als SSE, daher können Pufferung und 60-Sekunden-Lese-Timeout den Stream abschneiden. Aktivieren Sie Websockets Support und fügen Sie dies gegebenenfalls im Advanced-Table hinzu:

location /mcp {
    proxy_pass http://$server:$port;
    proxy_http_version 1.1;
    proxy_set_header Host $host;
    proxy_set_header Connection "";
    proxy_buffering off;
    proxy_cache off;
    proxy_read_timeout 3600s;
}

Lokale Entwicklung ohne Docker:

PUBLIC_URL=http://localhost:2400 npm run dev

Claude und ChatGPT verbinden

  • Claude-App / claude.ai / Cowork: Settings → Connectors → Add custom connector → https://foodgen.instantoffr.com/mcp (keine Authentifizierung)

  • Claude Code: claude mcp add --transport http foodgen https://foodgen.instantoffr.com/mcp

  • ChatGPT: Settings → Connectors → benutzerdefinierten MCP-Connector mit derselben Adresse hinzufügen, keine Authentifizierung. Der Server stellt search/fetch nach dem OpenAI-Vertrag bereit, sodass er wie ein normaler Connector funktioniert (Suche/Abruf in gespeicherten Abendessen und Deep Research); bei aktiviertem Developer mode kann ChatGPT auch create_dinner_plan verwenden und neue Abendessen erstellen.

Die Startseite unter https://foodgen.instantoffr.com zeigt dieselben Anweisungen.

Test

docker compose up -d --build   # eller npm start
node test/e2e.mjs              # full MCP + HTTP-runde, 26 sjekker

Umgebungsvariablen

Variabel

Standard

PUBLIC_URL

https://foodgen.instantoffr.com

Öffentliche Origin; die Links werden daraus erstellt

PORT

2400

HTTP-Port im Container

BIND_ADDR

0.0.0.0

Wo Compose den Port veröffentlicht

DB_PATH

/app/data/foodgen.db

SQLite-Datei (Volume)

RETENTION_DAYS

0

Löscht Pläne, die älter als N Tage sind (0 = nie)

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Enables recipe search, storage, and meal planning using TheMealDB API. Provides comprehensive recipe discovery, automatic recipe collection management, and custom meal plan creation with detailed cooking instructions and ingredients.
    1
    -
  • A
    license
    Not graded
    quality
    D
    maintenance
    Enables AI assistants to interact with Mealie for recipe management, meal planning, and shopping list operations. Supports searching and managing recipes, creating meal plans, and generating shopping lists from recipes or meal plans.
    7
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI assistants to interact with local Apple Calendar, Notes, and Contacts on macOS. Provides tools for creating, reading, updating, and deleting events, notes, and contacts through natural language.
    MIT