FoodGen
FoodGen
Un servidor MCP que convierte una solicitud de cena en lista de la compra + receta en una página apta para móviles — lista para guardarse en Notas de Apple.
«Cena para 3 personas (2 adultos y 1 niño), rápida antes del entrenamiento de fútbol, sin pescado.»
Claude encuentra el plato, llama a create_dinner_plan y responde con un enlace como https://foodgen.instantoffr.com/n/Hxe7gVY_YYqRi2CCeZnV5g. En el móvil:
Lista de la compra agrupada por sección del supermercado, con casillas para marcar en la tienda (se recuerda en el dispositivo)
Receta con ingredientes y pasos debajo
«Guardar en Notas» → hoja para compartir → Notas guarda todo como una nota con lista de viñetas
…/n/<id>.txtofrece texto plano,…/n/<id>.jsonofrece datos en bruto
Arquitectura
Node 24 + Express, MCP sobre Streamable HTTP en
/mcp(sin estado — no hay sesiones, todo está en SQLite)SQLite (
node:sqlite, sin dependencias nativas) en un volumen de DockerEl modelo escribe la receta; el servidor valida (zod), guarda y publica
Las URLs de los planes son aleatorias de 128 bits — no se pueden adivinar ni están indexadas; eso es todo el control de acceso
Interfaces MCP
| guarda un plan completo y devuelve el enlace |
| el contrato del conector de ChatGPT (búsqueda + consulta) |
| recupera un plan (id o URL) |
| últimos planes, los más recientes primero |
| elimina un plan permanentemente |
prompt | acceso directo de «cena para …» |
Related MCP server: Recipe Research MCP Server
Ejecución
cp .env.example .env # sjekk PUBLIC_URL
docker compose up -d --buildTLS y el proxy son gestionados por Nginx Proxy Manager, que ya está en ejecución y configurado para el puerto 2400. Hay una cosa que vale la pena comprobar en el host del proxy: las respuestas de MCP se transmiten como SSE, así que el almacenamiento en búfer y un tiempo de espera de lectura de 60 segundos pueden cortar la transmisión. Activa Websockets Support y, opcionalmente, añade esto en la pestaña Advanced:
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;
}Desarrollo local sin Docker:
PUBLIC_URL=http://localhost:2400 npm run devConectar con Claude y ChatGPT
La app de Claude / claude.ai / Cowork: Settings → Connectors → Add custom connector →
https://foodgen.instantoffr.com/mcp(sin autenticación)Claude Code:
claude mcp add --transport http foodgen https://foodgen.instantoffr.com/mcpChatGPT: Settings → Connectors → añade un conector MCP personalizado con la misma dirección, sin autenticación. El servidor expone
search/fetchsegún el contrato de OpenAI, por lo que funciona como un conector normal (búsqueda/consulta en cenas guardadas y deep research); con Developer mode activado, ChatGPT también puede usarcreate_dinner_plany crear nuevas cenas.
La página principal de https://foodgen.instantoffr.com muestra las mismas instrucciones.
Pruebas
docker compose up -d --build # eller npm start
node test/e2e.mjs # full MCP + HTTP-runde, 26 sjekkerVariables de entorno
Variable | Valor por defecto | |
|
| Origen público; los enlaces se construyen a partir de este |
|
| Puerto HTTP dentro del contenedor |
|
| Dónde publica compose el puerto |
|
| Archivo SQLite (volumen) |
|
| Elimina planes con más de N días de antigüedad (0 = nunca) |
This server cannot be deployed
Maintenance
Related MCP Connectors
Scraps Kitchen gives any AI agent a persistent, household-aware kitchen memory. Unlike generic chatbot recall, Scraps maintains structured cooking data: what's in your fridge (with freshness tracking), who you cook for (with allergens, dietary restrictions, and preferences), your recipe collection (with cook notes and per-diner ratings), your shopping list, and your kitchen equipment. 27 tools across 6 domains let agents read kitchen context, suggest meals that respect dietary safety, update the pantry after cooking, and build a history of what works for your household. Every interaction makes the data richer. Cooking history, preference signals, kitchen awareness = better suggestions next time. All tools work via oAuth and a free scraps.kitchen account.
Family meal planning run by your agent: weekly dinners, household votes, grocery list minus pantry.
Household-aware cooking brain: pantry, meal suggestions, dietary safety, recipes, shopping lists.
AI meal plans that fill your Kroger/Instacart cart - pantry-aware lists, all from chat.
Related MCP Servers
- AlicenseDqualityBmaintenanceEnables interaction with Apple Notes via natural language, supporting note creation, search, and retrieval with iCloud integration for seamless note management.31025MIT
- FlicenseNot gradedqualityDmaintenanceEnables 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-
- AlicenseNot gradedqualityDmaintenanceEnables 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.7MIT
- AlicenseNot gradedqualityBmaintenanceEnables 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