Skip to main content

MCP server for Mealie

Project description

mcp-mealie

MCP server for Mealie — exposes a Mealie instance's REST API to MCP clients (Claude Desktop, Claude Code, etc.) so an LLM can read, search, scrape, edit, and delete recipes (and meal plans, shopping lists, cookbooks, taxonomy) on your behalf.

Prerequisites

  • Python 3.14+
  • uv
  • A reachable Mealie instance (self-hosted or otherwise)
  • A Mealie API token: in Mealie, click your avatar → ProfileAPI TokensGenerate. The token inherits the issuing user's permissions, so for automation prefer a dedicated non-admin user.

Setup

uv sync

Configuration

Two environment variables are required:

Variable Purpose
MEALIE_BASE_URL Root URL of your Mealie instance, no trailing path
MEALIE_API_TOKEN Long-lived bearer token from Profile → API Tokens

Claude Desktop

Add to ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mealie": {
      "command": "uvx",
      "args": ["mcp-mealie"],
      "env": {
        "MEALIE_BASE_URL": "https://mealie.example.com",
        "MEALIE_API_TOKEN": "eyJhbGc..."
      }
    }
  }
}

Claude Code

claude mcp add mealie \
  -e MEALIE_BASE_URL=https://mealie.example.com \
  -e MEALIE_API_TOKEN=eyJhbGc... \
  -- uvx mcp-mealie

Tools

Diagnostics

Tool Description
get_about Server version / health (no auth path)
whoami Confirm the token works

Recipes (full CRUD + scrape + rating)

Tool Description
list_recipes Paginated list with search and ordering
get_recipe Full recipe by slug
create_recipe Empty recipe by name
create_recipe_from_url Scrape from a URL
update_recipe Patch common fields
set_recipe_rating Per-user rating / favorite
delete_recipe Delete by slug

Cookbooks (full CRUD)

Tool Description
list_cookbooks Saved recipe filters
get_cookbook By UUID
create_cookbook name, description, query_filter_string, public
update_cookbook Patch
delete_cookbook Delete

Meal plans (full CRUD)

Tool Description
list_mealplans Range-filtered list
get_mealplan By id
create_mealplan date + entry_type, plus recipe_id or title/text
update_mealplan Patch
delete_mealplan Delete

Meal-plan rules (full CRUD)

Used by Mealie's random-meal generator.

Tool Description
list_mealplan_rules List rules
get_mealplan_rule By UUID
create_mealplan_rule day, entry_type, query_filter_string
update_mealplan_rule Patch
delete_mealplan_rule Delete

Shopping lists (CRUD + recipe attach)

Tool Description
list_shopping_lists
get_shopping_list Includes items
create_shopping_list
update_shopping_list Rename
delete_shopping_list
add_recipe_to_shopping_list Add a recipe's ingredients (with scale)
remove_recipe_from_shopping_list Reverse the above

Shopping items (full CRUD)

Tool Description
list_shopping_items Optionally filter by list_id
get_shopping_item
create_shopping_item Free-form note or structured (food/unit)
create_shopping_items_bulk JSON-array bulk create
update_shopping_item Includes check/uncheck
delete_shopping_item

Parser

Tool Description
parse_ingredient One string → quantity/unit/food
parse_ingredients JSON array of strings → list of parsed results

Taxonomy (full CRUD per resource)

Categories, tags, and kitchen tools share a uniform {name} create surface.

Resource Tools
Categories list_categories, get_category, create_category, update_category, delete_category
Tags list_tags, get_tag, create_tag, update_tag, delete_tag
Kitchen tools list_tools, get_tool, create_tool, update_tool, delete_tool
Foods list_foods, get_food, create_food, update_food, delete_food
Units list_units, get_unit, create_unit, update_unit, delete_unit
Labels list_labels, get_label, create_label, update_label, delete_label

Development

uv sync
uv run pytest tests/ -x -q
uv run ruff check src/ tests/
uv run pyright src/

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mcp_mealie-0.2.1.tar.gz (14.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

mcp_mealie-0.2.1-py3-none-any.whl (17.0 kB view details)

Uploaded Python 3

File details

Details for the file mcp_mealie-0.2.1.tar.gz.

File metadata

  • Download URL: mcp_mealie-0.2.1.tar.gz
  • Upload date:
  • Size: 14.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_mealie-0.2.1.tar.gz
Algorithm Hash digest
SHA256 e5a6ae022647fa3b5b19e059f0694af12b8f79f9f9f9e3dd471bc48d0f8d74b5
MD5 85fb28335d2a8dc363add7cf23159489
BLAKE2b-256 b7bc2db653f56e73a60b594e9da7aa42653856b433290a056b3d934308690c71

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_mealie-0.2.1.tar.gz:

Publisher: release.yml on obrien-matthew/mcp-mealie

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file mcp_mealie-0.2.1-py3-none-any.whl.

File metadata

  • Download URL: mcp_mealie-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 17.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for mcp_mealie-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 af9b7f983cf72da99fca04bd31ad77f0de7bfc827ca90ae2e3a88c43098c7b6e
MD5 ab5c928fc1344288b0953208a7507be4
BLAKE2b-256 eff644ff7446902aad93ee003cae91ef135b0d3ce56cea30f64046becaee61e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_mealie-0.2.1-py3-none-any.whl:

Publisher: release.yml on obrien-matthew/mcp-mealie

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page