# Spoonacular Extended MCP

> Spoonacular Extended lets your AI client search thousands of recipes by cuisine, specific ingredients, or exact nutritional metrics. You can find meals that fit dietary needs—like low-carb or high protein—and even pull structured recipe data from any random website URL.

## Overview
- **Category:** productivity
- **Price:** Free
- **Tags:** recipes, cooking, nutrition, meal-planning, ingredients

## Description

You connect your AI client to **Spoonacular Extended**, and it turns into a seriously smart digital sous-chef. You'll be able to find recipes, check nutrition facts, or even pull data from random websites—all without having to click through a dozen tabs. It’s built for when you need accurate results, period.

**Finding Recipes Based on What You Have:**
You don't gotta waste food just 'cause it's sitting in the back of the fridge. If you tell your agent what ingredients you've got—say, chicken breasts, bell peppers, and rice—it runs **find_recipes_by_ingredients**, giving you recipes that maximize those specific items. You can also perform a broad search across all available data using **search_ingredients** or check out detailed information on any single item with **get_ingredient_information**. If you're stuck on what to make, it provides alternative ingredients through **get_ingredient_substitutes**, so you don't have to toss the whole dinner. When you start typing an ingredient name, **autocomplete_ingredient_search** suggests full names, keeping your search tight.

**Hitting Nutritional Targets:**
If 'good enough' ain't good enough, the agent handles it. You can use **find_recipes_by_nutrients** to filter recipes based on strict guidelines—you might need something under 500 calories or with at least 30 grams of protein. If you know your goal is hitting a specific macro count, say 'I gotta get 12g more fiber,' the system runs **compute_ingredient_amount**, calculating exactly how much of an ingredient you'll need to hit that mark. You can also search for meals using advanced filters like diet or cuisine via **search_recipes**.

**Planning and Organizing Meals:**
The agent helps you plan your whole week, not just tonight’s dinner. Use **generate_meal_plan** to create a multi-day eating schedule based on what you input. You can then save that plan by running **add_to_meal_plan**, or review an existing weekly structure with **get_meal_plan_week**. If you need groceries, it pulls your current shopping list using **get_shopping_list**. When you're starving for ideas and don't wanna think, you can ask for random meals via **get_random_recipes**.

**Data Extraction and Research:**
It’s not just about recipes. You can give it a link to any cooking blog post using **extract_recipe**, and it pulls out the structured data—ingredients, steps, everything—so your agent can actually read it. If you find a recipe ID, **get_recipe_information** gives you every detail. It also helps you find similar meals by running **get_similar_recipes**, which matches ingredients or profiles to a meal you already like.

For shopping, the system handles both physical stores and restaurant menus. You can search for grocery items generally using **search_grocery_products**, or check products with their UPC barcode number via **search_products_by_upc**. If you're out eating, you can use **search_menu_items** to find specific dishes at a restaurant, and even get details on one item using **get_menu_item_information**. You can also look up the facts for any grocery product with **get_product_information**.

**Advanced Searching:**
The agent keeps suggestions coming. As you start typing a recipe title, **autocomplete_recipe_search** offers immediate options. If you just need general info on an ingredient or product, you can use **search_products_by_upc**, **search_menu_items**, or the broader **search_ingredients**. You also get one shot at getting a full inventory of available recipes by using **get_similar_recipes**.

## Tools

### add_to_meal_plan
Adds a specified recipe or item to the user's ongoing meal plan record.

### autocomplete_ingredient_search
Suggests full ingredient names when you type part of an ingredient name.

### autocomplete_recipe_search
Offers suggested recipe titles as you type a partial search query.

### search_recipes
Searches through thousands of recipes using advanced filters like diet, cuisine, and time constraints.

### compute_ingredient_amount
Calculates how much of an ingredient is needed to reach a specific nutritional goal (e.g., 'I need 10g more protein').

### extract_recipe
Pulls structured recipe data and instructions from any provided website URL.

### find_recipes_by_ingredients
Returns recipes that prioritize using the list of ingredients you currently have available.

### find_recipes_by_nutrients
Searches for recipes based on defined nutritional parameters (e.g., max calories, min fiber).

### generate_meal_plan
Creates a complete meal plan for the user across specified days.

### get_ingredient_information
Retrieves detailed nutritional and source information about a specific ingredient name.

### get_ingredient_substitutes
Provides alternative ingredients that can replace a primary ingredient in a recipe.

### get_meal_plan_week
Retrieves an existing meal plan structured by week for review or modification.

### get_menu_item_information
Gets specific details about a single, named menu item (like from a restaurant). 

### get_product_information
Fetches data and nutritional facts for a specific grocery product.

### get_random_recipes
Returns a list of completely random recipes to break menu fatigue.

### get_recipe_information
Pulls the full, detailed instructions and data for one specific recipe ID.

### get_shopping_list
Retrieves a user's current shopping list based on past meal plans or recipes.

### get_similar_recipes
Finds other recipes that share similar ingredients, cuisine types, or nutritional profiles with a given recipe ID.

### search_ingredients
Performs a broad search across all available ingredient data.

### search_menu_items
Searches for restaurant menu items using keywords or categories.

### search_products_by_upc
Looks up grocery products by scanning or entering their UPC barcode number.

### search_grocery_products
Searches the database for common grocery products by name or category.

## Prompt Examples

**Prompt:** 
```
Search for healthy Mediterranean dinner recipes that are gluten-free.
```

**Response:** 
```
I've found several Mediterranean options using `search_recipes`. Top results include 'Grilled Greek Chicken' and 'Quinoa Tabbouleh'. Would you like the full instructions for one of these?
```

**Prompt:** 
```
I have salmon, asparagus, and lemon. What can I cook?
```

**Response:** 
```
Using `find_recipes_by_ingredients`, I found a 'Sheet Pan Lemon Herb Salmon' recipe that uses all three. It only requires 2 additional pantry staples. Should I get the full recipe info?
```

**Prompt:** 
```
Find recipes with at least 30g of protein and less than 500 calories.
```

**Response:** 
```
I've queried `find_recipes_by_nutrients` for those specific macros. I found a 'High-Protein Turkey Chili' (35g protein, 420 cal). Would you like to see the ingredient list?
```

## Capabilities

### Find recipes based on ingredients
You list the items in your kitchen, and the agent returns viable recipes that maximize the use of those specific ingredients.

### Target meals by nutrition metrics
The agent filters recipe databases to find options meeting strict macro requirements (e.g., 30g protein, under 500 calories).

### Extract recipes from web URLs
You provide a link to a cooking blog post, and the agent pulls structured data—like ingredient lists and steps—out of the article.

### Generate full meal plans
The system creates multi-day dining schedules based on user inputs or random generation, providing structure to your diet.

### Calculate ingredient quantities for goals
You tell the agent a nutritional target (e.g., 'I need 15g of fiber'), and it computes how much of an ingredient is needed to hit that mark.

## Use Cases

### The Dinner Dilemma
You open the fridge and realize you have chicken, asparagus, and leftover pasta. Instead of wasting time Googling combinations, you ask your agent: 'What can I make with these three things?' The agent runs `find_recipes_by_ingredients` and immediately gives you a viable recipe using only what you own.

### The Macro-Focused Meal
Your client needs to hit 30g of protein while staying under 450 calories. You ask your agent, 'Find me dinner options with at least 30g protein and less than 450 calories.' The agent executes `find_recipes_by_nutrients` and returns only compliant meals.

### The Recipe Blogger
You find a great-looking recipe on a blog, but the steps are messy. You paste the URL and ask your agent to process it. The agent calls `extract_recipe` and gives you clean, structured data—ingredients list, prep time, instructions—ready for your app.

### The Weekly Planner
It's Sunday, and you need a menu for the week. You ask your agent to `generate_meal_plan`. It sends back seven days of meals. Then, asking it to `get_shopping_list` compiles every single item needed into one actionable list.

## Benefits

- Stop manual searching. Use `find_recipes_by_ingredients` to instantly generate viable meals based only on what's in your fridge, eliminating 'I don't know what to cook' nights.
- Hit precise dietary goals. Instead of guessing, run `find_recipes_by_nutrients` to guarantee the meal meets specific macro targets (e.g., high fiber, low sodium).
- Convert web clutter into data. The `extract_recipe` tool pulls structured instructions and ingredients from any blog post link so your agent can actually use it.
- Manage time better. Use `get_shopping_list` after running a meal plan to get a consolidated list of everything you need, without having to cross-reference multiple recipes.
- Deepen recipe understanding. Need an alternative? Check the ingredient database with `get_ingredient_substitutes` before writing your grocery list.

## How It Works

The bottom line is you can use your AI client to talk to a professional food database that handles the messy search logic for you.

1. Subscribe to this server and enter your Spoonacular API Key.
2. Connect the MCP Server to your preferred client (Claude, Cursor, etc.).
3. Ask your agent a natural language query. For example: 'I have chicken, rice, and broccoli. Give me three recipes using those ingredients.' The agent calls `find_recipes_by_ingredients` and gives you results.

## Frequently Asked Questions

**How does the find_recipes_by_nutrients tool work?**
It filters recipes against specific macro criteria you set. You tell it, 'Protein must be at least 30g and calories less than 500,' and it only returns matching results.

**What is the best tool for planning meals?**
`generate_meal_plan` creates a full menu schedule. If you need to check what groceries you'll need from that plan, follow up by calling `get_shopping_list`.

**Can I find recipes using only ingredients in my pantry?**
Yes, use the `find_recipes_by_ingredients` tool. You list your items, and it maximizes usage of what you have on hand.

**What if a recipe uses an ingredient I don't know how to spell?**
Use the `autocomplete_ingredient_search` tool. It provides suggestions as you type, ensuring your input is clean and accurate for the database.

**If I get an API key error when running `search_recipes`, what should I check first?**
First, verify that your Spoonacular API Key is correctly entered in the Vinkius connection settings. Second, confirm the key hasn't expired or exceeded its usage quota for the day. The tool won't run if authentication fails.

**What should I know about rate limits when calling `generate_meal_plan`?**
The server adheres to standard API rate limits, meaning you can't execute requests too frequently. If you hit the limit, your agent needs a short pause before trying again; it won't automatically retry.

**When using `extract_recipe`, what kind of URL works best for conversion?**
The source URL must be directly accessible and contain clear recipe content. URLs pointing to indexes or login screens will fail because the scraper can't find structured data.

**How reliable is the information gathered from `search_products_by_upc`?**
The tool pulls data from large product databases, making it highly accurate for common items. However, if the UPC code belongs to a regional or specialty item, you might need to cross-reference the details.

**Can I find recipes based on specific ingredients I already have?**
Yes! Use the `find_recipes_by_ingredients` tool. Just list your ingredients, and the agent will return recipes that maximize the use of what you have while minimizing missing items.

**How do I get the full nutritional breakdown of a specific recipe?**
You can use the `get_recipe_information` tool with the recipe ID and set `includeNutrition` to true. This provides calories, macros, and vitamins for the dish.

**Can the AI extract a recipe from a website link?**
Absolutely. Use the `extract_recipe` tool and provide the URL. The agent will parse the website and return a structured recipe with ingredients and instructions.