AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
MCP verified MIT Self-run

Mealie Mcp

mcp-mdlopresti-mealie-mcp · by mdlopresti

Model Context Protocol (MCP) server for Mealie recipe management, meal planning, and shopping lists

No reviews yet
0 installs
28 views
0.0% view→install

Install

$ agentstack add mcp-mdlopresti-mealie-mcp

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • Prompt-injection patterns
  • Secret / credential exfiltration
  • Dangerous shell & filesystem operations
  • Untrusted network calls
  • Known-malicious package signatures

What it can access

  • Network access No
  • Filesystem access No
  • Shell / process execution No
  • Environment & secrets No
  • Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/mcp-mdlopresti-mealie-mcp)

Reliability & compatibility

Security review passed
0 installs to date
no reviews yet
7mo ago

Declared compatibility

Claude CodeClaude DesktopCursorWindsurf

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Mealie Mcp? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Mealie MCP Server

[](https://github.com/mdlopresti/mealie-mcp/actions/workflows/docker.yml) [](https://github.com/mdlopresti/mealie-mcp/actions/workflows/test.yml)

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 categories
  • mealie_recipes_get - Get full recipe details including ingredients and instructions
  • mealie_recipes_list - List all recipes with pagination
  • mealie_recipes_create - Create a new recipe
  • mealie_recipes_create_from_url - Import recipe by scraping a URL
  • mealie_recipes_update - Update an existing recipe
  • mealie_recipes_update_structured_ingredients - Update recipe with structured ingredients from parser
  • mealie_recipes_delete - Delete a recipe

Meal Planning

  • mealie_mealplans_list - List meal plans for a date range
  • mealie_mealplans_today - Get today's meals
  • mealie_mealplans_get - Get specific meal plan entry
  • mealie_mealplans_get_date - Get meals for a specific date
  • mealie_mealplans_create - Create meal plan entry
  • mealie_mealplans_update - Update meal plan entry
  • mealie_mealplans_delete - Delete meal plan entry
  • mealie_mealplans_random - Get random meal suggestion

Shopping Lists

  • mealie_shopping_lists_list - List all shopping lists
  • mealie_shopping_lists_get - Get shopping list with items
  • mealie_shopping_lists_create - Create new shopping list
  • mealie_shopping_lists_delete - Delete shopping list
  • mealie_shopping_items_add - Add item to list
  • mealie_shopping_items_add_bulk - Add multiple items at once
  • mealie_shopping_items_check - Mark item checked/unchecked
  • mealie_shopping_items_delete - Remove item from list
  • mealie_shopping_add_recipe - Add recipe ingredients to list
  • mealie_shopping_generate_from_mealplan - Generate shopping list from meal plan
  • mealie_shopping_clear_checked - Clear all checked items

Ingredient Parsing

  • mealie_parser_ingredient - Parse single ingredient string to structured format
  • mealie_parser_ingredients_batch - Parse multiple ingredient strings at once

Resources

  • recipes://list - Browse all recipes
  • recipes://{slug} - View specific recipe
  • mealplans://current - Current week's meal plan
  • mealplans://today - Today's meals
  • mealplans://{date} - Specific date's meals
  • shopping://lists - All shopping lists
  • shopping://{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)

docker pull ghcr.io/mdlopresti/mealie-mcp:latest

Option 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

  1. Log into your Mealie instance
  2. Go to User Settings (click your name in sidebar)
  3. Navigate to API Tokens
  4. Create a new token (e.g., "MCP Server")
  5. 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.server

Running 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-missing

End-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 running

Live 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 set

See [tests/e2e/README.md](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.py

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

Source & license

This open-source MCP server is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.