mealie-mcp-ts
Allows interaction with a Mealie instance, providing tools for managing recipes, meal plans, shopping lists, categories, tags, and foods.
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-tsAdd ingredients from 'Chicken Tikka Masala' to my shopping list"
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
An MCP (Model Context Protocol) server that enables LLMs to interact with Mealie - a self-hosted recipe manager and meal planner.
Features
Recipe Management: List, view, create, update, and delete recipes
Recipe Import: Import recipes from URLs (supports most recipe websites)
Ingredient Parsing: Automatic parsing of natural language ingredients (e.g., "2 cups flour")
Image Uploads: Upload images to recipes via base64 encoding
Meal Planning: Create and manage meal plans with date scheduling
Shopping Lists: Full CRUD for shopping list items, plus add recipe ingredients to lists
Organization: Manage categories and tags for recipe organization
Food Management: List and create food items
Related MCP server: Mealie MCP Server
Installation
# Clone the repository
git clone https://github.com/your-username/mealie-mcp.git
cd mealie-mcp
# Install dependencies
pnpm install
# Build
pnpm run buildConfiguration
Create a .env file based on .env.example:
cp .env.example .envRequired environment variables:
Variable | Description |
| URL of your Mealie instance (e.g., |
| API key from Mealie (Settings → API Tokens) |
| (Optional) Comma-separated list of tools to enable |
Usage
With Claude Desktop
Add to your Claude Desktop configuration (~/Library/Application Support/Claude/claude_desktop_config.json):
{
"mcpServers": {
"mealie": {
"command": "node",
"args": ["/path/to/mealie-mcp/dist/index.js"],
"env": {
"MEALIE_URL": "http://localhost:9925",
"MEALIE_API_KEY": "your-api-key"
}
}
}
}Remote HTTP mode (e.g. on a NAS)
For running the server on a different machine (Synology NAS, home server, etc.), use the HTTP transport. The SDK's Streamable HTTP transport lets Claude Desktop connect over the network.
Set these env vars:
MCP_TRANSPORT=http
PORT=3000
ALLOWED_HOSTS=nas.local,192.168.1.50 # Host header allowlist (DNS rebind protection)
MEALIE_URL=http://mealie:9000 # service name if on same compose network
MEALIE_API_KEY=...Claude Desktop config:
{
"mcpServers": {
"mealie": {
"url": "http://nas.local:3000/mcp"
}
}
}With Docker
The bundled Dockerfile defaults to HTTP transport on port 3000.
docker build -t mealie-mcp .
docker run -p 3000:3000 \
-e MEALIE_URL=http://host.docker.internal:9925 \
-e MEALIE_API_KEY=your-api-key \
-e ALLOWED_HOSTS=localhost \
mealie-mcpCompose service (attach to existing Mealie stack)
mealie-mcp:
build: ./mealie-mcp
container_name: mealie-mcp
restart: unless-stopped
ports:
- "3000:3000"
environment:
- MEALIE_URL=http://mealie:9000
- MEALIE_API_KEY=${MEALIE_API_KEY}
- ALLOWED_HOSTS=nas.local,192.168.1.50
depends_on:
- mealieAvailable Tools (25 total)
Recipes (6 tools)
Tool | Description |
| List all recipes with pagination |
| Get full recipe details by slug |
| Create a new recipe with ingredients and instructions |
| Update an existing recipe |
| Delete a recipe |
| Upload an image to a recipe (base64) |
Recipe Import (2 tools)
Tool | Description |
| Test if a URL can be scraped for recipe data |
| Import a recipe by scraping a URL |
Meal Planning (4 tools)
Tool | Description |
| List meal plans with optional date range filter |
| Get today's planned meals |
| Create a meal plan entry for a specific date |
| Delete a meal plan entry |
Shopping Lists (6 tools)
Tool | Description |
| List all shopping lists |
| Get shopping list with items |
| Add an item to a shopping list |
| Update an item (quantity, note, or check/uncheck) |
| Remove an item from a shopping list |
| Add all ingredients from a recipe to a list |
Organization (4 tools)
Tool | Description |
| List all recipe categories |
| Create a new category |
| List all recipe tags |
| Create a new tag |
Foods (2 tools)
Tool | Description |
| List all foods/ingredients |
| Create a new food item |
Debugging (1 tool)
Tool | Description |
| Get current API user info including group and household context |
Important: Group Context
Mealie scopes data by group and household. When you create an API token, it inherits the group context of your current session. If recipes or other items you create via the API aren't visible in your browser:
Use the
get_current_usertool to see which group the API token is associated withEnsure your browser session is viewing the same group (check the URL path)
If needed, switch groups in Mealie's UI, then generate a new API token
Development
# Run in development mode
pnpm run dev
# Lint
pnpm run lint
# Format
pnpm run format
# Build
pnpm run buildLocal Mealie Instance
Start a local Mealie instance for testing:
docker-compose up -dThis starts Mealie at http://localhost:9925.
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/counterbeing/mealie-mcp-ts'
If you have feedback or need assistance with the MCP directory API, please join our Discord server