Better Mealie MCP
The Better Mealie MCP server exposes Mealie's full API (259 tools) as MCP tools, allowing AI assistants to manage every aspect of a Mealie instance through natural language.
Recipes: Import from URLs, search by ingredients, create/update/delete recipes, manage tags, categories, ratings, favorites, comments, assets, and perform bulk operations.
Meal Planning: Create, update, and delete meal plan entries, get today's meals, generate random meal suggestions based on rules, and manage mealplan rules.
Shopping Lists: Full CRUD for shopping lists, add/remove recipe ingredients, update item quantities/checked status, manage label settings, and perform bulk operations on items.
Household Management: View household info, members, preferences, and statistics; manage permissions and invitations; configure event notifications (Apprise-based) and scheduled webhooks; create and trigger custom recipe actions.
Cookbooks: Create, update, delete, and reorder household cookbooks.
User & Authentication: Register users, log in/out, refresh tokens, manage API tokens, update profiles (images, passwords), and manage recipe ratings and favorites.
Group Management: View group info and members, list group households, and configure AI provider integrations (model, API key, base URL, headers) and their default settings.
Application Info: Retrieve app about information, startup details, and theme settings.
Provides tools for interacting with Mealie's API, enabling AI agents to manage recipes, meal plans, shopping lists, households, and more from any AI assistant in natural language.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Better Mealie MCP Plan my dinners for next week"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
๐ฒ Better Mealie MCP
An MCP server exposing every Mealie API endpoint โ all 250+ operations, none excluded. Manage recipes, meal plans, shopping lists, households and more from any AI assistant, in natural language.
Built with FastMCP from_openapi: tools are
generated straight from Mealie's OpenAPI spec, so the server stays in sync with
Mealie and nothing is hand-maintained. See TOOLS.md for the full
tool list.
๐ฌ What can you do with it?
You say | What happens |
"Add a chicken tikka masala recipe from this URL" | Scrapes and imports the recipe |
"What can I cook with what's in my pantry?" | Searches recipes by your ingredients |
"Plan my dinners for next week" | Creates meal-plan entries |
"Build a shopping list for those meals" | Generates a consolidated shopping list |
"Tag all my soups as 'winter'" | Bulk-updates recipe tags |
Related MCP server: Mealie MCP Server
๐ง Setup Wizard
Don't hand-write JSON. The wizard walks you through every choice and emits a ready-to-paste config for your combination:
Install โ Docker image or from source.
Client โ Claude Code, Claude Desktop, Cursor, VS Code, Gemini CLI, or ChatGPT (it knows each one's config shape).
Connection โ stdio or HTTP, API token or username/password.
Limit tools (optional) โ trim the 259 tools to just the groups you need, for leaner context or clients that cap tool counts. Start from a pack (Cooking, Meal planning, Sharing & browse, Admin & users) or pick groups individually; tap a group's โ to see every tool inside it. Your choice is baked into the generated config as
MEALIE_INCLUDE_TAGS.
๐ Setup
Docker (GHCR image):
docker pull ghcr.io/djwmarcx/better-mealie-mcp
docker run -i --rm \
-e MEALIE_BASE_URL=http://host.docker.internal:9925 \
-e MEALIE_API_TOKEN=... \
ghcr.io/djwmarcx/better-mealie-mcp # stdio; add `--http 8000` for HTTPImages are published on each release, tagged <mealie-version> and latest.
Inside a container, localhost is the container โ point MEALIE_BASE_URL at
host.docker.internal (macOS/Windows) or your host's LAN IP (Linux).
From source:
git clone https://github.com/djwmarcx/better-mealie-mcp
cd better-mealie-mcp
uv sync # install deps
cp .env.example .env # then edit .env with your Mealie URL + tokenAuth (set in .env or the environment):
Var | Meaning |
| Mealie base URL (default |
| Long-lived API token (preferred) โ Mealie โ Profile โ Manage API Tokens |
| Alternative: logs in at startup to fetch a token |
| Per-request timeout, seconds (default 60) |
| Verify TLS cert; |
| MCP name advertised to clients (default |
| Expose only these API groups, comma-separated (e.g. |
| Expose everything except these groups (e.g. |
| Trim redundant schema noise โ default |
| Also collapse nullable |
| Emit per-tool output schemas + validate results โ default |
Groups are the first path segment of the API (recipes, households, admin,
organizers, users, explore, foods, units, โฆ). Unset = every tool.
INCLUDE wins if both are set. See TOOLS.md for the current
groups and what's in each, or let the
Setup Wizard pick them โ its
group picker (with one-click packs like Cooking or Meal planning) fills
MEALIE_INCLUDE_TAGS for you.
Context size (schema detail)
Every tool this server exposes ships its JSON schema to the model on every request โ that "idle context" is pure overhead until a tool is actually called. With all 259 tools the full schemas are ~240k tokens, so the server trims them. Three preset modes (all endpoints stay callable โ only the schema detail the model sees changes):
Mode | Env | Idle context | What it does |
Lean (default) | (none โ the default) | ~61k tok | Drops redundant |
Leanest |
| ~51k tok | Everything Lean does, plus collapses nullable |
Full |
| ~240k tok | Complete, untrimmed input and output schemas, with client-side result validation. Use only if your client relies on structured-output schemas. |
Everything the model needs to make a correct call (format, real
descriptions, required fields) is kept in every mode. Combine with tag
filtering above to shrink further โ the
Setup Wizard shows a live token
estimate for your exact combination.
โถ๏ธ Run
uv run better-mealie-mcp # stdio transport (for MCP clients)
uv run better-mealie-mcp --http 8000 # streamable-http on 127.0.0.1:8000
uv run server.py # same server, back-compat entry
fastmcp run fastmcp.json # via FastMCP project config (stdio)
fastmcp run fastmcp-http.json # via FastMCP project config (http)In --http mode the bind address comes from MCP_HOST (default 127.0.0.1;
the Docker image sets 0.0.0.0 so -p port mapping works).
๐งช Test against a local Mealie (Docker)
docker run -d --name mealie -p 9925:9000 \
-e ALLOW_SIGNUP=true -e BASE_URL=http://localhost:9925 -e TZ=UTC \
ghcr.io/mealie-recipes/mealie:latestDefault admin login: changeme@example.com / MyPassword.
๐ Notes
Exposing every endpoint is a lot of tools โ a lot of idle context. Most clients handle it fine. If yours caps tool counts or you want a leaner context, trim the toolset with
MEALIE_INCLUDE_TAGS/MEALIE_EXCLUDE_TAGS(see Setup) or the wizard's group picker.
Versioning
This MCP's version mirrors the Mealie version its spec targets โ MCP
3.20.1 โ Mealie v3.20.1. The server advertises it to clients, and
VERSIONS.md maps every release to its Mealie version and date.
MCP-only changes (features/fixes with no Mealie version change) ship as a
revision of the same Mealie version: the REVISION counter
bumps and the release/image tag gains a -r<n> suffix โ e.g. v3.20.1-r2
(-r1 is the base and carries no suffix). A new Mealie version resets the
counter. :latest always points at the newest build.
openapi.json is a vendored copy of Mealie's spec. The
update-spec workflow runs daily and
auto-tracks the latest stable Mealie release (mealie:latest): it boots that
image, reads its real version from /api/app/about
(MEALIE_VERSION), pulls /openapi.json, regenerates
TOOLS.md + counts, and โ only when the spec actually changed โ
bumps the version and opens a pull request (main is protected, so every
change lands via PR). When that PR merges,
release-on-spec cuts a
release (spec attached,
notes listing added/removed tools). Volatile server-clock defaults are stripped
so an unchanged run is a true no-op.
To freeze on one release instead of tracking latest, set MEALIE_TAG_DEFAULT in
the workflow to a specific tag (e.g. v3.20.1), or run it manually with a
mealie_tag input (latest, nightly, or any tag).
A few endpoints (
list_auth_oauth*) return 500 unless OIDC is configured on the Mealie side โ that's Mealie behavior, not the server.
๐ License
Available Tools
283 toolscreate_admin_backupsCreate Admin BackupsD
Create One
Inputs: accept-language. Returns: object
create_admin_backups_by_file_name_restoreCreate Admin Backups By File Name RestoreD
Import One
Inputs: file_name (required), accept-language. Returns: object
create_admin_backups_uploadCreate Admin Backups UploadC
Upload a .zip File to later be imported into Mealie
Inputs: archive (required), accept-language. Returns: object
create_admin_debug_openai_by_providerCreate Admin Debug Openai By ProviderD
Debug Openai
Inputs: provider_id (required), image, accept-language. Returns: object
create_admin_emailCreate Admin EmailC
Send Test Email
Inputs: email (required), accept-language. Returns: object
create_admin_groupsCreate Admin GroupsD
Create One
Inputs: name (required), accept-language. Returns: object
create_admin_groups_by_group_ai_providers_providersCreate Admin Groups By Group Ai Providers ProvidersC
Create Ai Provider
Inputs: name (required), model (required), group_id (required), apiKey, +5 more. Returns: object
create_admin_householdsCreate Admin HouseholdsD
Create One
Inputs: name (required), groupId, accept-language. Returns: object
create_admin_maintenance_clean_imagesCreate Admin Maintenance Clean ImagesA
Purges all the images from the filesystem that aren't .webp
Inputs: accept-language. Returns: object
create_admin_maintenance_clean_recipe_foldersCreate Admin Maintenance Clean Recipe FoldersA
Deletes all the recipe folders that don't have names that are valid UUIDs
Inputs: accept-language. Returns: object
create_admin_maintenance_clean_tempCreate Admin Maintenance Clean TempD
Clean Temp
Inputs: accept-language. Returns: object
create_admin_usersCreate Admin UsersD
Create One
Inputs: email (required), fullName (required), password (required), username (required), +13 more. Returns: object
create_admin_users_password_reset_tokenCreate Admin Users Password Reset TokenC
Generates a reset token and returns it. This is an authenticated endpoint
Inputs: email (required), accept-language. Returns: object
create_admin_users_unlockCreate Admin Users UnlockD
Unlock Users
Inputs: force, accept-language. Returns: object
create_auth_logoutCreate Auth LogoutD
Logout
Inputs: accept-language.
create_auth_oauth_native_tokenCreate Auth Oauth Native TokenA
Exchange a native client's authorization code for a Mealie token.
The native client owns PKCE and state, so the exchange happens server-side without a browser session cookie. This lets passkey-capable system-browser logins (e.g. Pocket ID) work, which the cookie-coupled web callback cannot support.
Inputs: code (required), redirect_uri (required), code_verifier (required), nonce.
create_auth_refreshCreate Auth RefreshA
Exchange a valid session token for a fresh one.
The new token carries over the remember-me choice recorded on the old one, so refreshing doesn't downgrade a remembered session to one that dies with the browser.
Inputs: no named parameters.
create_auth_tokenCreate Auth TokenD
Get Token
Inputs: password, username, remember_me.
create_commentsCreate CommentsD
Create One
Inputs: text (required), recipeId (required), accept-language. Returns: object
create_foodsCreate FoodsD
Create One
Inputs: name (required), id, extras, aliases, +6 more. Returns: object
create_groups_ai_providers_providersCreate Groups Ai Providers ProvidersD
Create Ai Provider
Inputs: name (required), model (required), apiKey, baseUrl, +4 more. Returns: object
create_groups_ai_providers_providers_by_provider_testCreate Groups Ai Providers Providers By Provider TestA
Test connectivity for an already-saved provider.
Accepts optional unsaved edits to test against instead of what's in the database - e.g.
while editing a provider, the caller may have changed the model/base_url but left the API
key blank (meaning "keep the existing one"), so a plain "unsaved" test can't be used since
it has no way to supply that key. An overrides.apiKey of "" is treated the same way: keep
the saved key rather than testing with an empty one.
Inputs: provider_id (required), body, accept-language. Returns: object
create_groups_ai_providers_providers_testCreate Groups Ai Providers Providers TestA
Test connectivity for a provider configuration before it has been saved.
Inputs: name (required), model (required), apiKey, baseUrl, +4 more. Returns: object
create_groups_labelsCreate Groups LabelsD
Create One
Inputs: name (required), color, accept-language. Returns: object
create_groups_labels_mergeCreate Groups Labels MergeA
Merges the from_id label into the to_id label, then deletes from_id.
Inputs: toId (required), fromId (required), accept-language. Returns: object
create_groups_migrationsCreate Groups MigrationsC
Start Data Migration
Inputs: archive (required), migration_type (required), accept-language, add_migration_tag. Returns: object
create_groups_seeders_foodsCreate Groups Seeders FoodsD
Seed Foods
Inputs: locale (required), accept-language. Returns: object
create_groups_seeders_unitsCreate Groups Seeders UnitsD
Seed Units
Inputs: locale (required), accept-language. Returns: object
create_households_cookbooksCreate Households CookbooksD
Create One
Inputs: name (required), slug, public, position, +3 more. Returns: object
create_households_events_notificationsCreate Households Events NotificationsD
Create One
Inputs: name (required), appriseUrl, accept-language. Returns: object
create_households_events_notifications_by_item_testCreate Households Events Notifications By Item TestD
Test Notification
Inputs: item_id (required), accept-language.
create_households_invitationsCreate Households InvitationsC
Create Invite Token
Inputs: uses (required), groupId, householdId, accept-language. Returns: object
create_households_invitations_emailCreate Households Invitations EmailD
Email Invitation
Inputs: email (required), token (required), accept-language. Returns: object
create_households_mealplansCreate Households MealplansD
Create One
Inputs: date (required), text, endDate, recipeId, +3 more. Returns: object
create_households_mealplans_icalCreate Households Mealplans IcalA
Enables the meal plan iCal feed, replacing any existing token so old feed URLs stop working
Inputs: accept-language. Returns: object
create_households_mealplans_randomCreate Households Mealplans RandomC
create_random_meal is a route that provides the randomized functionality for meal planners.
It operates by following the rules set out in the household's meal plan settings. If no settings
are set, it will return any random meal.
Refer to the meal plan settings routes for more information on how rules can be applied to the random meal selector.
Inputs: date (required), endDate, entryType, accept-language. Returns: object
create_households_mealplans_rulesCreate Households Mealplans RulesD
Create One
Inputs: day, entryType, accept-language, queryFilterString. Returns: object
create_households_recipe_actionsCreate Households Recipe ActionsD
Create One
Inputs: url (required), actionType (required), accept-language. Returns: object
create_households_recipe_actions_by_item_trigger_by_reciCreate Households Recipe Actions By Item Trigger By ReciD
Trigger Action
Inputs: item_id (required), recipe_slug (required), recipe_scale, accept-language.
create_households_shopping_itemsCreate Households Shopping ItemsD
Create One
Inputs: shoppingListId (required), id, food, note, +12 more. Returns: object
create_households_shopping_items_create_bulkCreate Households Shopping Items Create BulkD
Create Many
Inputs: body (required), accept-language. Returns: object
create_households_shopping_listsCreate Households Shopping ListsD
Create One
Inputs: name, extras, createdAt, update_at, +1 more. Returns: object
create_households_shopping_lists_by_item_recipeCreate Households Shopping Lists By Item RecipeC
Add Recipe Ingredients To List
Inputs: body (required), item_id (required), accept-language. Returns: object
create_households_shopping_lists_by_item_recipe_by_rec_2Create Households Shopping Lists By Item Recipe By Rec 2C
Remove Recipe Ingredients From List
Inputs: item_id (required), recipe_id (required), body, accept-language. Returns: object
create_households_shopping_lists_by_item_recipe_by_recipCreate Households Shopping Lists By Item Recipe By RecipC
Add Single Recipe Ingredients To List
Inputs: item_id (required), recipe_id (required), body, accept-language. Returns: object
create_households_webhooksCreate Households WebhooksD
Create One
Inputs: scheduledTime (required), url, name, enabled, +2 more. Returns: object
create_households_webhooks_by_item_testCreate Households Webhooks By Item TestD
Test One
Inputs: item_id (required), accept-language.
create_households_webhooks_rerunCreate Households Webhooks RerunB
Manually re-fires all previously scheduled webhooks for today
Inputs: accept-language.
create_organizers_categoriesCreate Organizers CategoriesC
Creates a Category in the database
Inputs: name (required), accept-language.
create_organizers_categories_mergeCreate Organizers Categories MergeA
Merges the from_id category into the to_id category, then deletes from_id.
Inputs: toId (required), fromId (required), accept-language. Returns: object
create_organizers_tagsCreate Organizers TagsC
Creates a Tag in the database
Inputs: name (required), accept-language.
create_organizers_tags_mergeCreate Organizers Tags MergeA
Merges the from_id tag into the to_id tag, then deletes from_id.
Inputs: toId (required), fromId (required), accept-language. Returns: object
create_organizers_toolsCreate Organizers ToolsD
Create One
Inputs: name (required), accept-language, householdsWithTool. Returns: object
create_organizers_tools_mergeCreate Organizers Tools MergeB
Merges the from_id tool into the to_id tool, then deletes from_id.
Inputs: toId (required), fromId (required), accept-language. Returns: object
create_parser_ingredientCreate Parser IngredientC
Parse Ingredient
Inputs: ingredient (required), parser, accept-language. Returns: object
create_parser_ingredientsCreate Parser IngredientsD
Parse Ingredients
Inputs: ingredients (required), parser, accept-language. Returns: object
create_recipesCreate RecipesC
Takes in a JSON string and loads data into the database as a new entry
Inputs: name (required), accept-language. Returns: object
create_recipes_bulk_actions_categorizeCreate Recipes Bulk Actions CategorizeC
Bulk Categorize Recipes
Inputs: recipes (required), categories (required), accept-language.
create_recipes_bulk_actions_deleteCreate Recipes Bulk Actions DeleteC
Bulk Delete Recipes
Inputs: recipes (required), accept-language.
create_recipes_bulk_actions_exportCreate Recipes Bulk Actions ExportC
Bulk Export Recipes
Inputs: recipes (required), exportType, accept-language.
create_recipes_bulk_actions_settingsCreate Recipes Bulk Actions SettingsD
Bulk Settings Recipes
Inputs: recipes (required), settings (required), accept-language.
create_recipes_bulk_actions_tagCreate Recipes Bulk Actions TagC
Bulk Tag Recipes
Inputs: tags (required), recipes (required), accept-language.
create_recipes_by_slug_assetsCreate Recipes By Slug AssetsC
Upload a file to store as a recipe asset
Inputs: file (required), icon (required), name (required), slug (required), +2 more. Returns: object
create_recipes_by_slug_assets_urlCreate Recipes By Slug Assets UrlC
Download an image from a URL and store it as a recipe asset.
Inputs: url (required), slug (required), includeTags, accept-language, +1 more. Returns: object
create_recipes_by_slug_duplicateCreate Recipes By Slug DuplicateC
Duplicates a recipe with a new custom name if given
Inputs: slug (required), name, accept-language. Returns: object
create_recipes_by_slug_imageCreate Recipes By Slug ImageD
Scrape Image Url
Inputs: url (required), slug (required), includeTags, accept-language, +1 more. Returns: object
create_recipes_create_aiCreate Recipes Create AiA
Create a recipe from any combination of content (HTML, JSON, or text), images, and a URL, using AI. Optionally specify a language for it to translate the recipe to.
Inputs: url, images, content, accept-language, +2 more. Returns: object
create_recipes_create_ai_streamCreate Recipes Create Ai StreamB
Create a recipe from any combination of content (HTML, JSON, or text), images, and a URL, using AI, streaming progress via SSE
Inputs: url, images, content, accept-language, +2 more.
create_recipes_create_html_or_jsonCreate Recipes Create Html Or JsonB
Takes in raw HTML or a https://schema.org/Recipe object as a JSON string and parses it like a URL.
A complete recipe exported from Mealie (the JSON from an export zip, or the recipe as returned by the API) is imported with its full structure instead of being parsed as schema.org.
Inputs: data (required), url, includeTags, accept-language, +1 more. Returns: object
create_recipes_create_html_or_json_streamCreate Recipes Create Html Or Json StreamB
Takes in raw HTML or a https://schema.org/Recipe object as a JSON string and parses it like a URL, streaming progress via SSE.
A complete recipe exported from Mealie (the JSON from an export zip, or the recipe as returned by the API) is imported with its full structure instead of being parsed as schema.org.
Inputs: data (required), url, includeTags, accept-language, +1 more.
create_recipes_create_urlCreate Recipes Create UrlC
Takes in a URL and attempts to scrape data and load it into the database
Inputs: url (required), includeTags, accept-language, includeCategories. Returns: object
create_recipes_create_url_bulkCreate Recipes Create Url BulkC
Takes in a URL and attempts to scrape data and load it into the database
Inputs: imports (required), accept-language.
create_recipes_create_url_streamCreate Recipes Create Url StreamC
Takes in a URL and attempts to scrape data and load it into the database, streaming progress via SSE
Inputs: url (required), includeTags, accept-language, includeCategories.
create_recipes_create_zipCreate Recipes Create ZipC
Create recipe from archive
Inputs: archive (required), accept-language.
create_recipes_test_scrape_urlCreate Recipes Test Scrape UrlC
Test Parse Recipe Url
Inputs: url (required), useOpenAI, accept-language.
create_recipes_timeline_eventsCreate Recipes Timeline EventsD
Create One
Inputs: subject (required), recipeId (required), eventType (required), image, +4 more. Returns: object
create_unitsCreate UnitsD
Create One
Inputs: name (required), id, extras, aliases, +9 more. Returns: object
create_users_api_tokensCreate Users Api TokensD
Create api_token in the Database
Inputs: name (required), integrationId, accept-language. Returns: object
create_users_by_id_favorites_by_slugCreate Users By Id Favorites By SlugC
Adds a recipe to the user's favorites
Inputs: id (required), slug (required), accept-language.
create_users_by_id_imageCreate Users By Id ImageC
Updates a User Image
Inputs: id (required), profile (required), accept-language.
create_users_by_id_ratings_by_slugCreate Users By Id Ratings By SlugC
Sets the user's rating for a recipe
Inputs: id (required), slug (required), rating, isFavorite, +1 more.
create_users_forgot_passwordCreate Users Forgot PasswordC
Sends an email with a reset link to the user
Inputs: email (required), accept-language.
create_users_registerCreate Users RegisterC
Register New User
Inputs: email (required), fullName (required), password (required), username (required), +9 more. Returns: object
create_users_reset_passwordCreate Users Reset PasswordC
Resets the user password
Inputs: email (required), token (required), password (required), passwordConfirm (required).
delete_admin_backups_by_file_nameDelete Admin Backups By File NameD
Delete One
Inputs: file_name (required), accept-language. Returns: object
delete_admin_groups_by_group_ai_providers_prompts_by_proDelete Admin Groups By Group Ai Providers Prompts By ProC
Reset a prompt to the default
Inputs: group_id (required), prompt_name (required), accept-language. Returns: object
delete_admin_groups_by_group_ai_providers_providers_by_pDelete Admin Groups By Group Ai Providers Providers By PD
Delete Ai Provider
Inputs: group_id (required), provider_id (required), accept-language. Returns: object
delete_admin_groups_by_itemDelete Admin Groups By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_admin_households_by_itemDelete Admin Households By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_admin_users_by_itemDelete Admin Users By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_comments_by_itemDelete Comments By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_foods_by_itemDelete Foods By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_groups_ai_providers_prompts_by_prompt_nameDelete Groups Ai Providers Prompts By Prompt NameC
Reset a prompt to the default
Inputs: prompt_name (required), accept-language. Returns: object
delete_groups_ai_providers_providers_by_providerDelete Groups Ai Providers Providers By ProviderC
Delete Ai Provider
Inputs: provider_id (required), accept-language. Returns: object
delete_groups_labels_by_itemDelete Groups Labels By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_groups_reports_by_itemDelete Groups Reports By ItemD
Delete One
Inputs: item_id (required), accept-language.
delete_households_cookbooks_by_itemDelete Households Cookbooks By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_households_events_notifications_by_itemDelete Households Events Notifications By ItemD
Delete One
Inputs: item_id (required), accept-language.
delete_households_mealplans_by_itemDelete Households Mealplans By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_households_mealplans_icalDelete Households Mealplans IcalC
Disables the meal plan iCal feed
Inputs: accept-language. Returns: object
delete_households_mealplans_rules_by_itemDelete Households Mealplans Rules By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_households_recipe_actions_by_itemDelete Households Recipe Actions By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_households_shopping_itemsDelete Households Shopping ItemsC
Delete Many
Inputs: ids, accept-language. Returns: object
delete_households_shopping_items_by_itemDelete Households Shopping Items By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_households_shopping_lists_by_itemDelete Households Shopping Lists By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_households_webhooks_by_itemDelete Households Webhooks By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_organizers_categories_by_itemDelete Organizers Categories By ItemA
Removes a recipe category from the database. Deleting a category does not impact a recipe. The category will be removed from any recipes that contain it
Inputs: item_id (required), accept-language.
delete_organizers_tags_by_itemDelete Organizers Tags By ItemA
Removes a recipe tag from the database. Deleting a tag does not impact a recipe. The tag will be removed from any recipes that contain it
Inputs: item_id (required), accept-language.
delete_organizers_tools_by_itemDelete Organizers Tools By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_recipes_bulk_actions_export_purgeDelete Recipes Bulk Actions Export PurgeA
Remove all exports data, including items on disk without database entry
Inputs: accept-language. Returns: object
delete_recipes_by_slugDelete Recipes By SlugB
Deletes a recipe by slug
Inputs: slug (required), accept-language.
delete_recipes_by_slug_imageDelete Recipes By Slug ImageC
Delete Recipe Image
Inputs: slug (required), accept-language.
delete_recipes_timeline_events_by_itemDelete Recipes Timeline Events By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_units_by_itemDelete Units By ItemD
Delete One
Inputs: item_id (required), accept-language. Returns: object
delete_users_api_tokens_by_tokenDelete Users Api Tokens By TokenC
Delete api_token from the Database
Inputs: token_id (required), accept-language. Returns: object
delete_users_by_id_favorites_by_slugDelete Users By Id Favorites By SlugB
Removes a recipe from the user's favorites
Inputs: id (required), slug (required), accept-language.
get_admin_backups_by_file_nameGet Admin Backups By File NameC
Returns a token to download a file
Inputs: file_name (required), accept-language. Returns: object
get_admin_groups_by_group_ai_providers_providers_by_provGet Admin Groups By Group Ai Providers Providers By ProvD
Get Ai Provider
Inputs: group_id (required), provider_id (required), accept-language. Returns: object
get_admin_groups_by_itemGet Admin Groups By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_admin_households_by_itemGet Admin Households By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_admin_users_by_itemGet Admin Users By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_comments_by_itemGet Comments By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_explore_groups_by_group_slug_cookbooks_by_itemGet Explore Groups By Group Slug Cookbooks By ItemD
Get One
Inputs: item_id (required), group_slug (required), accept-language. Returns: object
get_explore_groups_by_group_slug_foods_by_itemGet Explore Groups By Group Slug Foods By ItemD
Get One
Inputs: item_id (required), group_slug (required), accept-language. Returns: object
get_explore_groups_by_group_slug_households_by_householdGet Explore Groups By Group Slug Households By HouseholdD
Get Household
Inputs: group_slug (required), household_slug (required), accept-language. Returns: object
get_explore_groups_by_group_slug_organizers_categories_bGet Explore Groups By Group Slug Organizers Categories BD
Get One
Inputs: item_id (required), group_slug (required), accept-language. Returns: object
get_explore_groups_by_group_slug_organizers_tags_by_itemGet Explore Groups By Group Slug Organizers Tags By ItemD
Get One
Inputs: item_id (required), group_slug (required), accept-language. Returns: object
get_explore_groups_by_group_slug_organizers_tools_by_iteGet Explore Groups By Group Slug Organizers Tools By IteD
Get One
Inputs: item_id (required), group_slug (required), accept-language. Returns: object
get_explore_groups_by_group_slug_recipes_by_recipe_slugGet Explore Groups By Group Slug Recipes By Recipe SlugD
Get Recipe
Inputs: group_slug (required), recipe_slug (required), accept-language. Returns: object
get_foods_by_itemGet Foods By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_groups_ai_providers_providers_by_providerGet Groups Ai Providers Providers By ProviderD
Get Ai Provider
Inputs: provider_id (required), accept-language. Returns: object
get_groups_households_by_household_slugGet Groups Households By Household SlugC
Get One Household
Inputs: household_slug (required), accept-language. Returns: object
get_groups_labels_by_itemGet Groups Labels By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_groups_members_by_username_orGet Groups Members By Username OrC
Returns a single user belonging to the current group
Inputs: username_or_id (required), accept-language. Returns: object
get_groups_reports_by_itemGet Groups Reports By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_households_cookbooks_by_itemGet Households Cookbooks By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_households_events_notifications_by_itemGet Households Events Notifications By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_households_mealplans_by_itemGet Households Mealplans By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_households_mealplans_ical_by_tokenGet Households Mealplans Ical By TokenB
Public iCal feed of the household's meal plan. No authentication is required; access is controlled by the secret token in the URL.
Inputs: token (required), tz, lang, side, +12 more.
get_households_mealplans_rules_by_itemGet Households Mealplans Rules By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_households_recipe_actions_by_itemGet Households Recipe Actions By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_households_self_recipes_by_recipe_slugGet Households Self Recipes By Recipe SlugC
Returns recipe data for the current household
Inputs: recipe_slug (required), accept-language. Returns: object
get_households_shopping_items_by_itemGet Households Shopping Items By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_households_shopping_lists_by_itemGet Households Shopping Lists By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_households_webhooks_by_itemGet Households Webhooks By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_media_recipes_by_recipe_assets_by_file_nameGet Media Recipes By Recipe Assets By File NameC
Returns a recipe asset
Inputs: file_name (required), recipe_id (required).
get_media_recipes_by_recipe_images_by_file_nameGet Media Recipes By Recipe Images By File NameC
Takes in a recipe id, returns the static image. This route is proxied in the docker image and should not hit the API in production
Inputs: file_name (required), recipe_id (required).
get_media_recipes_by_recipe_images_timeline_by_timelineGet Media Recipes By Recipe Images Timeline By TimelineB
Takes in a recipe id and event timeline id, returns the static image. This route is proxied in the docker image and should not hit the API in production
Inputs: file_name (required), recipe_id (required), timeline_event_id (required).
get_media_users_by_user_by_file_nameGet Media Users By User By File NameC
Takes in a recipe slug, returns the static image. This route is proxied in the docker image and should not hit the API in production
Inputs: user_id (required), file_name (required).
get_organizers_categories_by_itemGet Organizers Categories By ItemC
Returns a list of recipes associated with the provided category.
Inputs: item_id (required), accept-language. Returns: object
get_organizers_categories_slug_by_category_slugGet Organizers Categories Slug By Category SlugC
Returns a category object with the associated recieps relating to the category
Inputs: category_slug (required), accept-language.
get_organizers_tags_by_itemGet Organizers Tags By ItemC
Returns a list of recipes associated with the provided tag.
Inputs: item_id (required), accept-language. Returns: object
get_organizers_tags_slug_by_tag_slugGet Organizers Tags Slug By Tag SlugD
Get One By Slug
Inputs: tag_slug (required), accept-language. Returns: object
get_organizers_tools_by_itemGet Organizers Tools By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_organizers_tools_slug_by_tool_slugGet Organizers Tools Slug By Tool SlugC
Get One By Slug
Inputs: tool_slug (required), accept-language. Returns: object
get_recipes_by_slugGet Recipes By SlugB
Takes in a recipe's slug or id and returns all data for a recipe
Inputs: slug (required), accept-language. Returns: object
get_recipes_timeline_events_by_itemGet Recipes Timeline Events By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_units_by_itemGet Units By ItemD
Get One
Inputs: item_id (required), accept-language. Returns: object
get_users_self_ratings_by_recipeGet Users Self Ratings By RecipeC
Get Logged In User Rating For Recipe
Inputs: recipe_id (required), accept-language. Returns: object
list_admin_aboutList Admin AboutC
Get general application information
Inputs: accept-language. Returns: object
list_admin_about_checkList Admin About CheckD
Check App Config
Inputs: accept-language. Returns: object
list_admin_about_statisticsList Admin About StatisticsC
Get App Statistics
Inputs: accept-language. Returns: object
list_admin_backupsList Admin BackupsD
Get All
Inputs: accept-language. Returns: object
list_admin_emailList Admin EmailC
Get general application information
Inputs: accept-language. Returns: object
list_admin_groupsList Admin GroupsD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_admin_groups_by_group_ai_providers_promptsList Admin Groups By Group Ai Providers PromptsD
Get Ai Prompts
Inputs: group_id (required), accept-language. Returns: object
list_admin_householdsList Admin HouseholdsD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_admin_maintenanceList Admin MaintenanceC
Get the maintenance summary
Inputs: accept-language. Returns: object
list_admin_maintenance_storageList Admin Maintenance StorageC
Get Storage Details
Inputs: accept-language. Returns: object
list_admin_usersList Admin UsersD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_app_aboutList App AboutB
Get general application information
Inputs: no named parameters. Returns: object
list_app_about_branding_logoList App About Branding LogoB
Get's the custom branding logo, if configured
Inputs: no named parameters.
list_app_about_startup_infoList App About Startup InfoC
returns helpful startup information
Inputs: no named parameters. Returns: object
list_app_about_themeList App About ThemeA
Get's the current theme settings
Inputs: no named parameters. Returns: object
list_auth_oauthList Auth OauthC
Oauth Login
Inputs: no named parameters.
list_auth_oauth_callbackList Auth Oauth CallbackC
Oauth Callback
Inputs: no named parameters.
list_auth_oauth_native_configList Auth Oauth Native ConfigA
Return the parameters a native client needs to build its own OIDC authorization request.
Inputs: no named parameters. Returns: object
list_auth_reverse_proxyList Auth Reverse ProxyC
Authenticate a user using a username forwarded by a trusted reverse proxy header
Inputs: no named parameters.
list_commentsList CommentsD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_explore_groups_by_group_slug_cookbooksList Explore Groups By Group Slug CookbooksD
Get All
Inputs: group_slug (required), page, search, orderBy, +6 more. Returns: object
list_explore_groups_by_group_slug_foodsList Explore Groups By Group Slug FoodsD
Get All
Inputs: group_slug (required), page, search, orderBy, +6 more. Returns: object
list_explore_groups_by_group_slug_householdsList Explore Groups By Group Slug HouseholdsD
Get All
Inputs: group_slug (required), page, orderBy, perPage, +5 more. Returns: object
list_explore_groups_by_group_slug_organizers_categoriesList Explore Groups By Group Slug Organizers CategoriesD
Get All
Inputs: group_slug (required), page, search, orderBy, +6 more. Returns: object
list_explore_groups_by_group_slug_organizers_tagsList Explore Groups By Group Slug Organizers TagsD
Get All
Inputs: group_slug (required), page, search, orderBy, +6 more. Returns: object
list_explore_groups_by_group_slug_organizers_toolsList Explore Groups By Group Slug Organizers ToolsD
Get All
Inputs: group_slug (required), page, search, orderBy, +6 more. Returns: object
list_explore_groups_by_group_slug_recipesList Explore Groups By Group Slug RecipesD
Get All
Inputs: group_slug (required), page, tags, foods, +16 more. Returns: object
list_explore_groups_by_group_slug_recipes_suggestionsList Explore Groups By Group Slug Recipes SuggestionsD
Suggest Recipes
Inputs: group_slug (required), foods, limit, tools, +11 more. Returns: object
list_foodsList FoodsD
Get All
Inputs: page, search, orderBy, perPage, +5 more. Returns: object
list_foods_emptyList Foods EmptyB
Returns a list of foods that are not used by any recipe
Inputs: accept-language. Returns: object
list_groups_ai_providers_promptsList Groups Ai Providers PromptsD
Get Ai Prompts
Inputs: accept-language. Returns: object
list_groups_ai_providers_settingsList Groups Ai Providers SettingsC
Get Ai Provider Settings
Inputs: accept-language. Returns: object
list_groups_householdsList Groups HouseholdsC
Get All Households
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_groups_labelsList Groups LabelsD
Get All
Inputs: page, search, orderBy, perPage, +5 more. Returns: object
list_groups_labels_emptyList Groups Labels EmptyB
Returns a list of labels that are not used by any food or shopping list item
Inputs: accept-language. Returns: object
list_groups_membersList Groups MembersB
Returns all users belonging to the current group
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_groups_preferencesList Groups PreferencesC
Get Group Preferences
Inputs: accept-language. Returns: object
list_groups_reportsList Groups ReportsD
Get All
Inputs: report_type, accept-language. Returns: object
list_groups_selfList Groups SelfB
Returns the Group Data for the Current User
Inputs: accept-language. Returns: object
list_groups_storageList Groups StorageC
Get Storage
Inputs: accept-language. Returns: object
list_households_cookbooksList Households CookbooksD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_households_events_notificationsList Households Events NotificationsD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_households_invitationsList Households InvitationsC
Get Invite Tokens
Inputs: accept-language. Returns: object
list_households_mealplansList Households MealplansD
Get All
Inputs: page, orderBy, perPage, end_date, +7 more. Returns: object
list_households_mealplans_icalList Households Mealplans IcalB
Returns the token for the household's meal plan iCal feed, or null if the feed is disabled
Inputs: accept-language. Returns: object
list_households_mealplans_rulesList Households Mealplans RulesD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_households_mealplans_todayList Households Mealplans TodayC
Get Todays Meals
Inputs: accept-language.
list_households_membersList Households MembersC
Returns all users belonging to the current household
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_households_preferencesList Households PreferencesD
Get Household Preferences
Inputs: accept-language. Returns: object
list_households_recipe_actionsList Households Recipe ActionsD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_households_selfList Households SelfC
Returns the Household Data for the Current User
Inputs: accept-language. Returns: object
list_households_shopping_itemsList Households Shopping ItemsD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_households_shopping_listsList Households Shopping ListsD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_households_statisticsList Households StatisticsD
Get Statistics
Inputs: accept-language. Returns: object
list_households_webhooksList Households WebhooksD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_media_docker_validate_txtList Media Docker Validate TxtC
Get Validation Text
Inputs: no named parameters.
list_organizers_categoriesList Organizers CategoriesC
Returns a list of available categories in the database
Inputs: page, search, orderBy, perPage, +5 more. Returns: object
list_organizers_categories_emptyList Organizers Categories EmptyA
Returns a list of categories that do not contain any recipes
Inputs: accept-language. Returns: object
list_organizers_tagsList Organizers TagsC
Returns a list of available tags in the database
Inputs: page, search, orderBy, perPage, +5 more. Returns: object
list_organizers_tags_emptyList Organizers Tags EmptyA
Returns a list of tags that do not contain any recipes
Inputs: accept-language.
list_organizers_toolsList Organizers ToolsD
Get All
Inputs: page, search, orderBy, perPage, +5 more. Returns: object
list_organizers_tools_emptyList Organizers Tools EmptyB
Returns a list of tools that are not used by any recipe
Inputs: accept-language. Returns: object
list_recipesList RecipesD
Get All
Inputs: page, tags, foods, tools, +15 more. Returns: object
list_recipes_bulk_actions_exportList Recipes Bulk Actions ExportD
Get Exported Data
Inputs: accept-language. Returns: object
list_recipes_bulk_actions_export_by_export_downloadList Recipes Bulk Actions Export By Export DownloadC
Returns a token to download a file
Inputs: export_id (required), accept-language.
list_recipes_by_slug_commentsList Recipes By Slug CommentsC
Get all comments for a recipe
Inputs: slug (required), accept-language. Returns: object
list_recipes_by_slug_exportsList Recipes By Slug ExportsC
Parameters
template_name: The name of the template to use to use in the exports listed. Template type will automatically
be set on the backend. Because of this, it's important that your templates have unique names. See available
names and formats in the /api/recipes/exports endpoint.
Inputs: slug (required), template_name (required), accept-language.
list_recipes_exportsList Recipes ExportsC
Get Recipe Formats And Templates
Inputs: accept-language. Returns: object
list_recipes_suggestionsList Recipes SuggestionsD
Suggest Recipes
Inputs: foods, limit, tools, orderBy, +10 more. Returns: object
list_recipes_timeline_eventsList Recipes Timeline EventsD
Get All
Inputs: page, orderBy, perPage, queryFilter, +4 more. Returns: object
list_unitsList UnitsD
Get All
Inputs: page, search, orderBy, perPage, +5 more. Returns: object
list_users_by_id_favoritesList Users By Id FavoritesC
Get user's favorited recipes
Inputs: id (required), accept-language. Returns: object
list_users_by_id_ratingsList Users By Id RatingsC
Get user's rated recipes
Inputs: id (required), accept-language. Returns: object
list_users_selfList Users SelfB
Get Logged In User
Inputs: accept-language. Returns: object
list_users_self_favoritesList Users Self FavoritesC
Get Logged In User Favorites
Inputs: accept-language. Returns: object
list_users_self_ratingsList Users Self RatingsC
Get Logged In User Ratings
Inputs: accept-language. Returns: object
list_utils_downloadList Utils DownloadB
Uses a file token obtained by an active user to retrieve a file from the operating system.
Inputs: token.
patch_recipesPatch RecipesD
Patch Many
Inputs: body (required), accept-language.
patch_recipes_by_slugPatch Recipes By SlugC
Updates a recipe by existing slug and data.
Inputs: slug__path (required), id, name, slug, +33 more.
patch_recipes_by_slug_last_madePatch Recipes By Slug Last MadeC
Update a recipe's last made timestamp
Inputs: slug (required), timestamp (required), accept-language.
update_admin_groups_by_group_ai_providers_prompts_by_proUpdate Admin Groups By Group Ai Providers Prompts By ProB
Append to or override a prompt. The group-wide instructions (global) can only be appended.
Inputs: mode (required), content (required), group_id (required), prompt_name (required), +1 more. Returns: object
update_admin_groups_by_group_ai_providers_providers_by_pUpdate Admin Groups By Group Ai Providers Providers By PC
Update Ai Provider
Inputs: name (required), model (required), group_id (required), provider_id (required), +6 more. Returns: object
update_admin_groups_by_itemUpdate Admin Groups By ItemD
Update One
Inputs: id (required), name (required), item_id (required), preferences, +2 more. Returns: object
update_admin_households_by_itemUpdate Admin Households By ItemD
Update One
Inputs: id (required), name (required), groupId (required), item_id (required), +2 more. Returns: object
update_admin_users_by_itemUpdate Admin Users By ItemD
Update One
Inputs: id (required), email (required), group (required), groupId (required), +19 more. Returns: object
update_comments_by_itemUpdate Comments By ItemD
Update One
Inputs: id (required), text (required), item_id (required), accept-language. Returns: object
update_foods_by_itemUpdate Foods By ItemD
Update One
Inputs: name (required), item_id (required), id, extras, +7 more. Returns: object
update_foods_mergeUpdate Foods MergeD
Merge One
Inputs: toFood (required), fromFood (required), accept-language. Returns: object
update_groups_ai_providers_prompts_by_prompt_nameUpdate Groups Ai Providers Prompts By Prompt NameA
Append to or override a prompt. The group-wide instructions (global) can only be appended.
Inputs: mode (required), content (required), prompt_name (required), accept-language. Returns: object
update_groups_ai_providers_providers_by_providerUpdate Groups Ai Providers Providers By ProviderC
Update Ai Provider
Inputs: name (required), model (required), provider_id (required), apiKey, +5 more. Returns: object
update_groups_ai_providers_settingsUpdate Groups Ai Providers SettingsD
Update Ai Provider Settings
Inputs: audioProviderId (required), imageProviderId (required), defaultProviderId (required), accept-language. Returns: object
update_groups_labels_by_itemUpdate Groups Labels By ItemD
Update One
Inputs: id (required), name (required), groupId (required), item_id (required), +2 more. Returns: object
update_groups_preferencesUpdate Groups PreferencesD
Update Group Preferences
Inputs: privateGroup, accept-language, showAnnouncements. Returns: object
update_households_cookbooksUpdate Households CookbooksC
Update Many
Inputs: body (required), accept-language. Returns: object
update_households_cookbooks_by_itemUpdate Households Cookbooks By ItemD
Update One
Inputs: name (required), item_id (required), slug, public, +4 more. Returns: object
update_households_events_notifications_by_itemUpdate Households Events Notifications By ItemD
Update One
Inputs: id (required), name (required), groupId (required), item_id (required), +5 more. Returns: object
update_households_mealplans_by_itemUpdate Households Mealplans By ItemD
Update One
Inputs: id (required), date (required), userId (required), groupId (required), +7 more. Returns: object
update_households_mealplans_rules_by_itemUpdate Households Mealplans Rules By ItemD
Update One
Inputs: item_id (required), day, entryType, accept-language, +1 more. Returns: object
update_households_permissionsUpdate Households PermissionsD
Set Member Permissions
Inputs: userId (required), canInvite, canManage, canOrganize, +2 more. Returns: object
update_households_preferencesUpdate Households PreferencesD
Update Household Preferences
Inputs: recipePublic, firstDayOfWeek, accept-language, privateHousehold, +6 more. Returns: object
update_households_recipe_actions_by_itemUpdate Households Recipe Actions By ItemD
Update One
Inputs: url (required), groupId (required), item_id (required), actionType (required), +2 more. Returns: object
update_households_shopping_itemsUpdate Households Shopping ItemsD
Update Many
Inputs: body (required), accept-language. Returns: object
update_households_shopping_items_by_itemUpdate Households Shopping Items By ItemD
Update One
Inputs: item_id (required), shoppingListId (required), food, note, +12 more. Returns: object
update_households_shopping_lists_by_itemUpdate Households Shopping Lists By ItemD
Update One
Inputs: id (required), userId (required), groupId (required), item_id (required), +6 more. Returns: object
update_households_shopping_lists_by_item_label_settingsUpdate Households Shopping Lists By Item Label SettingsD
Update Label Settings
Inputs: body (required), item_id (required), accept-language. Returns: object
update_households_webhooks_by_itemUpdate Households Webhooks By ItemD
Update One
Inputs: item_id (required), scheduledTime (required), url, name, +3 more. Returns: object
update_organizers_categories_by_itemUpdate Organizers Categories By ItemC
Updates an existing Tag in the database
Inputs: name (required), item_id (required), accept-language. Returns: object
update_organizers_tags_by_itemUpdate Organizers Tags By ItemC
Updates an existing Tag in the database
Inputs: name (required), item_id (required), accept-language. Returns: object
update_organizers_tools_by_itemUpdate Organizers Tools By ItemD
Update One
Inputs: name (required), item_id (required), accept-language, householdsWithTool. Returns: object
update_recipesUpdate RecipesD
Update Many
Inputs: body (required), accept-language.
update_recipes_by_slugUpdate Recipes By SlugC
Updates a recipe by existing slug and data.
Inputs: slug__path (required), id, name, slug, +33 more.
update_recipes_by_slug_imageUpdate Recipes By Slug ImageC
Update Recipe Image
Inputs: slug (required), image (required), extension (required), accept-language. Returns: object
update_recipes_timeline_events_by_itemUpdate Recipes Timeline Events By ItemD
Update One
Inputs: item_id (required), subject (required), image, eventMessage, +1 more. Returns: object
update_recipes_timeline_events_by_item_imageUpdate Recipes Timeline Events By Item ImageC
Update Event Image
Inputs: image (required), item_id (required), extension (required), accept-language. Returns: object
update_units_by_itemUpdate Units By ItemD
Update One
Inputs: name (required), item_id (required), id, extras, +10 more. Returns: object
update_units_mergeUpdate Units MergeD
Merge One
Inputs: toUnit (required), fromUnit (required), accept-language. Returns: object
update_users_by_itemUpdate Users By ItemD
Update User
Inputs: email (required), item_id (required), id, admin, +13 more.
update_users_passwordUpdate Users PasswordC
Resets the User Password
Inputs: newPassword (required), accept-language, currentPassword.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogโฆ
TDQS
Scored across 283 tools
Many tools are near-duplicates of one another: `list_groups_ai_providers_prompts`, `list_admin_groups_by_group_ai_providers_prompts`, and `list_admin_groups_by_group_ai_providers_providers_by_prov` all appear to fetch AI prompts/providers, and the same pattern repeats for categories, tags, tools, foods, and households across admin/group/explore scopes. Descriptions are almost uniformly generic ('Get One', 'Get All', 'Create One'), so an agent gets no help in choosing between the household, group, and admin variants. Several names are truncated mid-word ('_by_prov', '_by_recip', 'categories_b'), making the intended target impossible to infer from the name alone.
There is a recognizable verb prefix convention (list_/get_/create_/update_/delete_/patch_), which saves this from being chaotic. However, names are literal renderings of URL paths, producing 60+ character identifiers that are truncated at arbitrary points, and at least one tool (`create_households_shopping_lists_by_item_recipe_by_rec_2`) has a numeric disambiguation suffix, which is a naming failure. Nearly duplicate names differing only in scope prefix make length-based confusion likely.
283 tools is an extreme mismatch for what is essentially one recipe-management application; it is a wholesale 1:1 mirror of the Mealie OpenAPI spec. Dozens of tools exist only because admin, group, and explore path variants were each generated separately. An agent cannot practically select from a surface this size without heavy filtering.
As a full API mirror, the surface covers essentially every lifecycle operation in the domain: recipe CRUD, bulk actions, imports/scraping, organizers, meal plans, shopping lists, households, users, auth, backups, and media. The redundancy across scopes actually guarantees no capability is missing, though it is far more than complete rather than efficiently complete.
Maintenance
Related MCP Connectors
Recipe search, ingredient matching, nutrition filters and a private cookbook for any AI agent.
Household-aware cooking brain: pantry, meal suggestions, dietary safety, recipes, shopping lists.
Brie connects your assistant to saved recipes, household meal plans and shared grocery lists. Search your recipe library, import recipe links or text, and save a higher-protein or vegetarian adaptation as a named recipe version while preserving the original source. Prepare dinners around your household's preferences, review the proposal, then save the plan and rebuild its groceries. Start with a Brie account on the web and activate your personal Plus or Pro plan, or an eligible trial. Existing subscribers use their current account. Plus starts at $4.99 USD/month, with a seven-day trial for eligible new subscribers; current pricing and renewal terms appear before payment. Household membership alone does not include personal assistant access. Household operations require OAuth and your permission for the selected household. Public discovery exposes tool descriptions only. Eight recipe and grocery tools are available by default; add X-Brie-Capabilities: planning-preview for the thirteen-tool catalog including reviewed meal planning. No private nutrition logs, grocery purchases or billing access. Website: https://withbrie.app Setup: https://withbrie.app/agents Create your account: https://app.withbrie.app/signup?intent=assistant OpenClaw installation: https://clawhub.ai/brie/plugins/brie-openclaw
Persistent food journal for AI assistants. Log meals, save recipes, plan meals and track nutrition.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Mealie for recipe management, meal planning, and shopping list operations. Supports searching and managing recipes, creating meal plans, and generating shopping lists from recipes or meal plans.7MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Mealie recipe databases, allowing users to manage and query their recipes through natural language conversations.17 npmMIT
- AlicenseNot gradedqualityDmaintenanceExposes Mealie recipe manager as LLM-callable tools for searching recipes, managing meal plans, and editing shopping lists.MIT
- AlicenseAqualityCmaintenanceEnables AI assistants to manage recipes, meal plans, and shopping lists in Mealie through natural language, supporting CRUD operations and URL-based recipe imports.27480 npm8MIT