Skip to main content
Glama

mealie-mcp

Un servidor del Protocolo de Contexto de Modelo (MCP) que expone Mealie —un gestor de recetas autohospedado— como un conjunto de herramientas invocables por LLM. Permite a Claude Desktop / Claude Code (o cualquier cliente MCP) buscar recetas, obtener detalles, gestionar el plan de comidas y editar listas de la compra en tu propia instancia de Mealie.

Herramientas

Herramienta

Propósito

search_recipes(query?, tags?, limit?)

Buscar recetas; devuelve slug, nombre, descripción, etiquetas, categorías

get_recipe(slug)

JSON completo de la receta para un slug

list_meal_plan(start_date, end_date)

Entradas del plan de comidas entre dos fechas ISO

list_shopping_lists()

IDs y nombres de todas las listas de la compra

add_shopping_list_items(list_id, items[])

Añadir elementos de texto libre a una lista

create_recipe(name)

Crear una receta en blanco; devuelve el slug generado

create_meal_plan_entry(date, entry_type, recipe_slug?, title?)

Añadir una entrada al plan de comidas

Related MCP server: Mealie MCP Server

Requisitos

  • Python 3.11+

  • Una instancia de Mealie en ejecución (autohospedada; probado con Mealie v2)

  • Un token de API de Mealie de larga duración (Perfil de usuario → Tokens de API en la interfaz de Mealie)

Configuración

Copia .env.example a .env y rellena los valores:

cp .env.example .env

Variable

Requerido

Por defecto

Descripción

MEALIE_URL

sí

—

URL base de tu instancia de Mealie (ej. http://localhost:9011 o http://mealie:9000)

MEALIE_API_TOKEN

sí

—

Token de portador de larga duración de Mealie

MCP_TRANSPORT

no

sse

stdio para subproceso local, sse para streaming HTTP

MCP_HOST

no

0.0.0.0

Dirección de enlace para el modo SSE

MCP_PORT

no

8000

Puerto de enlace para el modo SSE

Instalación y ejecución local

pip install -e .
# stdio mode (for Claude Desktop):
MCP_TRANSPORT=stdio mealie-mcp
# sse/http mode (for docker-compose / remote clients):
MCP_TRANSPORT=sse MCP_PORT=8000 mealie-mcp

El endpoint SSE se sirve en http://<host>:<port>/sse.

Configuración de Claude Desktop

Edita el archivo de configuración de Claude Desktop (macOS: ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "mealie": {
      "command": "mealie-mcp",
      "env": {
        "MEALIE_URL": "http://localhost:9011",
        "MEALIE_API_TOKEN": "paste-your-token-here",
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

Si mealie-mcp no está en tu PATH, apunta command a la ruta completa del binario (ej. /Users/you/.venvs/mealie-mcp/bin/mealie-mcp) o invócalo mediante Python:

{
  "mcpServers": {
    "mealie": {
      "command": "python",
      "args": ["-m", "mealie_mcp"],
      "env": {
        "MEALIE_URL": "http://localhost:9011",
        "MEALIE_API_TOKEN": "paste-your-token-here",
        "MCP_TRANSPORT": "stdio"
      }
    }
  }
}

Reinicia Claude Desktop después de editar la configuración.

Docker / docker-compose

Se incluye un Dockerfile. Para ejecutar de forma independiente:

docker build -t mealie-mcp .
docker run --rm -p 8765:8000 \
  -e MEALIE_URL=http://host.docker.internal:9011 \
  -e MEALIE_API_TOKEN=your-token \
  mealie-mcp

Para añadir el servidor a una pila de Mealie existente, consulta docker-compose.snippet.yml:

services:
  mealie-mcp:
    build:
      context: ./mealie-mcp
    depends_on:
      - mealie
    environment:
      MEALIE_URL: "http://mealie:9000"
      MEALIE_API_TOKEN: "${MEALIE_API_TOKEN}"
      MCP_TRANSPORT: "sse"
      MCP_HOST: "0.0.0.0"
      MCP_PORT: "8000"
    ports:
      - "8765:8000"

Apunta tu cliente MCP a http://<docker-host>:8765/sse.

Prueba manual del servidor

Con el servidor ejecutándose en modo SSE, confirma que es accesible:

curl -N http://localhost:8000/sse

Deberías ver abrirse un flujo de eventos SSE. Para el modo stdio, Claude Desktop gestiona el handshake: no hay endpoint HTTP.

Estructura del proyecto

mealie-mcp/
├── pyproject.toml
├── Dockerfile
├── docker-compose.snippet.yml
├── .env.example
├── README.md
└── src/mealie_mcp/
    ├── __init__.py
    ├── __main__.py        # CLI entry point (loads .env, dispatches transport)
    ├── server.py          # FastMCP server + tool definitions
    └── client.py          # Async httpx wrapper for the Mealie REST API

Licencia

MIT

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.

  • Household-aware cooking brain: pantry, meal suggestions, dietary safety, recipes, shopping lists.

  • Search structured recipes, scale servings, match pantry ingredients, and build shopping lists.

    1
  • Search, read, and edit your Halite recipe collection and shopping lists.

Related MCP Servers

  • 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
    A
    maintenance
    A MCP server for Mealie recipe management. Exposes 43 tools and 1 prompt for AI assistants to search, create, and manage recipes, meal plans, shopping lists, categories, and tags.
    1,585 npm
    10
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables AI assistants to manage recipes, meal plans, and shopping lists in Mealie through natural language, supporting CRUD operations and URL-based recipe imports.
    27
    98 npm
    7
    MIT