Mealie MCP Server
Enables AI assistants to interact with Mealie for recipe management (search, create, update, import from URLs), meal planning (create, view, update meal plans), and shopping list operations (create lists, add items, generate from meal plans).
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Mealie MCP Serversearch for chicken recipes for dinner this week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Mealie MCP Server
A Model Context Protocol (MCP) server that enables AI assistants to interact with Mealie for recipe management, meal planning, and shopping lists.
Features
Tools (31 total)
Recipes
mealie_recipes_search- Search recipes by name, tags, or categoriesmealie_recipes_get- Get full recipe details including ingredients and instructionsmealie_recipes_list- List all recipes with paginationmealie_recipes_create- Create a new recipemealie_recipes_create_from_url- Import recipe by scraping a URLmealie_recipes_update- Update an existing recipemealie_recipes_update_structured_ingredients- Update recipe with structured ingredients from parsermealie_recipes_delete- Delete a recipe
Meal Planning
mealie_mealplans_list- List meal plans for a date rangemealie_mealplans_today- Get today's mealsmealie_mealplans_get- Get specific meal plan entrymealie_mealplans_get_date- Get meals for a specific datemealie_mealplans_create- Create meal plan entrymealie_mealplans_update- Update meal plan entrymealie_mealplans_delete- Delete meal plan entrymealie_mealplans_random- Get random meal suggestion
Shopping Lists
mealie_shopping_lists_list- List all shopping listsmealie_shopping_lists_get- Get shopping list with itemsmealie_shopping_lists_create- Create new shopping listmealie_shopping_lists_delete- Delete shopping listmealie_shopping_items_add- Add item to listmealie_shopping_items_add_bulk- Add multiple items at oncemealie_shopping_items_check- Mark item checked/uncheckedmealie_shopping_items_delete- Remove item from listmealie_shopping_add_recipe- Add recipe ingredients to listmealie_shopping_generate_from_mealplan- Generate shopping list from meal planmealie_shopping_clear_checked- Clear all checked items
Ingredient Parsing
mealie_parser_ingredient- Parse single ingredient string to structured formatmealie_parser_ingredients_batch- Parse multiple ingredient strings at once
Resources
recipes://list- Browse all recipesrecipes://{slug}- View specific recipemealplans://current- Current week's meal planmealplans://today- Today's mealsmealplans://{date}- Specific date's mealsshopping://lists- All shopping listsshopping://{list_id}- Specific shopping list
Related MCP server: mealie-mcp
Prerequisites
Docker (or Podman)
A running Mealie instance
Mealie API token
Quick Start
1. Get the Docker Image
Option A: Pull from GitHub Container Registry (recommended)
docker pull ghcr.io/mdlopresti/mealie-mcp:latestOption B: Build from source
git clone https://github.com/mdlopresti/mealie-mcp.git
cd mealie-mcp
docker build -t mealie-mcp:latest .2. Get Your API Token
Log into your Mealie instance
Go to User Settings (click your name in sidebar)
Navigate to API Tokens
Create a new token (e.g., "MCP Server")
Copy the token immediately (it won't be shown again)
3. Configure Claude Code
Add to .mcp.json in your project root:
{
"mcpServers": {
"mealie": {
"command": "docker",
"args": [
"run", "-i", "--rm",
"-e", "MEALIE_URL=https://your-mealie-instance.com",
"-e", "MEALIE_API_TOKEN=your-api-token-here",
"ghcr.io/mdlopresti/mealie-mcp:latest"
]
}
}
}Then add mealie to your ~/.claude/settings.json:
{
"allowedMcpServers": [
{ "serverName": "mealie" }
]
}4. Test the Connection
Restart Claude Code and try:
Can you search for recipes in Mealie?Usage Examples
Clearing Optional Fields
To clear an optional field (remove its value), pass the special sentinel value "__CLEAR__":
# Remove recipe association from a meal plan entry
mealie_mealplans_update(
mealplan_id="abc-123",
recipe_id="__CLEAR__"
)
# Clear the title from an entry
mealie_mealplans_update(
mealplan_id="abc-123",
title="__CLEAR__"
)
# Clear the text/notes from an entry
mealie_mealplans_update(
mealplan_id="abc-123",
text="__CLEAR__"
)
# Clear multiple fields at once
mealie_mealplans_update(
mealplan_id="abc-123",
recipe_id="__CLEAR__",
title="__CLEAR__",
text="__CLEAR__"
)To leave a field unchanged, simply omit it from the call:
# Update only the date, preserving all other fields
mealie_mealplans_update(
mealplan_id="abc-123",
meal_date="2025-12-25"
)Development
Local Development (without Docker)
# Create virtual environment
python -m venv venv
source venv/bin/activate
# Install dependencies
pip install -r requirements.txt
# Set environment variables
export MEALIE_URL=https://your-mealie-instance.com
export MEALIE_API_TOKEN=your-api-token
# Run server
python -m src.serverRunning Tests
Unit/Integration Tests (mock API, always run):
# Run all tests except E2E
pytest -m "not e2e"
# Run all tests with coverage
pytest --cov=src --cov-report=term-missingEnd-to-End Tests (optional):
E2E tests validate against a real Mealie instance. Two modes are supported:
Docker E2E Tests (recommended - isolated environment):
# Install test dependencies
pip install -r requirements-dev.txt
# Run Docker E2E tests
pytest tests/e2e/test_docker_e2e.py -v
# These tests:
# - Start a containerized Mealie instance automatically
# - Run tests in isolated environment
# - Clean up containers and data after tests
# - Require Docker/Podman to be runningLive Instance E2E Tests (test against existing server):
# Set required environment variables
export MEALIE_E2E_URL="https://your-mealie-instance.com"
export MEALIE_E2E_TOKEN="your-test-api-token"
# Run E2E tests against live instance
pytest -m e2e
# These tests are skipped if environment variables are not setSee tests/e2e/README.md for detailed E2E testing documentation.
Note: Live instance E2E tests create and delete test resources. Use a test/development instance, not production!
Project Structure
mealie-mcp/
├── Dockerfile # Container definition
├── requirements.txt # Python dependencies
├── build.sh # Build helper script
└── src/
├── server.py # MCP server entry point
├── client.py # Mealie API client
├── tools/ # MCP tool implementations
│ ├── recipes.py
│ ├── mealplans.py
│ ├── shopping.py
│ └── parser.py
└── resources/ # MCP resource implementations
├── recipes.py
├── mealplans.py
└── shopping.pySecurity
Never commit API tokens - Use environment variables
The API token has full access to your Mealie account
Consider creating a dedicated Mealie user for the MCP server
Requirements
Python 3.12+
Mealie v1.0+ (tested with v3.6.1)
License
MIT
Contributing
Contributions welcome! Please open an issue or PR.
Related
Mealie - Self-hosted recipe manager
Model Context Protocol - MCP specification
FastMCP - Python MCP framework
This server cannot be deployed
Maintenance
Related MCP Connectors
Household-aware cooking brain: pantry, meal suggestions, dietary safety, recipes, shopping lists.
Search, save, organize, cook, and share recipes with any AI assistant.
AI-powered kitchen management — pantry, recipes, meal plans, shopping lists
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.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables AI assistants to interact with Mealie recipe databases, allowing users to manage and query their recipes through natural language conversations.13 npmMIT
- AlicenseNot gradedqualityDmaintenanceExposes Mealie recipe manager as LLM-callable tools for searching recipes, managing meal plans, and editing shopping lists.MIT
- AlicenseNot gradedqualityAmaintenanceA 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.174 npm7MIT
- AlicenseAqualityDmaintenanceEnables AI assistants to manage recipes, meal plans, and shopping lists in Mealie through natural language, supporting CRUD operations and URL-based recipe imports.271,288 npm8MIT