# Spoonacular MCP

> Spoonacular connects your AI client to a full recipe intelligence platform. You can find recipes based on ingredients you have, plan meals with dietary constraints (vegan, keto, paleo), or get complete nutritional breakdowns for any dish. It handles everything from pantry raids to professional meal planning.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** recipe-search, meal-planning, nutritional-analysis, dietary-filters, food-intelligence, ingredient-data

## Description

**Spoonacular** hooks your agent up to a massive recipe intelligence platform. You're not just searching for recipes; you're planning whole meals based on what's actually hanging out in your kitchen or sticking to some strict diet plan. It handles everything, from that random pantry haul to professional-grade meal prep.

If you need help figuring out dinner tonight, this server gives you four tools that cover every angle: finding recipes using specific ingredients, filtering by diet rules and cuisine type, getting full nutritional data on any dish, or just generating some spontaneous ideas when you're totally lost.

To find recipes based on what you have right now, use `find_recipes_by_ingredients`. You feed it a comma-separated list of ingredients, and the agent returns viable recipe options that maximize the use of everything you listed. This is perfect for avoiding food waste because it focuses on utilizing your existing inventory.

If you know exactly what kind of meal you want, or if you're sticking to rules like keto, paleo, or gluten-free, start with `search_recipes`. You can narrow down searches by setting parameters such as a cuisine type—like Italian or Mexican—or limiting the recipe search to a maximum calorie count. This tool gives you control over the whole scope of your meal plan.

Need inspiration? When you're staring into a fridge and nothing sounds good, run `get_random_recipes`. It pulls random suggestions that can break through decision paralysis and get you started cooking right away.

Once you pick a recipe—whether it was found by ingredients or filtering—you use `get_recipe_details` to pull the full rundown. This tool gives you complete instructions, every single ingredient required, and detailed nutritional facts for the dish, including exact metrics for calories, protein, fat, and carbohydrates.

Your agent processes a list of available food items through `find_recipes_by_ingredients`, returning recipes that use most or all of those inputs. You can restrict your searches using `search_recipes` by setting filters like 'vegetarian,' 'Italian,' or capping the maximum number of calories allowed in the meal. If you're just bored and need a quick idea, running `get_random_recipes` provides unexpected suggestions immediately. Finally, when you commit to a dish, `get_recipe_details` calculates and returns detailed metrics for that specific recipe, giving you full instructions, complete ingredient lists, and precise nutritional breakdowns.

## Tools

### get_random_recipes
Provides random recipe suggestions when the user needs quick meal inspiration or is bored with cooking.

### get_recipe_details
Retrieves complete information for one recipe, including instructions, full ingredient lists, and nutritional facts.

### find_recipes_by_ingredients
Takes a comma-separated list of ingredients and finds recipes that use what you have in your kitchen.

### search_recipes
Finds recipes using optional filters like cuisine type, diet (vegan, paleo), or maximum calorie count.

## Prompt Examples

**Prompt:** 
```
What can I make with chicken, rice, and garlic?
```

**Response:** 
```
Great ingredients! I found 10 recipes you can make: Garlic Butter Chicken with Rice (uses all 3!), Chicken Fried Rice, Arroz con Pollo, and more. The top match uses all your ingredients and only needs soy sauce and butter to complete.
```

**Prompt:** 
```
Find a gluten-free dessert recipe under 300 calories.
```

**Response:** 
```
🍰 **Gluten-Free Low-Calorie Desserts**

1. **Almond Flour Brownies**: 250 calories (GF, Vegetarian)
2. **Berry Chia Pudding**: 180 calories (GF, Vegan)
3. **Baked Cinnamon Apples**: 120 calories (GF, Vegan)
```

**Prompt:** 
```
Show me the nutritional breakdown for spaghetti bolognese.
```

**Response:** 
```
🍝 **Nutritional Fact: Spaghetti Bolognese (Per Serving)**

- **Calories**: 450 kcal
- **Protein**: 24g
- **Fat**: 15g (Sat: 4g)
- **Carbs**: 56g (Fiber: 4g)
- **Sodium**: 850mg

*Would you like the full recipe?*
```

## Capabilities

### Find recipes using pantry ingredients
The agent processes a list of available food items and returns viable recipe options that use most or all of those inputs.

### Search by dietary rules and cuisine
You can narrow down searches by setting parameters like 'gluten-free,' 'vegetarian,' 'Italian,' or a maximum calorie count.

### Get full nutritional data for any recipe
The tool calculates and returns detailed metrics, including calories, protein, fat, and carbohydrates, for a given dish.

### Generate spontaneous meal ideas
If the user needs inspiration, this capability pulls random recipes to break through decision paralysis.

## Use Cases

### Pantry Raid: Nothing is expiring
A user notices half a bag of rice, some garlic, and chicken breast are about to spoil. They ask their agent what they can make with these items. The agent uses `find_recipes_by_ingredients` and returns several options like 'Garlic Chicken Rice Bowl,' solving the immediate waste problem.

### Dinner Planning for a Restricted Diet
A user needs dinner that is vegan and low-carb. They ask their agent to search recipes, specifying both filters. The agent calls `search_recipes` with 'vegan' and 'keto', narrowing the field instantly.

### Deep Dive into Nutrition
After finding a potential recipe, the user needs to verify the sugar content for a client. They call `get_recipe_details`, which returns the full nutritional data, including specific carb and protein counts, so they can confirm its suitability.

### Boredom Buster Meal Prep
It's 7 PM, and everyone is tired. The user asks for a random dinner idea. The agent calls `get_random_recipes`, providing immediate inspiration like 'Spicy Coconut Curry,' which they can then verify with `get_recipe_details`.

## Benefits

- Stop wasting food. By using `find_recipes_by_ingredients`, you tell your agent exactly what's in the pantry, and it returns recipes that use those items—no guessing needed.
- Pinpoint dietary safety instantly. The `search_recipes` tool lets you filter by specific diets (e.g., gluten-free or whole30) so you never have to check labels again.
- Get the full facts. After finding a dish, run `get_recipe_details` to get the precise breakdown of calories, protein, and fat per serving.
- Need an idea fast? `get_random_recipes` handles the initial decision paralysis by giving you quick, surprise suggestions without needing any input from you.
- Filter down complex searches. Instead of general searching, use `search_recipes` to narrow results first by cuisine (Thai) and then by constraint (under 400 calories).

## How It Works

The bottom line is: it turns your raw inputs—whether they're ingredients or dietary restrictions—into actionable meal plans with exact cooking steps.

1. You tell your agent what you want: either a list of ingredients or a specific search constraint (e.g., 'keto' and 'Mexican').
2. Your agent calls the appropriate tool (`find_recipes_by_ingredients` or `search_recipes`), passing the data to Spoonacular.
3. The server returns a curated list of recipes, which you can then pass to `get_recipe_details` to get the full instructions and nutritional facts.

## Frequently Asked Questions

**How do I find recipes using Spoonacular's find_recipes_by_ingredients tool?**
You list the ingredients you have available, separated by commas. For example: 'chicken, rice, garlic'. The server then returns recipe ideas that maximize your inventory.

**Can I search for gluten-free recipes using search_recipes?**
Yes. When calling `search_recipes`, you pass the dietary filter 'gluten-free' along with any cuisine or calorie limits to narrow down results immediately.

**What information does get_recipe_details provide?**
It provides everything needed: step-by-step instructions, a full list of ingredients, and the complete nutritional breakdown for one specific recipe item.

**How do I generate meal ideas without inputting anything?**
Just use `get_random_recipes`. This tool bypasses searching entirely and provides quick suggestions when you're just looking for inspiration.

**What should I know about usage limits when using search_recipes?**
The free tier allows up to 150 requests per day. If you exceed this limit, the API will return a rate limit error. For consistent use or higher volumes, you'll need to upgrade your subscription.

**How do I use find_recipes_by_ingredients for specific cuisine types?**
You can combine ingredient input with other filters when calling the tool. While 'find_recipes_by_ingredients' focuses on what you have, you often need to pair it with optional filters like 'cuisine' in a subsequent call.

**When I use get_recipe_details, is all the nutritional data available?**
Yes. The tool provides a complete breakdown including calories, protein, fat (and saturated fat), carbohydrates, fiber, and sodium counts for accurate meal planning.

**Does search_recipes support filtering by calorie maximums or cooking time?**
Absolutely. You can pass optional filters to 'search_recipes' that let you define a max calorie count or specify the maximum allowed preparation and cook time for your recipes.

**What dietary filters are available?**
Spoonacular supports: vegetarian, vegan, gluten-free, ketogenic, paleo, whole30, lacto-vegetarian, ovo-vegetarian, pescetarian, and primal diets. You can also filter by intolerances like dairy, egg, gluten, peanut, sesame, and soy.

**Can I get full nutritional analysis for the recipes?**
Yes, every recipe includes a comprehensive nutritional breakdown including calories, macronutrients, and micronutrients.

**Is there a limit to the daily requests on the free tier?**
Yes, the free tier allows up to 150 points (requests) per day.