Skip to main content
Glama
bitmonster

Mealie MCP Server

by bitmonster

Server Configuration

Describes the environment variables required to run the server.

NameRequiredDescriptionDefault
MEALIE_BASE_URLYesThe base URL of the Mealie instance (e.g., http://localhost:9000)
MEALIE_PASSWORDNoMealie password (fallback authentication, requires MEALIE_USERNAME)
MEALIE_USERNAMENoMealie username (fallback authentication, requires MEALIE_PASSWORD)
MEALIE_API_TOKENNoA long-lived Mealie API token (preferred authentication method)
MEALIE_PUBLIC_URLNoThe public URL of the Mealie instance (optional, for external access)
MEALIE_MCP_TIMEOUTNoHTTP timeout in seconds (default 30)30
MEALIE_MCP_DATA_DIRNoRuntime data root directory (default ~/.cache/mealie-mcp)~/.cache/mealie-mcp
MEALIE_MCP_OCR_TIMEOUTNoTesseract timeout per OCR call in seconds (default 60)60
MEALIE_MCP_DOWNLOAD_DIRNoControlled download directory (default $DATA_DIR/downloads)~/.cache/mealie-mcp/downloads
MEALIE_MCP_MAX_JSON_BYTESNoMaximum JSON response size (default 10 MiB)10485760
MEALIE_MCP_MUTATION_SCOPENoComma-separated mutation scopes (default none)none
MEALIE_MCP_ALLOW_MUTATIONSNoEnable mutations (default false)false
MEALIE_MCP_MAX_IMAGE_PIXELSNoMaximum decoded image pixels (default 40,000,000)40000000
MEALIE_MCP_ALLOW_URL_IMPORTSNoAllow Mealie to fetch validated public recipe URLs (default false)false
MEALIE_MCP_MAX_OPENAPI_BYTESNoMaximum OpenAPI response size (default 20 MiB)20971520
MEALIE_MCP_MAX_DOWNLOAD_BYTESNoMaximum binary download size (default 100 MiB)104857600
MEALIE_MCP_ALLOWED_LOCAL_ROOTSNoAdditional local upload roots separated by OS path separator (default empty)
MEALIE_MCP_ALLOW_REMOTE_SOURCESNoAllow this MCP process to fetch validated public file URLs (default false)false

Instructions

Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.

This server publishes no instructions, or was last inspected before Glama recorded them.

Capabilities

Features and capabilities supported by this server

Protocol revision2025-11-25

CapabilityDetails
tools
{
  "listChanged": false
}
prompts
{
  "listChanged": false
}
resources
{
  "subscribe": false,
  "listChanged": false
}
experimental
{}

Tools

Functions exposed to the LLM to take actions

NameDescription
mealie_aboutB

Return public Mealie app/version information.

mealie_statusA

Check server reachability and whether authentication works.

mealie_search_recipesC

Search Mealie recipes. Supports Mealie queryFilter syntax for advanced filters.

mealie_get_recipeA

Fetch one recipe by slug or id.

mealie_recipe_suggestionsC

Return Mealie recipe suggestions.

mealie_list_shopping_listsC

List household shopping lists.

mealie_list_shopping_itemsA

List shopping list items, optionally filtered by shopping list and checked state.

mealie_list_mealplansB

List household meal plans. Dates are ISO yyyy-mm-dd strings.

mealie_create_recipe_from_urlA

Import/create a recipe from a public web URL after explicit confirmation.

mealie_create_shopping_listB

Create a shopping list after explicit user confirmation.

mealie_add_shopping_itemA

Add an item to a shopping list after explicit user confirmation.

mealie_get_shopping_listB

Fetch one household shopping list by id.

mealie_get_shopping_itemA

Fetch one household shopping list item by id.

mealie_update_shopping_itemC

Update a shopping item using Mealie v3's full-model PUT endpoint.

mealie_delete_shopping_itemA

Delete one shopping list item after explicit confirmation.

mealie_add_recipe_to_shopping_listC

Add a recipe's ingredients to a shopping list using Mealie v3.

mealie_get_todays_mealsA

Fetch today's household meal plan entries.

mealie_create_mealplanB

Create a household mealplan entry. Date must be ISO yyyy-mm-dd.

mealie_update_mealplanB

Update a mealplan entry using Mealie v3's full-model PUT endpoint.

mealie_delete_mealplanA

Delete a mealplan entry after explicit confirmation.

mealie_create_recipe_from_textA

Create a Mealie recipe from OCR/vision-extracted text and optional images.

Requires mutations enabled AND confirmed_by_user=True. Use this after showing the user a preview of title, ingredients, steps, tags, and asking for explicit confirmation. Ingredient lines are stored in display and note so Mealie mobile renders them correctly.

For cookbook/photo imports, the agent may choose a title-image crop itself: pass cover_crop_box=[left, top, right, bottom] with cover_crop_units="percent" (default, 0..100; fractional 0..1 is accepted too) or "pixels". The crop is taken from cover_crop_source_url, otherwise main_image_url, otherwise source_image_url, and uploaded as the Mealie recipe cover. The full source_image_url can still be uploaded as the original cookbook asset.

mealie_update_recipe_imageA

Upload or replace the cover image of an existing Mealie recipe.

The image is read from an HTTP(S) URL, file:// URL, or local path and sent to Mealie as a real multipart file upload. It is never stored as an external URL in the recipe object. Requires mutations enabled and an explicit user confirmation. An optional crop uses [left, top, right, bottom] in percent (default), fraction, or pixels.

mealie_upload_recipe_assetB

Upload a real file asset to an existing recipe via multipart.

mealie_delete_recipe_imageA

Delete an existing recipe cover image after explicit confirmation.

mealie_duplicate_recipeB

Duplicate a recipe, optionally assigning a new name.

mealie_mark_recipe_madeB

Set a recipe's last-made timestamp using an ISO 8601 date-time.

mealie_list_organizersC

List tags, categories, foods, units, cookbooks, comments, or timeline events.

mealie_api_operationsA

Search the live Mealie OpenAPI operation catalog.

Returns operation IDs, methods, paths, tags, parameters, and content types. Admin/auth/user/backup/maintenance operations are hidden by default and are documentation-only even when include_sensitive=True.

mealie_api_operation_requestA

Execute a non-sensitive JSON Mealie operation by OpenAPI operation ID.

Use mealie_api_operations first. Mutations require explicit confirmation and remain restricted by MEALIE_MCP_MUTATION_SCOPE. Multipart/binary operations require a dedicated MCP tool.

mealie_api_multipart_operation_requestC

Execute a non-sensitive multipart Mealie operation by OpenAPI operation ID.

file_sources maps multipart field names to direct HTTP(S)/file URLs or local paths. Mutations require explicit confirmation and an enabled scope.

mealie_api_downloadC

Download a non-sensitive binary GET operation to a controlled local directory.

mealie_api_getC

Generic authenticated GET validated against live OpenAPI and security tags.

mealie_api_requestA

Generic JSON Mealie API request for non-sensitive paths.

Non-GET methods require explicit user confirmation and an enabled mutation scope. Prefer mealie_api_operation_request because it validates against the live OpenAPI document.

mealie_extract_recipe_text_from_imageA

OCR: Extrahiere Rohtext aus einem Kochbuchfoto/Screenshot.

Lädt das Bild von einer URL oder lokalem Pfad, bereitet es für OCR auf (Graustufen, Kontrast, Binarisierung) und gibt den erkannten Text zurück.

Der Rohtext kann dann per Text-LLM in Zutaten/Anweisungen strukturiert und mit mealie_create_recipe_from_text importiert werden.

Das spart teure Vision-API-Aufrufe.

mealie_search_chefkochA

Suche Rezepte auf Chefkoch.de.

Durchsucht Chefkoch.de nach Rezepten passend zur Suchanfrage und gibt eine Liste mit Grundinformationen zurueck (Titel, URL, Beschreibung, Bild, Kategorie, Zubereitungszeit, Bewertung).

Verwendung: Vor einem Mealie-Import die Rezeptsuche, um das passende Rezept zu finden. Der Benutzer kann dann per URL oder per mealie_get_chefkoch_recipe die vollstaendigen Details abrufen.

mealie_get_chefkoch_recipeA

Rufe ein vollstaendiges Chefkoch-Rezept mit allen Details ab.

Liefert Zutaten-Liste, Schritt-fuer-Schritt-Anleitung, Zubereitungszeit, Kategorie, Bewertung und Naehrwerte (falls vorhanden) fuer ein Rezept.

Der Bot nutzt diese Daten, um das Rezept strukturiert anzuzeigen oder in Mealie zu importieren.

mealie_parse_ingredientsA

Parse ingredient lines via Mealie's ingredient parser.

Accepts a list of raw ingredient strings (e.g. '650 g Süßkartoffeln, in etwa 4 cm große Würfel geschnitten') and returns structured results with quantity, unit, food, and note fields.

The parsed results can be passed directly to mealie_update_recipe_ingredients for updating existing recipes.

mealie_update_recipe_ingredientsA

Replace the ingredient list of an existing Mealie recipe with structured data.

Each ingredient dict must contain at least 'quantity', 'unit', 'food', and optionally 'note' and 'display'. Supports both structured inputs (as returned by mealie_parse_ingredients) and raw strings (which get stored in the display/note format for backward compatibility).

The tool fetches the current recipe, replaces its ingredient list, applies any additional update_fields, and patches it back via the Mealie API.

Typical structured ingredient format: {"quantity": 650, "unit": {"name": "g"}, "food": {"name": "Süßkartoffeln"}, "note": "in etwa 4 cm große Würfel geschnitten"}

Raw string fallback: "650 g Süßkartoffeln, in etwa 4 cm große Würfel geschnitten"

Returns the updated recipe slug and ingredient count.

Prompts

Interactive templates invoked by user choice

NameDescription

No prompts

Resources

Contextual data attached and managed by the client

NameDescription

No resources

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/bitmonster/mealie-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server