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 "Install 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
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)
Option B: Build from source
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:
Then add mealie to your ~/.claude/settings.json:
4. Test the Connection
Restart Claude Code and try:
Usage Examples
Clearing Optional Fields
To clear an optional field (remove its value), pass the special sentinel value "__CLEAR__":
To leave a field unchanged, simply omit it from the call:
Development
Local Development (without Docker)
Running Tests
Unit/Integration Tests (mock API, always run):
End-to-End Tests (optional):
E2E tests validate against a real Mealie instance. Two modes are supported:
Docker E2E Tests (recommended - isolated environment):
Live Instance E2E Tests (test against existing server):
See 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
Security
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