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 + content)

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 metadata fields
set_recipe_ingredients Replace ingredient list (raw text, no food/unit binding)
set_recipe_ingredients_parsed Replace ingredient list, parsing each line and binding food/unit IDs
parse_recipe_ingredients Re-parse the recipe's existing free-text ingredients in place
set_recipe_instructions Replace step list (JSON array of lines)
set_recipe_notes Replace notes (JSON array of {title,text})
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.7.0.tar.gz (18.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.7.0-py3-none-any.whl (21.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: mcp_mealie-0.7.0.tar.gz
  • Upload date:
  • Size: 18.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.7.0.tar.gz
Algorithm Hash digest
SHA256 ea121e52e0e87dd3ff065ea7b308da79244106fde03fd304ff5a338125b0c760
MD5 66292a213eb33eab7a53167e56e936e2
BLAKE2b-256 e48869d39eb678835b92c22fc0b9ba86d0f433f2d33457de6f7b4084e5e1c63e

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_mealie-0.7.0.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.7.0-py3-none-any.whl.

File metadata

  • Download URL: mcp_mealie-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 21.5 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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ea5e4b82c4c9359403c2586669d24fd8fc95f2a4037714dd708a82d5d33f1a36
MD5 e321d6842f0c1289ab930160bc75920d
BLAKE2b-256 158d4b02fdc7a1230628a6d0e9a83934e3ccb159b8ecc29a488f4cb70d2fb386

See more details on using hashes here.

Provenance

The following attestation bundles were made for mcp_mealie-0.7.0-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