# Mealie (Recipe Manager) MCP

> Mealie (Recipe Manager) connects your Mealie instance directly to your AI agent. It lets you manage recipes, plan meals for weeks, and build shopping lists—all from your chat interface. You can list all existing recipes (`list_recipes`), create new plans (`create_meal_plan`), or toggle an item off your grocery run as you buy it. This server handles the whole kitchen workflow through structured tool calls.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** recipe-management, meal-planning, shopping-list, cooking, mealie

## Description

**Mealie** connects your recipe database straight to your AI agent. It's how you handle the whole kitchen workflow—managing recipes, planning meals for weeks, and building shopping lists—all through chat. You just tell it what you need, and your agent uses structured calls to get the job done.

## Tools

### create_meal_plan
Creates a new entry into your weekly meal plan.

### create_recipe
Adds an entirely new recipe to your Mealie database.

### create_shopping_list
Generates a brand new shopping list for necessary ingredients.

### delete_meal_plan
Removes an existing meal plan entry from your records.

### delete_recipe
Permanently deletes a recipe from your database.

### get_recipe
Retrieves the full instructions and ingredients for a specific recipe using its slug.

### list_categories
Displays all custom categories you've set up for organizing recipes.

### list_meal_plans
Retrieves and shows a summary of your current, scheduled meal plans.

### list_recipes
Lists all the recipe titles currently stored in Mealie.

### list_shopping_lists
Retrieves a list of all shopping lists you have created.

### list_tags
Shows all tags (like 'vegan' or 'quick') applied across your recipes.

### toggle_shopping_list_item
Marks a specific item on a shopping list as complete or incomplete.

### update_recipe
Modifies the details, ingredients, or instructions of an existing recipe.

## Prompt Examples

**Prompt:** 
```
List all my recipes in Mealie.
```

**Response:** 
```
I've found 12 recipes in your Mealie instance. Some highlights include 'Spicy Taco Night', 'Homemade Sourdough', and 'Garden Salad'. Would you like the details for any of these?
```

**Prompt:** 
```
Get the full recipe for the slug 'classic-lasagna'.
```

**Response:** 
```
Retrieved 'Classic Lasagna'. It yields 8 servings and requires: lasagna noodles, ground beef, ricotta, and marinara sauce. The instructions involve layering and baking for 45 minutes. Should I add these ingredients to your shopping list?
```

**Prompt:** 
```
Mark item ID 'milk-123' as checked in shopping list 'grocery-list-456'.
```

**Response:** 
```
Done! I've updated the status of 'Milk' in your grocery list to completed.
```

## Capabilities

### Manage Recipe Details
Retrieve a specific recipe by its slug or update existing recipes using defined parameters.

### Build and Adjust Meal Schedules
Create, view, or delete entire meal plan entries for future dates.

### Generate Shopping Lists
Make a new shopping list or retrieve an existing one to track ingredients needed for meals.

### Track Item Completion
Mark individual items as complete on a shopping list when you find them in the store.

### Browse Content Structure
List all existing recipe categories, tags, or meal plans to help narrow down your search.

## Use Cases

### Need to plan the week's dinners
You have 7 nights of meals, but nothing is set. You tell your agent: 'Plan dinner for next Tuesday using my low-carb recipes.' The agent calls `list_recipes` (filtering by tag) and then uses `create_meal_plan`, giving you a full schedule right back in the chat.

### Just finished a recipe, need to update it
You made 'Spicy Tacos' last night, but realized the instructions were missing step 3. You prompt: 'Update my taco recipe.' The agent uses `update_recipe` and makes sure your database is correct for next time.

### Grocery run, forgot to check off milk
You're in the dairy aisle with your list open. You type: 'Check off the milk.' The agent executes `toggle_shopping_list_item` and marks it complete on your current shopping list.

### Recipe needs a tweak
You find a recipe, but you think adding walnuts would make it better. Instead of editing the raw data, you ask your agent to 'update the ingredients for my sourdough.' The agent calls `update_recipe`, making the change and keeping the record accurate.

## Benefits

- Stop copy-pasting ingredients. Use `get_recipe` to fetch full recipes instantly, giving you the exact ingredient list without opening a browser tab.
- Never forget what's due next week. Scheduling is simple; just call `create_meal_plan` and let your agent handle the rest of the data entry.
- Cut down on store wandering. Generate lists with `list_shopping_lists`, and use `toggle_shopping_list_item` to check items off as you put them in the cart.
- Stay organized by meal type or diet. Use `list_tags` or `list_categories` to filter your entire recipe library instantly, finding that perfect dinner idea fast.
- Keep your data clean. If a recipe changes (e.g., better instructions found), use `update_recipe` to maintain accurate records without manual effort.

## How It Works

The bottom line is you tell your AI client what you need—a recipe, a list, or a plan—and it handles the API calls to Mealie for you.

1. Subscribe to the Mealie server and provide it with your unique Mealie Instance URL and API Token.
2. Your AI client sends a natural language request (e.g., 'What should I shop for this week?').
3. The agent selects the appropriate tool (`list_shopping_lists` or `create_meal_plan`), executes it, and returns structured data to your chat window.

## Frequently Asked Questions

**How do I find out all the categories in Mealie using list_categories?**
Calling `list_categories` retrieves all custom groupings you've set up for your recipes. This helps you quickly filter down a massive database of recipes to only those that fit a specific diet or occasion.

**Can I change an ingredient in my recipe using update_recipe?**
Yes, running `update_recipe` lets you modify any part of the existing recipe. Use this when you find better measurements or need to swap out an allergen-friendly substitute.

**What's the difference between list_recipes and get_recipe?**
`list_recipes` gives you a summary view—just the titles of all recipes. You must run `get_recipe` with the recipe's specific slug to pull the full details, including instructions.

**How does toggle_shopping_list_item work?**
This tool marks an item on your list as complete or incomplete. You use it when you physically find that ingredient in the store and want to cross it off immediately.

**What credentials do I need to use tools like `create_recipe`?**
You must provide your Mealie Instance URL and a Personal API Token. The server uses these two pieces of information to authenticate your request, ensuring the AI client can write recipes only to your account.

**If I use `create_recipe` with incomplete data, what happens?**
The tool validates required fields before execution. If you miss critical details like ingredients or instructions, the API will return a specific error message telling you exactly what needs to be added.

**How do I safely remove an old recipe using `delete_recipe`?**
You must provide the unique slug or ID of the recipe you want gone. Deletion is permanent, so double-check that you're removing the correct recipe before confirming the action.

**How do I check all my existing meal schedules using `list_meal_plans`?**
The tool returns a list of every current plan associated with your account. This allows your AI agent to read through them and let you select specific plans for review or modification.

**How can I see the full instructions for a specific recipe?**
You can use the `get_recipe` tool by providing the recipe's unique slug. The agent will return the full details, including ingredients, steps, and yield.

**Can I mark items as 'bought' on my shopping list using the AI?**
Yes! Use the `toggle_shopping_list_item` tool. You just need the shopping list ID and the item ID to check or uncheck items remotely.

**Is it possible to see what I have planned for dinner this week?**
Absolutely. The `list_meal_plans` tool retrieves all scheduled entries, allowing your AI to summarize your upcoming meals for the week.