mealie-mcp
Provides integration with Mealie's API, enabling recipe search and retrieval, recipe creation and import from URLs or plain text, meal planning, and shopping list management.
This server does not currently have a deployable release on Glama. Follow the repository's setup instructions to install and configure it for your MCP client, including any required credentials and local dependencies.
mealie-mcp
An MCP server for Mealie: search and read recipes, import them from URLs or plain text, plan meals, and manage shopping lists — from claude.ai, Claude Desktop, Claude Code or any other MCP client.
Runs as a single long-lived Streamable HTTP server with OAuth 2.1 in front (any OIDC IdP; built and tested against Authentik), or over stdio for local use.
Tools (20)
Area | Tools |
Recipes |
|
Meal plan |
|
Shopping |
|
Organizers |
|
Server |
|
Deliberately not included: bulk imports, anything under /api/admin, backups, user
management. delete_recipe only removes recipes the server's own Mealie user created (its
imports and text recipes — what a model can undo of its own doing); deleting anything else is a
rare, deliberate act that belongs in the web UI.
Designed so a model fails loudly rather than quietly: unknown tag/category names in
search_recipes are an error (Mealie itself would return the whole library), importing a URL
that is already in the library returns the existing recipe, a URL with no recipe on it saves
nothing, and Mealie's Pydantic 422 bodies are compacted to field: message.
Two scopes: mealie:read and mealie:write (write implies read). Scopes are checked inside
every tool function, not just declared in metadata.
Related MCP server: Mealie MCP Server
How it fits together
MCP client ──OAuth 2.1──► mealie-mcp ──Mealie API token──► Mealie
│ login + consent │
▼ │ RFC 9728 metadata, WWW-Authenticate challenge,
your IdP (Authentik, …) │ optional RFC 7591 DCR front (OAuthProxy)Two auth boundaries. OAuth gates client → server. The server → Mealie hop always uses one
Mealie API token, ideally for a dedicated, non-admin Mealie user — everything the server does
shows up in Mealie as that user. scripts/setup_mealie_user.py creates that user and token
without ever printing them.
Quick start (stdio, local)
pip install .
export MEALIE_URL=http://127.0.0.1:9000 MEALIE_TOKEN=<api token>
mealie-mcp # speaks MCP over stdioRemote with OAuth
See docs/DEPLOY.md. In short:
MCP_TRANSPORT=http MCP_HTTP_HOST=127.0.0.1 MCP_HTTP_PORT=3011
MCP_PUBLIC_URL=https://mealie-mcp.example.com
MCP_AUTH_MODE=oauth-proxy
MCP_OAUTH_ISSUER=https://auth.example.com/application/o/mealie-mcp/
MCP_OAUTH_AUDIENCE=https://mealie-mcp.example.com/mcp
MCP_OAUTH_CLIENT_ID=… MCP_OAUTH_CLIENT_SECRET=…
MEALIE_URL=http://127.0.0.1:9000 MEALIE_TOKEN=…The HTTP transport refuses to start without OAuth unless you set
MCP_ALLOW_UNAUTHENTICATED_HTTP=1 for loopback testing.
Configuration
Variable | Meaning |
| Mealie base URL and API token (required) |
| URL for links in results, if different from |
|
|
|
|
| bind address (default |
| externally reachable base URL (required for OAuth) |
|
|
| token verification |
| this server's client at the IdP (proxy mode) |
| allow-list for MCP clients' redirect URIs (default: claude.ai/claude.com callbacks + localhost) |
| per-IP limit on |
| where the OAuth proxy persists client registrations — must survive restarts |
Development
python -m venv .venv && .venv/bin/pip install -e ".[dev]"
.venv/bin/pytestLicense
MIT. The auth and rate-limit modules are adapted from molnkontakt/odoo-mcp by the same author.
This server cannot be deployed
Maintenance
Related MCP Connectors
Recipes MCP — wraps TheMealDB API (free tier, no auth)
Control Ration inventory, meals, meal plans, shopping lists, and credits from an MCP client.
BakeryOS bakery-management MCP — recipes, costs, production; propose changes via OAuth.
Discover, preview, and save recipes and meal plans with RecipeBee; private actions require OAuth.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables AI assistants to interact with Mealie recipe databases through MCP clients like Claude Desktop.158MIT
- AlicenseNot gradedqualityBmaintenanceEnables interaction with Mealie for managing recipes, meal plans, shopping lists, foods, units, tags, categories, and more through MCP.MIT
- AlicenseNot gradedqualityCmaintenanceConnects MCP clients like Claude to your Mealie recipe manager, enabling natural language search, creation, import, and updates of recipes.347 npmMIT
- AlicenseNot gradedqualityCmaintenanceA read-only MCP server for Mealie that enables searching recipes, managing shopping lists, meal plans, and retrieving household/instance info via tools. Supports secure per-user authentication and multiple Mealie instances.MIT