Mealie MCP Server
About
MCP server that exposes Mealie APIs to MCP clients such as Claude Desktop
Details
- Author
- rldiao
- Downloads
- 469
- Categories
- Productivity, Other
Jump to
- Integrates with Mealie via API key
- Supports Claude Desktop and other MCP clients
- Simple setup via fastmcp or manual config
- Open source under MIT License
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Mealie MCP ServerCommand (node, npx, python, etc.)Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
Install using fastmcp with environment variables MEALIE_BASE_URL and MEALIE_API_KEY, or manually configure the server in your claude_desktop_config.json with the same env vars. Requires a running Mealie instance and Python 3.12+.
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"mealie mcp server": {
"mealie-mcp-server": {
"command": "uv",
"args": [
"sync"
]
}
}
}
}
McpServers
{
"mealie-mcp-server": {
"command": "uv",
"args": [
"sync"
]
}
}
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yourMealierecipe database through clients like Claude Desktop.
- CRUD Operations: Create, read, update, patch, duplicate, and delete recipes
- Advanced Search: Filter by text, categories, tags, and tools with AND/OR logic
- Image Management: Upload images or scrape from URLs
- Asset Uploads: Attach documents and files to recipes
- Metadata Tracking: Mark recipes as made, track last made dates
- List Management: Create, update, and delete shopping lists
- Item Operations: Add, update, check off, and remove items
- Bulk Operations: Create, update, or delete multiple items at once
- Recipe Integration: Automatically add recipe ingredients to shopping lists
- Categories: Organize recipes with categories (Breakfast, Dinner, etc.)
- Tags: Tag recipes for easy filtering (Quick, Healthy, Family Favorite)
- Advanced Filtering: Search and filter with full pagination support
- Empty Detection: Find unused categories and tags
- Meal Plans: View and manage meal plans
- Bulk Creation: Add multiple meals at once
- Today's Menu: Quick access to today's planned meals
- Python 3.12+
- Running Mealie instance with API key
- Package manageruv
Install the server directly with thefastmcpcommand:
fastmcp install src/server.py \ --env-var MEALIE_BASE_URL=https://your-mealie-instance.com \ --env-var MEALIE_API_KEY=your-mealie-api-key
Run directly from GitHub without cloning:
{ "mcpServers": { "mealie-mcp-server": { "command": "uvx", "args": ["git+https://github.com/rldiao/mealie-mcp-server"], "env": { "MEALIE_BASE_URL": "https://your-mealie-instance.com", "MEALIE_API_KEY": "your-mealie-api-key" } } } }
Restart Claude Desktop to load the server.
"Search for chicken recipes" "Create a new recipe for pasta carbonara" "Duplicate my lasagna recipe" "Mark the meatloaf recipe as made today" "Upload an image for the chocolate cake recipe"
"Create a shopping list for this week" "Add eggs and milk to my shopping list" "Add all ingredients from the lasagna recipe to my shopping list" "Check off milk on my shopping list" "Delete all checked items from my shopping list"
"Show me all my recipe categories" "Create a new tag called 'Quick Meals'" "Find all recipes tagged with 'healthy'" "Show me categories that have no recipes"
"Find recipes that have both 'quick' AND 'healthy' tags" "Search for breakfast recipes containing 'eggs'" "Show me all vegetarian dinner recipes"
- get_recipes- List/search recipes with advanced filtering
- get_recipe_detailed- Get complete recipe details
- get_recipe_concise- Get recipe summary
- create_recipe- Create new recipe (flat or structured ingredients)
- create_recipe_full- Create a recipe with full content in one call
- update_recipe- Update recipe (full replacement)
- patch_recipe- Update specific fields only
- duplicate_recipe- Clone a recipe
- mark_recipe_last_made- Update last made timestamp
- set_recipe_image_from_url- Set image from URL
- upload_recipe_image_file- Upload image file
- upload_recipe_asset_file- Upload document/asset
- delete_recipe- Delete recipe
- get_shopping_lists- List all shopping lists
- create_shopping_list- Create new list
- get_shopping_list- Get list by ID
- delete_shopping_list- Delete list
- add_recipe_to_shopping_list- Add recipe ingredients
- remove_recipe_from_shopping_list- Remove recipe ingredients
- get_shopping_list_items- List all items
- get_shopping_list_item- Get item by ID
- create_shopping_list_item- Create single item
- create_shopping_list_items_bulk- Create multiple items
- update_shopping_list_item- Update item (preserves fields)
- update_shopping_list_items_bulk- Update multiple items
- delete_shopping_list_item- Delete single item
- delete_shopping_list_items_bulk- Delete multiple items
- get_categories- List/search categories
- get_empty_categories- Find unused categories
- create_category- Create new category
- get_category- Get by ID
- get_category_by_slug- Get by slug
- update_category- Update category
- delete_category- Delete category
- get_tags- List/search tags
- get_empty_tags- Find unused tags
- create_tag- Create new tag
- get_tag- Get by ID
- get_tag_by_slug- Get by slug
- update_tag- Update tag
- delete_tag- Delete tag
- get_foods- List/search foods (resolve ids for structured ingredients)
- create_food- Create a new food
- get_food- Get by ID
- update_food- Update food
- delete_food- Delete food
- get_units- List/search units
- create_unit- Create a new unit
- get_unit- Get by ID
- update_unit- Update unit
- delete_unit- Delete unit
- get_tools- List/search recipe tools (includeshouseholdsWithTool)
- create_tool- Create a new tool
- get_tool- Get by ID
- get_tool_by_slug- Get by slug
- update_tool- Update tool
- delete_tool- Delete tool
- get_all_mealplans- List meal plans
- create_mealplan- Create meal plan entry
- create_mealplan_bulk- Create multiple entries
- get_todays_mealplan- Get today's meals
Total: 62 toolsproviding comprehensive Mealie API coverage
git clone <repository-url> cd mealie-mcp-server
cp .env.template .env # Edit .env with your Mealie instance details
mealie-mcp-server/ ├── src/ │ ├── mealie/ # API client mixins │ │ ├── client.py # Base HTTP client │ │ ├── recipe.py # Recipe operations │ │ ├── shopping_list.py # Shopping list operations │ │ ├── categories.py # Category operations │ │ ├── tags.py # Tag operations │ │ ├── mealplan.py # Meal plan operations │ │ └── __init__.py # MealieFetcher aggregator │ ├── tools/ # MCP tool definitions │ │ ├── recipe_tools.py │ │ ├── shopping_list_tools.py │ │ ├── categories_tools.py │ │ ├── tags_tools.py │ │ ├── mealplan_tools.py │ │ └── __init__.py │ ├── models/ # Pydantic models │ ├── server.py # MCP server entry point │ └── prompts.py # Server prompts ├── CHANGELOG.md # Version history └── README.md
When filtering recipes, youmust use slugs or UUIDs, not display names:
"Get recipes with tags=['quick-meals', 'healthy']"
"Get recipes with tags=['Quick Meals', 'Healthy']"
Useget_tags()orget_categories()first to find the correct slugs.
When updating shopping list items, the server automatically preserves all existing fields. You only need to specify the fields you want to change:
# Only updates 'checked' field, preserves note, quantity, etc. update_shopping_list_item(item_id="...", checked=True)
None currently! All features have been tested end-to-end with Claude Desktop.
SeeCHANGELOG.mdfor a detailed list of changes and version history.
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see theLICENSEfile for details.
- Mealie- The recipe management system
- FastMCP- The MCP framework
- Check theCHANGELOG.mdfor recent updates
- Review the Mealie API documentation
- Open an issue on GitHub
- Mealie Documentation
- MCP Protocol Specification
- Claude Desktop
The 1Password MCP server creates a bridge that allows MCP clients such as Codex and Kiro to manage your 1Password Environments with secure authorization prompts.
This is the 1st, easiest, and cheapest PPT, slides, presentation AI generation MCP Server in the world.
Persistent memory for any AI assistant. Zero token cost until recall. Stores memories in local SQLite, ranks by 6-factor scoring, returns results 79% smaller than JSON. Works with Claude, ChatGPT, Grok, Cursor, Windsurf, and any MCP client.
A MCP server that enables AI assistants to interact with Anki, the spaced repetition flashcard application.
Enables LLM clients to interact with macOS applications through AppleScript. Built using the @beyondbetter/bb-mcp-server library, this server provides safe, controlled execution of predefined scripts with optional support for arbitrary script execution.
An MCP server for WordPress plugin audits
Turn your AI assistant into a digital marketing hub that creates, organizes, and analyzes links and QR Codes on demand.
Connect AI clients to Cal.com scheduling through the Model Context Protocol using the hosted server at mcp.cal.com or a local instance.
Sync Calendars, Scheduling Links, AI Executive Scheduling Assistant, Unified Calendar
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.




