Skip to main content

Mealie Mcp

CLI or API | MCP | Agent

PyPI - Version MCP Server PyPI - Downloads GitHub Repo stars GitHub forks GitHub contributors PyPI - License GitHub GitHub last commit (by committer) GitHub pull requests GitHub closed pull requests GitHub issues GitHub top language GitHub language count GitHub repo size GitHub repo file count (file type) PyPI - Wheel PyPI - Implementation

Version: 2.3.1


Overview

Mealie Mcp is a production-grade Agent and Model Context Protocol (MCP) server designed to interface directly with Mealie MCP Server for Agentic AI!.


Key Features

  • Consolidated Action-Routed MCP Tools: Minimizes token overhead and eliminates tool bloat in LLM contexts by grouping methods into optimized, togglable tool modules.
  • Enterprise-Grade Security: Complete support for Eunomia policies, OIDC token delegation, and granular execution context tracking.
  • Integrated Graph Agent: Built-in Pydantic AI agent supporting the Agent Control Protocol (ACP) and standard Web interfaces (AG-UI).
  • Native Telemetry & Tracing: Out-of-the-box OpenTelemetry exports and native Langfuse tracing.

CLI or API

This agent wraps the Mealie MCP Server for Agentic AI! API. The operator can interact with it programmatically or via its integrated execution entrypoints.

Detailed instructions on how to use the underlying API wrappers, extended schema bindings, and developer SDK references are maintained in docs/index.md.


MCP

This server use dynamic Action-Routed tools to optimize token overhead and maximize IDE compatibility.

Available MCP Tools

Condensed action-routed tools (MCP_TOOL_MODE=condensed)

MCP Tool Toggle Env Var Description
mealie_admin ADMINTOOL Manage mealie admin operations.
mealie_app APPTOOL Manage mealie app operations.
mealie_explore EXPLORETOOL Manage mealie explore operations.
mealie_groups GROUPSTOOL Manage mealie groups operations.
mealie_households HOUSEHOLDSTOOL Manage mealie households operations.
mealie_ingest_recipes KGTOOL Natively ingest Mealie recipes into epistemic-graph as typed :Recipe nodes.
mealie_organizer ORGANIZERTOOL Manage mealie organizer operations.
mealie_recipe_create RECIPESTOOL Create a recipe with {name}; returns its slug. Then use mealie_recipe_update
mealie_recipe_food_create RECIPESTOOL Create a food record for recipe ingredients; look up existing foods first.
mealie_recipe_foods RECIPESTOOL Find existing food records by name; use the returned records in ingredient food.
mealie_recipe_patch RECIPESTOOL Patch only supplied recipe fields via native PATCH. Lists such as
mealie_recipe_unit_create RECIPESTOOL Create a unit record for recipe ingredients; look up existing units first.
mealie_recipe_units RECIPESTOOL Find existing unit records by name; use the returned records in ingredient unit.
mealie_recipe_update RECIPESTOOL Replace a recipe via native PUT. Fetch the current recipe first, preserve
mealie_recipes RECIPESTOOL Manage mealie recipes operations.
mealie_shared SHAREDTOOL Manage mealie shared operations.
mealie_users USERSTOOL Manage mealie users operations.
mealie_utils UTILSTOOL Manage mealie utils operations.

Verbose 1:1 API-mapped tools (MCP_TOOL_MODE=verbose or both)

246 per-operation tools — one per public API method (click to expand)
MCP Tool Toggle Env Var Description
mealie_add_favorite APITOOL Add Favorite
mealie_add_recipe_ingredients_to_list APITOOL Add Recipe Ingredients To List
mealie_add_single_recipe_ingredients_to_list APITOOL Add Single Recipe Ingredients To List
mealie_bulk_categorize_recipes APITOOL Bulk Categorize Recipes
mealie_bulk_delete_recipes APITOOL Bulk Delete Recipes
mealie_bulk_export_recipes APITOOL Bulk Export Recipes
mealie_bulk_settings_recipes APITOOL Bulk Settings Recipes
mealie_bulk_tag_recipes APITOOL Bulk Tag Recipes
mealie_check_app_config APITOOL Check App Config
mealie_check_email_config APITOOL Check Email Config
mealie_clean_images APITOOL Clean Images
mealie_clean_recipe_folders APITOOL Clean Recipe Folders
mealie_clean_temp APITOOL Clean Temp
mealie_create APITOOL Create Api Token
mealie_create_invite_token APITOOL Create Invite Token
mealie_create_random_meal APITOOL Create Random Meal
mealie_create_recipe_from_html_or_json APITOOL Create Recipe From Html Or Json
mealie_create_recipe_from_image APITOOL Create Recipe From Image
mealie_create_recipe_from_zip APITOOL Create Recipe From Zip
mealie_debug_openai APITOOL Debug Openai
mealie_delete APITOOL Delete Api Token
mealie_delete_admin_backups_file_name APITOOL Delete One
mealie_delete_admin_groups_item_id APITOOL Delete One
mealie_delete_admin_households_item_id APITOOL Delete One
mealie_delete_admin_users_item_id APITOOL Delete One
mealie_delete_foods_item_id APITOOL Delete One
mealie_delete_groups_labels_item_id APITOOL Delete One
mealie_delete_groups_reports_item_id APITOOL Delete One
mealie_delete_households_cookbooks_item_id APITOOL Delete One
mealie_delete_households_events_notifications_item_id APITOOL Delete One
mealie_delete_households_mealplans_item_id APITOOL Delete One
mealie_delete_households_mealplans_rules_item_id APITOOL Delete One
mealie_delete_households_recipe_actions_item_id APITOOL Delete One
mealie_delete_households_shopping_items APITOOL Delete Many
mealie_delete_households_shopping_items_item_id APITOOL Delete One
mealie_delete_households_shopping_lists_item_id APITOOL Delete One
mealie_delete_households_webhooks_item_id APITOOL Delete One
mealie_delete_organizers_categories_item_id APITOOL Delete One
mealie_delete_organizers_tools_item_id APITOOL Delete One
mealie_delete_recipe_image APITOOL Delete Recipe Image
mealie_delete_recipe_tag APITOOL Delete Recipe Tag
mealie_delete_recipes_slug APITOOL Delete One
mealie_delete_recipes_timeline_events_item_id APITOOL Delete One
mealie_delete_shared_recipes_item_id APITOOL Delete One
mealie_delete_units_item_id APITOOL Delete One
mealie_download_file APITOOL Download File
mealie_duplicate_one APITOOL Duplicate One
mealie_email_invitation APITOOL Email Invitation
mealie_forgot_password APITOOL Forgot Password
mealie_generate_token APITOOL Generate Token
mealie_get_admin_backups APITOOL Get All
mealie_get_admin_backups_file_name APITOOL Get One
mealie_get_admin_groups APITOOL Get All
mealie_get_admin_groups_item_id APITOOL Get One
mealie_get_admin_households APITOOL Get All
mealie_get_admin_households_item_id APITOOL Get One
mealie_get_admin_users APITOOL Get All
mealie_get_admin_users_item_id APITOOL Get One
mealie_get_all_empty APITOOL Get All Empty
mealie_get_all_households APITOOL Get All Households
mealie_get_app_info APITOOL Get App Info
mealie_get_app_statistics APITOOL Get App Statistics
mealie_get_app_theme APITOOL Get App Theme
mealie_get_comments APITOOL Get All
mealie_get_comments_item_id APITOOL Get One
mealie_get_empty_tags APITOOL Get Empty Tags
mealie_get_explore_groups_group_slug_cookbooks APITOOL Get All
mealie_get_explore_groups_group_slug_cookbooks_item_id APITOOL Get One
mealie_get_explore_groups_group_slug_foods APITOOL Get All
mealie_get_explore_groups_group_slug_foods_item_id APITOOL Get One
mealie_get_explore_groups_group_slug_households APITOOL Get All
mealie_get_explore_groups_group_slug_organizers_categories APITOOL Get All
mealie_get_explore_groups_group_slug_organizers_categories_item_id APITOOL Get One
mealie_get_explore_groups_group_slug_organizers_tags APITOOL Get All
mealie_get_explore_groups_group_slug_organizers_tags_item_id APITOOL Get One
mealie_get_explore_groups_group_slug_organizers_tools APITOOL Get All
mealie_get_explore_groups_group_slug_organizers_tools_item_id APITOOL Get One
mealie_get_explore_groups_group_slug_recipes APITOOL Get All
mealie_get_explore_groups_group_slug_recipes_suggestions APITOOL Suggest Recipes
mealie_get_exported_data APITOOL Get Exported Data
mealie_get_exported_data_token APITOOL Get Exported Data Token
mealie_get_favorites APITOOL Get Favorites
mealie_get_foods APITOOL Get All
mealie_get_foods_item_id APITOOL Get One
mealie_get_group_member APITOOL Get Group Member
mealie_get_group_members APITOOL Get Group Members
mealie_get_group_preferences APITOOL Get Group Preferences
mealie_get_groups_labels APITOOL Get All
mealie_get_groups_labels_item_id APITOOL Get One
mealie_get_groups_reports APITOOL Get All
mealie_get_groups_reports_item_id APITOOL Get One
mealie_get_household APITOOL Get Household
mealie_get_household_members APITOOL Get Household Members
mealie_get_household_preferences APITOOL Get Household Preferences
mealie_get_household_recipe APITOOL Get Household Recipe
mealie_get_households_cookbooks APITOOL Get All
mealie_get_households_cookbooks_item_id APITOOL Get One
mealie_get_households_events_notifications APITOOL Get All
mealie_get_households_events_notifications_item_id APITOOL Get One
mealie_get_households_mealplans APITOOL Get All
mealie_get_households_mealplans_item_id APITOOL Get One
mealie_get_households_mealplans_rules APITOOL Get All
mealie_get_households_mealplans_rules_item_id APITOOL Get One
mealie_get_households_recipe_actions APITOOL Get All
mealie_get_households_recipe_actions_item_id APITOOL Get One
mealie_get_households_shopping_items APITOOL Get All
mealie_get_households_shopping_items_item_id APITOOL Get One
mealie_get_households_shopping_lists APITOOL Get All
mealie_get_households_shopping_lists_item_id APITOOL Get One
mealie_get_households_webhooks APITOOL Get All
mealie_get_households_webhooks_item_id APITOOL Get One
mealie_get_invite_tokens APITOOL Get Invite Tokens
mealie_get_logged_in_user APITOOL Get Logged In User
mealie_get_logged_in_user_favorites APITOOL Get Logged In User Favorites
mealie_get_logged_in_user_group APITOOL Get Logged In User Group
mealie_get_logged_in_user_household APITOOL Get Logged In User Household
mealie_get_logged_in_user_rating_for_recipe APITOOL Get Logged In User Rating For Recipe
mealie_get_logged_in_user_ratings APITOOL Get Logged In User Ratings
mealie_get_maintenance_summary APITOOL Get Maintenance Summary
mealie_get_one_household APITOOL Get One Household
mealie_get_organizers_categories APITOOL Get All
mealie_get_organizers_categories_item_id APITOOL Get One
mealie_get_organizers_categories_slug_category_slug APITOOL Get One By Slug
mealie_get_organizers_tags APITOOL Get All
mealie_get_organizers_tags_item_id APITOOL Get One
mealie_get_organizers_tags_slug_tag_slug APITOOL Get One By Slug
mealie_get_organizers_tools APITOOL Get All
mealie_get_organizers_tools_item_id APITOOL Get One
mealie_get_organizers_tools_slug_tool_slug APITOOL Get One By Slug
mealie_get_ratings APITOOL Get Ratings
mealie_get_recipe APITOOL Get Recipe
mealie_get_recipe_as_format APITOOL Get Recipe As Format
mealie_get_recipe_asset APITOOL Get Recipe Asset
mealie_get_recipe_comments APITOOL Get Recipe Comments
mealie_get_recipe_formats_and_templates APITOOL Get Recipe Formats And Templates
mealie_get_recipe_img APITOOL Get Recipe Img
mealie_get_recipe_timeline_event_img APITOOL Get Recipe Timeline Event Img
mealie_get_recipes APITOOL Get All
mealie_get_recipes_slug APITOOL Get One
mealie_get_recipes_suggestions APITOOL Suggest Recipes
mealie_get_recipes_timeline_events APITOOL Get All
mealie_get_recipes_timeline_events_item_id APITOOL Get One
mealie_get_shared_recipe APITOOL Get Shared Recipe
mealie_get_shared_recipe_as_zip APITOOL Get Shared Recipe As Zip
mealie_get_shared_recipes APITOOL Get All
mealie_get_shared_recipes_item_id APITOOL Get One
mealie_get_startup_info APITOOL Get Startup Info
mealie_get_statistics APITOOL Get Statistics
mealie_get_storage APITOOL Get Storage
mealie_get_storage_details APITOOL Get Storage Details
mealie_get_todays_meals APITOOL Get Todays Meals
mealie_get_token APITOOL Get Token
mealie_get_units APITOOL Get All
mealie_get_units_item_id APITOOL Get One
mealie_get_user_image APITOOL Get User Image
mealie_get_validation_text APITOOL Get Validation Text
mealie_import_one APITOOL Import One
mealie_logout APITOOL Logout
mealie_oauth_callback APITOOL Oauth Callback
mealie_oauth_login APITOOL Oauth Login
mealie_parse_ingredient APITOOL Parse Ingredient
mealie_parse_ingredients APITOOL Parse Ingredients
mealie_parse_recipe_url APITOOL Parse Recipe Url
mealie_parse_recipe_url_bulk APITOOL Parse Recipe Url Bulk
mealie_patch_many APITOOL Patch Many
mealie_patch_one APITOOL Patch One
mealie_post_admin_backups APITOOL Create One
mealie_post_admin_groups APITOOL Create One
mealie_post_admin_households APITOOL Create One
mealie_post_admin_users APITOOL Create One
mealie_post_comments APITOOL Create One
mealie_post_foods APITOOL Create One
mealie_post_groups_labels APITOOL Create One
mealie_post_households_cookbooks APITOOL Create One
mealie_post_households_events_notifications APITOOL Create One
mealie_post_households_mealplans APITOOL Create One
mealie_post_households_mealplans_rules APITOOL Create One
mealie_post_households_recipe_actions APITOOL Create One
mealie_post_households_shopping_items APITOOL Create One
mealie_post_households_shopping_items_create_bulk APITOOL Create Many
mealie_post_households_shopping_lists APITOOL Create One
mealie_post_households_webhooks APITOOL Create One
mealie_post_organizers_categories APITOOL Create One
mealie_post_organizers_tags APITOOL Create One
mealie_post_organizers_tools APITOOL Create One
mealie_post_parser_ingredient APITOOL Delete One
mealie_post_recipes APITOOL Create One
mealie_post_recipes_timeline_events APITOOL Create One
mealie_post_shared_recipes APITOOL Create One
mealie_post_units APITOOL Create One
mealie_purge_export_data APITOOL Purge Export Data
mealie_put_admin_groups_item_id APITOOL Update One
mealie_put_admin_households_item_id APITOOL Update One
mealie_put_admin_users_item_id APITOOL Update One
mealie_put_comments_item_id APITOOL Update One
mealie_put_foods_item_id APITOOL Update One
mealie_put_foods_merge APITOOL Merge One
mealie_put_groups_labels_item_id APITOOL Update One
mealie_put_households_cookbooks APITOOL Update Many
mealie_put_households_cookbooks_item_id APITOOL Update One
mealie_put_households_events_notifications_item_id APITOOL Update One
mealie_put_households_mealplans_item_id APITOOL Update One
mealie_put_households_mealplans_rules_item_id APITOOL Update One
mealie_put_households_recipe_actions_item_id APITOOL Update One
mealie_put_households_shopping_items APITOOL Update Many
mealie_put_households_shopping_items_item_id APITOOL Update One
mealie_put_households_shopping_lists_item_id APITOOL Update One
mealie_put_households_webhooks_item_id APITOOL Update One
mealie_put_organizers_categories_item_id APITOOL Update One
mealie_put_organizers_tags_item_id APITOOL Update One
mealie_put_organizers_tools_item_id APITOOL Update One
mealie_put_recipes APITOOL Update Many
mealie_put_recipes_slug APITOOL Update One
mealie_put_recipes_timeline_events_item_id APITOOL Update One
mealie_put_units_item_id APITOOL Update One
mealie_put_units_merge APITOOL Merge One
mealie_refresh_token APITOOL Refresh Token
mealie_register_new_user APITOOL Register New User
mealie_remove_favorite APITOOL Remove Favorite
mealie_remove_recipe_ingredients_from_list APITOOL Remove Recipe Ingredients From List
mealie_rerun_webhooks APITOOL Rerun Webhooks
mealie_reset_password APITOOL Reset Password
mealie_scrape_image_url APITOOL Scrape Image Url
mealie_seed_foods APITOOL Seed Foods
mealie_seed_labels APITOOL Seed Labels
mealie_seed_units APITOOL Seed Units
mealie_send_test_email APITOOL Send Test Email
mealie_set_member_permissions APITOOL Set Member Permissions
mealie_set_rating APITOOL Set Rating
mealie_start_data_migration APITOOL Start Data Migration
mealie_test_notification APITOOL Test Notification
mealie_test_one APITOOL Test One
mealie_test_parse_recipe_url APITOOL Test Parse Recipe Url
mealie_trigger_action APITOOL Trigger Action
mealie_unlock_users APITOOL Unlock Users
mealie_update_event_image APITOOL Update Event Image
mealie_update_group_preferences APITOOL Update Group Preferences
mealie_update_household_preferences APITOOL Update Household Preferences
mealie_update_label_settings APITOOL Update Label Settings
mealie_update_last_made APITOOL Update Last Made
mealie_update_password APITOOL Update Password
mealie_update_recipe_image APITOOL Update Recipe Image
mealie_update_user APITOOL Update User
mealie_update_user_image APITOOL Update User Image
mealie_upload_one APITOOL Upload One
mealie_upload_recipe_asset APITOOL Upload Recipe Asset

18 action-routed tool(s) · 246 verbose 1:1 tool(s). Each is enabled unless its <DOMAIN>TOOL toggle is set false; MCP_TOOL_MODE selects the surface (intent default — the six verb-tools, granular set loaded on demand · condensed action-routed · verbose 1:1 · both). Auto-generated — do not edit.

Detailed tool schemas, parameter shapes, and validation constraints are preserved in docs/usage.md.

Dynamic Tool Selection & Visibility

This MCP server supports dynamic toolset selection and visibility filtering at runtime. This allows the operator to restrict the set of exposed tools to prevent blowing up the LLM's context window.

The operator can configure tool filtering via multiple input channels:

  • CLI Arguments: Pass --tools or --toolsets (or their disabled counterparts --disabled-tools and --disabled-toolsets) during startup.
  • Environment Variables: Define standard environment variables:
    • MCP_ENABLED_TOOLS / MCP_DISABLED_TOOLS
    • MCP_ENABLED_TAGS / MCP_DISABLED_TAGS
  • HTTP SSE Request Headers: Pass custom headers during transport initialization:
    • x-mcp-enabled-tools / x-mcp-disabled-tools
    • x-mcp-enabled-tags / x-mcp-disabled-tags
  • HTTP SSE Request Query Parameters: Append query parameters directly to the operator's transport connection URL:
    • ?tools=tool1,tool2
    • ?tags=tag1

When query strings or parameters are provided, an LLM-free Knowledge Graph resolution layer (using DynamicToolOrchestrator) matches query intents against known tool tags, names, or descriptions, with safe fallback and automated 24-hour background cache refreshing.


MCP Configuration Examples

Install the connector-focused [mcp] extra. Examples use mealie-mcp[mcp] to add FastMCP / FastAPI through agent-connector-sdk[mcp]; the required Agent Utilities core still carries epistemic-graph[full]. The [agent-runtime] extra additionally enables model orchestration.

stdio Transport (local IDEs — Cursor, Claude Desktop, VS Code)

{
  "mcpServers": {
    "mealie-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "mealie-mcp[mcp]",
        "mealie-mcp"
      ],
      "env": {
        "MCP_TOOL_MODE": "intent",
        "ADMINTOOL": "True",
        "APPTOOL": "True",
        "EXPLORETOOL": "True",
        "GROUPSTOOL": "True",
        "HOUSEHOLDSTOOL": "True",
        "KGTOOL": "True",
        "MEALIE_BASE_URL": "http://localhost:8025",
        "MEALIE_TOKEN": "your_token_here",
        "ORGANIZERTOOL": "True",
        "RECIPESTOOL": "True",
        "SHAREDTOOL": "True",
        "USERSTOOL": "True",
        "UTILSTOOL": "True"
      }
    }
  }
}

Runtime references require an alias-aware launcher such as Arbora. Other launchers must omit those entries and inject the resolved values through their own runtime secret boundary.

Streamable-HTTP Transport (networked / production)

{
  "mcpServers": {
    "mealie-mcp": {
      "command": "uvx",
      "args": [
        "--from",
        "mealie-mcp[mcp]",
        "mealie-mcp",
        "--transport",
        "streamable-http",
        "--port",
        "8000"
      ],
      "env": {
        "TRANSPORT": "streamable-http",
        "HOST": "127.0.0.1",
        "PORT": "8000",
        "MCP_TOOL_MODE": "intent",
        "ADMINTOOL": "True",
        "APPTOOL": "True",
        "EXPLORETOOL": "True",
        "GROUPSTOOL": "True",
        "HOUSEHOLDSTOOL": "True",
        "KGTOOL": "True",
        "MEALIE_BASE_URL": "http://localhost:8025",
        "MEALIE_TOKEN": "your_token_here",
        "ORGANIZERTOOL": "True",
        "RECIPESTOOL": "True",
        "SHAREDTOOL": "True",
        "USERSTOOL": "True",
        "UTILSTOOL": "True"
      }
    }
  }
}

Alternatively, connect to a pre-deployed Streamable-HTTP instance by url:

{
  "mcpServers": {
    "mealie-mcp": {
      "url": "http://localhost:8000/mealie-mcp/mcp"
    }
  }
}

Run a reviewed container image as a least-privilege stdio child (no listener or published port):

docker run -i --rm \
  --read-only \
  --cap-drop=ALL \
  --security-opt=no-new-privileges \
  --pids-limit=256 \
  --tmpfs /tmp:rw,noexec,nosuid,nodev,size=64m \
  -e TRANSPORT=stdio \
  -e MCP_TOOL_MODE=intent \
  -e ADMINTOOL=True \
  -e APPTOOL=True \
  -e EXPLORETOOL=True \
  -e GROUPSTOOL=True \
  -e HOUSEHOLDSTOOL=True \
  -e KGTOOL=True \
  -e MEALIE_BASE_URL=http://localhost:8025 \
  -e MEALIE_TOKEN=your_token_here \
  -e ORGANIZERTOOL=True \
  -e RECIPESTOOL=True \
  -e SHAREDTOOL=True \
  -e USERSTOOL=True \
  -e UTILSTOOL=True \
  registry.example.invalid/mealie-mcp@sha256:<digest> mealie-mcp

For containerized network HTTP, supply an authenticated TLS ingress (or direct server TLS), exact MCP_ALLOWED_HOSTS, and an exact trusted-proxy CIDR policy through the operator-owned deployment profile. The generator does not emit an unauthenticated non-loopback listener.

Auto-generated from the code-read env surface (MCP_TOOL_MODE + package vars) — do not edit.

Additional Deployment Options

mealie-mcp can run as a local stdio process or container, or behind a remote network boundary. The Deployment guide carries the detailed transport contract.

  • Local container — launch a reviewed immutable image as a least-privilege stdio child with no listener or published port.
  • Remote URL — connect through an operator-supplied authenticated HTTPS ingress. Keep its URL, outbound identity references, trust profile, and exact MCP_ALLOWED_HOSTS in AgentConfig.

Security & Governance

Built directly upon the enterprise-ready agent-connector-sdk core, standard security parameters are fully supported:

Access Control & Policy Enforcement

  • Eunomia Policies: Fine-grained, policy-driven tool authorization. Supports none, local embedded (mcp_policies.json), or centralized remote modes.
  • OIDC Token Delegation: Compliant with RFC 8693 token exchange for flowing authenticating user credentials from Web UI / ACP → Agent → MCP.
  • Scoped Credentials: Execution context runs restricted to the specific caller identity.

Runtime Security Grid

Feature Feature Enablement
Tool Guard Sensitivity inspection with human-in-the-loop validation Enabled by default
Prompt Injection Defense Input scanning, repetition monitoring, and recursive loop blocks Enabled by default
Context Safety Guard Stuck-loop detectors and contextual overflow preemptive alerts Enabled by default

Environment Variables

Package environment variables

Variable Example Description
HOST 0.0.0.0
PORT 8000
TRANSPORT stdio options: stdio, streamable-http, sse
ENABLE_OTEL True
OTEL_EXPORTER_OTLP_ENDPOINT http://localhost:8080/api/public/otel
OTEL_EXPORTER_OTLP_PUBLIC_KEY_REF secret://runtime/otel-public-key
OTEL_EXPORTER_OTLP_SECRET_KEY_REF secret://runtime/otel-secret-key
OTEL_EXPORTER_OTLP_PROTOCOL http/protobuf
EUNOMIA_TYPE none options: none, embedded, remote
EUNOMIA_POLICY_FILE mcp_policies.json
EUNOMIA_REMOTE_URL http://eunomia-server:8000
MEALIE_BASE_URL http://localhost:8025 Base URL of your Mealie instance
MEALIE_TOKEN secret-injected Mealie API token
MEALIE_TLS_PROFILE — Optional named TLS profile or secret reference; verification is mandatory.
MEALIE_TLS_PROFILE_REF —
APPTOOL True
USERSTOOL True
HOUSEHOLDSTOOL True
GROUPSTOOL True
RECIPESTOOL True
ORGANIZERTOOL True
SHAREDTOOL True
ADMINTOOL True
EXPLORETOOL True
UTILSTOOL True
KGTOOL True
MEALIE_MCP_MCP_IMAGE — e.g. registry.example.invalid/mealie-mcp@sha256:

Inherited agent-connector-sdk variables (apply to every connector)

Variable Example Description
MCP_TOOL_MODE intent Tool surface: intent | condensed | verbose | both
MCP_ENABLED_TOOLS — Comma-separated tool allow-list
MCP_DISABLED_TOOLS — Comma-separated tool deny-list
MCP_ENABLED_TAGS — Comma-separated tag allow-list
MCP_DISABLED_TAGS — Comma-separated tag deny-list
MCP_CLIENT_AUTH — Outbound MCP child auth: oidc-client-credentials | basic | none
OIDC_CLIENT_ID — OIDC client id (service-account auth)
OIDC_CLIENT_SECRET_REF secret://identity/oidc-client-secret Runtime secret reference for the OIDC service account
MCP_BASIC_AUTH_USERNAME — HTTP Basic username (MCP_CLIENT_AUTH=basic)
MCP_BASIC_AUTH_PASSWORD_REF secret://identity/mcp-basic-password Runtime secret reference for HTTP Basic auth (MCP_CLIENT_AUTH=basic)
DEBUG False Verbose logging
PYTHONUNBUFFERED 1 Unbuffered stdout (recommended in containers)
MCP_URL http://localhost:8000/mcp URL of the MCP server the agent connects to
PROVIDER — Operator-configured LLM provider for the agent
MODEL_ID — Operator-configured model id for the agent
ENABLE_WEB_UI True Serve the AG-UI web interface

28 package + 16 inherited variable(s). Auto-generated from .env.example + the shared agent-connector-sdk set — do not edit.

Every variable the server reads. A local template is provided inside .env.example — copy it to .env and fill in the operator's endpoint/credentials.

Connection & Credentials

Variable Description Default
MEALIE_BASE_URL Base URL of the operator's Mealie instance http://localhost:8025
MEALIE_TOKEN Mealie API token —
MEALIE_TLS_PROFILE Named TLS profile for private PKI, mTLS, or proxy policy —
MEALIE_TLS_PROFILE_REF Secret reference containing the TLS profile —

MCP server / transport

Variable Description Default
TRANSPORT stdio, streamable-http, or sse stdio
HOST Bind host (HTTP transports) 0.0.0.0
PORT Bind port (HTTP transports) 8000
MCP_TOOL_MODE Tool surface: intent, condensed, verbose, or both intent
MCP_ENABLED_TOOLS / MCP_DISABLED_TOOLS Comma-separated tool allow/deny list —
MCP_ENABLED_TAGS / MCP_DISABLED_TAGS Comma-separated tag allow/deny list —
PYTHONUNBUFFERED Unbuffered stdout (recommended in containers) 1

Telemetry & governance

Variable Description Default
ENABLE_OTEL Enable OpenTelemetry export True
OTEL_EXPORTER_OTLP_ENDPOINT OTLP collector endpoint —
OTEL_EXPORTER_OTLP_PUBLIC_KEY / OTEL_EXPORTER_OTLP_SECRET_KEY OTLP auth keys —
OTEL_EXPORTER_OTLP_PROTOCOL OTLP protocol (e.g. http/protobuf) —
EUNOMIA_TYPE Authorization mode: none, embedded, remote none
EUNOMIA_POLICY_FILE Embedded policy file mcp_policies.json
EUNOMIA_REMOTE_URL Remote Eunomia server URL —

Tool toggles

Each action-routed tool can be disabled individually via its toggle env var (set to false). The full list is in the Available MCP Tools table above (e.g. RECIPESTOOL, USERSTOOL, ORGANIZERTOOL, ADMINTOOL).


Installation

Pick the extra that matches what the operator want to run:

Extra Installs Use when
mealie-mcp[mcp] Connector-focused MCP server (agent-connector-sdk[mcp] — FastMCP/FastAPI + epistemic-graph[full]) The operator only run the MCP server (smallest install / image)
mealie-mcp[agent] Agent runtime (agent-connector-sdk[agent-runtime,logfire] — model orchestration + epistemic-graph[full]) The operator run the integrated agent
mealie-mcp[all] Everything (mcp + agent + logfire) Development / both surfaces
# Connector-focused MCP server (includes the shared graph engine)
uv pip install "mealie-mcp[mcp]"

# Agent runtime (adds model orchestration to the shared graph engine)
uv pip install "mealie-mcp[agent]"

# Everything (development)
uv pip install "mealie-mcp[all]"      # or: python -m pip install "mealie-mcp[all]"

Container image (:mcp)

docker/Dockerfile builds the connector-focused MCP server image (--target mcp):

Image tag Build target Contents Entrypoint
knucklessg1/mealie-mcp:mcp --target mcp mealie-mcp[mcp] — connector-focused, includes epistemic-graph[full] mealie-mcp
docker build --target mcp -t knucklessg1/mealie-mcp:mcp docker/   # connector-focused MCP server

docker/mcp.compose.yml runs the :mcp server. It requires an explicit @sha256 digest-pinned image, plus a read-only root filesystem, dropped capabilities, and a non-root user — resolve the digest for the tag the operator built/pulled rather than deploying a floating tag.

Knowledge-graph database (epistemic-graph)

Both [mcp] and [agent] carry the epistemic-graph engine through the required Agent Utilities core dependency (epistemic-graph[full]). The [mcp] extra keeps the server connector-focused; [agent] also enables model orchestration. Local deployments can use the bundled engine. For production — or to share one knowledge graph across multiple agents — run epistemic-graph as its own database container (or a dedicated shared service) and point the runtime at it instead of embedding it. Deployment recipes (single-node + Raft HA), connection config, and the full database architecture (with diagrams) are documented in the epistemic-graph deployment guide.


Repository Owners

GitHub followers GitHub User's stars


Contribute

Contributions are welcome! Please ensure code quality by running local checks before submitting pull requests:

  • Format code using ruff format .
  • Lint code using ruff check .
  • Validate type-safety with mypy .
  • Ran test suites using pytest

Deploy with agent-connector-sdk-deployment

Provision this package with the consolidated agent-connector-sdk-deployment workflow. It selects an installed-package, editable-source, or immutable-container path; records only runtime secret and TLS-profile references in AgentConfig; and runs doctor, registration, policy, observability, and rollback gates. Ask your agent to "deploy mealie-mcp with agent-connector-sdk-deployment".

Install mode Command
Installed package uv tool install "mealie-mcp[mcp]", then run mealie-mcp
Editable source uv pip install -e ".[agent]", then run mealie-mcp
Immutable container deploy registry.example.invalid/mealie-mcp@sha256:<digest> through the operator-selected orchestrator

The repository embeds no deployment profile, credential value, certificate path, or environment-specific endpoint. Supply those at runtime through AgentConfig and the configured secret provider.

Governed capability contract

This package ships a compact canonical skill surface with specialist procedures kept as referenced workflows. The current MCP tools, skill metadata, connector_manifest.yml, ontology, mappings, shapes, fixtures, migrations, tool-schema fingerprints, and certification metadata form one versioned capability contract. Validate them together; do not rely on stale tool names or historical per-task skill wrappers.

Runtime endpoints, credentials, certificate trust, tenant identity, retention, and observability policy are deployment inputs and are never packaged values. See Configuration, trust, and privacy before enabling a network transport, connector ingestion, Arbora delegation, or trace export.

Typed recipe writes

The recipes domain also provides mealie_recipe_create, mealie_recipe_update, mealie_recipe_patch, mealie_recipe_foods, mealie_recipe_units, mealie_recipe_food_create and mealie_recipe_unit_create. These accept JSON objects with discoverable nested schemas. They follow the existing recipes tool visibility policy: directly available in condensed/both mode, and available through granular tool loading when the shared intent surface gates the domain. The existing mealie_recipes(action, params_json) remains compatible.

Creation uses Mealie's native two-stage workflow:

  1. Call mealie_recipe_create with {"data":{"name":"Vegetable soup"}}. This makes one POST and returns the recipe slug.

  2. Use that slug with mealie_recipe_patch, for example:

    {
      "slug": "vegetable-soup",
      "data": {
        "recipeIngredient": [
          {"quantity": 2, "food": {"name": "carrot"}, "unit": {"name": "cup"},
           "title": "Soup", "note": "diced"}
        ]
      }
    }
    

Search foods/units before creating records; pass existing returned objects or create-record objects into ingredients, rather than bare IDs. Ingredient title is a section heading, not ingredient text. PATCH sends only provided fields and preserves explicit nulls; ingredient lists are replaced as a whole. For PUT, fetch the current recipe via mealie_recipes action get_recipes_slug and edit that full body, since omitted fields can reset on the server. The typed surface rejects malformed nested data before an API call. Server business rules still apply. See schema provenance and regeneration.

Metadata

Release files for mealie-mcp 2.3.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for mealie-mcp 2.3.1
File Size Uploaded Provenance
mealie_mcp-2.3.1.tar.gz 95.8 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for mealie-mcp 2.3.1
File Interpreter ABI Platform
mealie_mcp-2.3.1-py3-none-any.whl Python 3 none any Details

Total release size: 202.9 kB

Release files / mealie_mcp-2.3.1.tar.gz

Download URL mealie_mcp-2.3.1.tar.gz
Size 95.8 kB
Tags Source
SHA-256 checksum
How to use checksums
407aa948d909bd3efc609eec79c07bfb7f35d915eb4d5e3211e480fdd62a8871
BLAKE2b-256 checksum
How to use checksums
941d95ad48bc01354005e6cd125ce4d4d21b4737a4472ff22d1734520988c719
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Release files / mealie_mcp-2.3.1-py3-none-any.whl

Download URL mealie_mcp-2.3.1-py3-none-any.whl
Size 107.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b48dd9ecc20f0b29e8df02cbc959fe217c47051d282d83b91583bfb2f9d0916e
BLAKE2b-256 checksum
How to use checksums
f5f53e09164c7ddcc3f1f7e2ec9a2cfb1df2245af25b01a80630ee53d8bb0a0f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.4

Security for mealie-mcp 2.3.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

2.3.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page