# Spoonacular Alternative MCP

> Spoonacular Alternative gives your AI client access to a massive food database for recipe search and nutrition analysis. Use it to find recipes based on ingredients you have or dietary needs (e.g., low carb, vegan). It extracts nutritional breakdowns, ingredient lists, cooking instructions, and even taste profiles from URLs.

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

## Description

Listen up. This MCP Server plugs your AI client straight into a massive food data API. You've got access to everything you need for recipe searching and deep nutrition analysis—it’s the full kitchen toolkit, no sweat.

### Finding What You Want to Cook

You can find recipes using **search_recipes**, which lets you filter by cuisine type, specific dietary tags, calorie limits, or even a list of required ingredients. Need something quick? You get back titles, prep time, servings counts, and those handy dietary badges right away.

When you're trying to cook with what’s actually in your pantry, use **recipes_by_ingredients**. This tool finds recipes using only the exact ingredients you specify, ranking them by how closely they match your available stock. It’s perfect for zero-waste cooking.

If you know what nutritional goal you're aiming for—say, high fiber or low sodium—you can use **recipes_by_nutrients** to search for meal options based on those specific requirements. Need a general idea of what kind of dish it is? Run the ingredients through **guess_dish_type**, and it’ll guess if you're looking at a soup, curry, or maybe some kinda stir-fry.

If you just wanna browse, hit up **random_recipes**. You can even narrow down those random suggestions with specific dietary tags. And hey, you don't gotta search manually; **get_recipes_bulk** lets you pull structured data for multiple different recipes all at once if you need a comparison chart.

### Deep Diving into Recipe Details

Once you find a recipe, you can dig deep into the specifics. Use **get_recipe_info** to retrieve detailed information about a single recipe just by its ID. You'll get step-by-step instructions using **get_recipe_instructions**, which structures those steps for crystal clarity. The server also handles analyzing the whole thing with **analyze_recipe**, returning enriched data on all the components.

Want to know what it tastes like before you cook it? Run it through **get_recipe_taste**; it analyzes and spits out a predicted taste profile, telling you if it's gonna be sweet, savory, or maybe sour. And don’t forget the nutrition—**get_recipe_nutrition** provides detailed data on macros, vitamins, and minerals for any recipe you check.

### Working with External Data & Groceries

Sometimes your source isn't a clean database. Use **extract_recipe** when you gotta pull full recipes from an external URL—it works great for importing content straight from blogs or cooking websites. If the site is tricky, you can still use **get_recipe_info** to get the basic details.

For shopping prep, run your packaged food items through **search_grocery_products**. This tool looks up common grocery store products and gives you their specific nutritional information right there in the app.

Need a quick overview of a recipe? You can use **search_recipes** to find recipes using advanced filters for cuisine type, calorie limits, or even prep time. All this power lets your agent do serious work.

## Tools

### analyze_recipe
Analyzes a recipe and returns enriched data about its components.

### extract_recipe
Pulls full recipes from an external URL, useful for importing content from blogs or cooking sites.

### recipes_by_ingredients
Finds recipes using only the ingredients you specify, ranking them by how closely they match your available stock.

### recipes_by_nutrients
Searches for meal options based on specific nutritional requirements (e.g., high fiber, low sodium).

### get_recipe_instructions
Gets step-by-step instructions for a recipe, analyzed and structured for clarity.

### get_recipe_info
Retrieves detailed information about a specific recipe by ID.

### get_recipe_nutrition
Provides detailed nutritional data (macros, vitamins, minerals) for any given recipe.

### get_recipe_taste
Analyzes and returns the predicted taste profile of a recipe (e.g., sweet, savory).

### get_recipes_bulk
Fetches structured data for multiple different recipes simultaneously.

### guess_dish_type
Guesses the general type of dish (e.g., soup, curry) based on a list of ingredients or description.

### random_recipes
Provides random recipe suggestions that can optionally be filtered by specific dietary tags.

### search_grocery_products
Looks up packaged food items in a grocery store context and provides their nutritional information.

### search_recipes
Searches for recipes using advanced filtering, returning title, prep time, servings, and dietary badges.

## Prompt Examples

**Prompt:** 
```
Find me vegetarian Italian recipes under 500 calories.
```

**Response:** 
```
Found 8 vegetarian Italian recipes under 500 calories including 'Vegetarian Pasta Primavera' (350 cal, 25 min), 'Caprese Salad' (280 cal, 10 min), and 'Eggplant Parmesan' (420 cal, 45 min).
```

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

**Response:** 
```
Based on chicken, rice, and broccoli, I found 5 recipes you can make. Top match: 'Chicken Rice Broccoli Stir Fry' (30 min, 380 cal) which uses all 3 ingredients perfectly.
```

**Prompt:** 
```
Give me the nutrition breakdown for recipe 654959.
```

**Response:** 
```
Recipe 'Spicy Garlic Shrimp' nutrition per serving: 320 calories, 28g protein, 18g fat, 15g carbs. Rich in Vitamin C (85% DV), Selenium (92% DV), and Omega-3. Low in sodium and saturated fat.
```

## Capabilities

### Search and Filter Recipes
Find recipes using advanced filters for cuisine, dietary tags, calorie limits, or required ingredients.

### Analyze Nutritional Data
Get detailed nutritional breakdowns—including macros, vitamins, and minerals—for a specific recipe.

### Plan Meals by Ingredients
Search for recipes using only the list of ingredients you currently possess.

### Extract Recipes from URLs
Pull structured recipe data, including steps and ingredients, directly from an external web link.

### Determine Taste Profile
Analyze a recipe to get its predicted taste characteristics (e.g., spicy, savory, sour).

## Use Cases

### The 'Fridge Dump' Dilemma
A user opens the app and sees random items in their fridge: eggs, spinach, cheddar, and pasta. They ask their agent what to make with these things. The agent runs `recipes_by_ingredients`, which returns a highly-rated recipe like 'Cheesy Spinach Pasta' that uses every item available.

### Dietary Restrictions on the Fly
A friend has an allergic reaction and needs dinner fast. The user prompts: 'Find me low-carb, gluten-free recipes with chicken.' The agent runs `recipes_by_nutrients` to filter out unsafe options, providing safe meal choices immediately.

### Recipe Research for a Blog
A food blogger finds an interesting recipe on Pinterest but can't copy the data. They use their agent to run `extract_recipe` on the URL, pulling out structured ingredients and instructions, which they then pass to `get_recipe_nutrition` for accurate calorie counts.

### Cross-Checking Pantry Staples
A user wants to buy a specific brand of quinoa. They use `search_grocery_products` to check the nutritional facts on that item, comparing it against the required macros for their meal plan before shopping.

## Benefits

- Stop guessing what you can cook. Use `recipes_by_ingredients` and tell your agent exactly what's in the fridge, and it returns ranked recipes using only those items.
- Go beyond simple searches. Instead of just 'Italian food,' use `search_recipes` to filter by 'vegetarian AND under 400 calories' for precise planning.
- Save hours on meal prep documentation. Use `extract_recipe` to paste a URL from any blog, and the server pulls out structured ingredients, steps, and info automatically.
- Build reliable dietary apps. The `get_recipe_nutrition` tool provides specific macro and vitamin breakdowns for every recipe, making compliance checks simple.
- Get instant inspiration when you're stuck. Use `random_recipes` to generate a suggestion, or use `guess_dish_type` if you only have an ingredient list.

## How It Works

The bottom line is that your AI client uses this server as a dedicated knowledge base, letting it talk to an enormous food database without you ever leaving your chat window or IDE.

1. Subscribe to the server and enter your personal API key in the Vinkius Marketplace.
2. Your AI client sends a request detailing the recipe need (e.g., 'Find me dinner recipes for three people with chicken').
3. The MCP Server runs the necessary tool (like `search_recipes`) and returns structured data: titles, times, nutrition facts, and links.

## Frequently Asked Questions

**How do I find recipes for my specific diet using the search_recipes tool?**
You specify your filters directly in the prompt. For instance: 'Search recipes that are vegan, gluten-free, and under 30 minutes.' The `search_recipes` tool handles all those tags simultaneously.

**What is better for meal planning, random_recipes or recipes_by_nutrients?**
`Recipes_by_nutrients` is much more reliable. If your goal is dietary compliance (e.g., needing 20% of daily fiber), use `recipes_by_nutrients`. Use `random_recipes` only if you just want a fun, general idea.

**Can I get nutrition facts for a recipe from a website using get_recipe_nutrition?**
No. The `get_recipe_nutrition` tool requires a specific recipe ID or name that we already know about. If the data is on an external site, you must use `extract_recipe` first to bring the raw data into the system.

**How do I find recipes using only what's in my pantry? (recipes_by_ingredients)**
Simply list your ingredients and ask for suggestions. The server runs `recipes_by_ingredients` and gives you a ranked list, showing which recipe uses the highest percentage of your available items.

**What happens if I hit a rate limit when using the get_recipes_bulk tool?**
The system returns an HTTP 429 error, which tells you exactly how long to wait. You must implement exponential backoff in your AI client's code before retrying the request. Don't just keep hitting it; pause for longer periods between attempts.

**How does the get_recipe_taste tool analyze the flavor profile of a recipe?**
The tool analyzes common culinary pairings and ingredient characteristics to assign taste attributes like sweet, savory, or bitter. It doesn't 'taste' anything; it relies on established food science data to predict the overall mouthfeel.

**Is get_recipes_bulk better than calling get_recipe_info for multiple recipes?**
Yes, using `get_recipes_bulk` is much more efficient. Instead of making many individual API calls, you send a single request containing all the IDs you need data for. This saves time and reduces your overall call count.

**What kind of input should I provide when using the guess_dish_type tool?**
The best inputs are comprehensive ingredient lists or a clear description, like 'a creamy pasta with sausage.' The more context you give it, the better `guess_dish_type` can pinpoint the correct dish category.

**How do I get a Spoonacular API Key?**
Visit [**Spoonacular API**](https://spoonacular.com/food-api), sign up for a free account, and copy your API key from the dashboard. Free tier includes 150 points/day.

**Can I find recipes with ingredients I already have?**
Yes! Use `recipes_by_ingredient` with a comma-separated list of ingredients. The API finds recipes maximizing the use of your available ingredients.

**Can I extract recipes from websites?**
Absolutely! Use the `extract_recipe` tool with any recipe URL. It automatically parses the webpage and extracts title, ingredients, instructions, and metadata.