A Model Context Protocol (MCP) server that provides access to the Spoonacular Food API. This server enables AI assistants to search for recipes, get nutritional information, find ingredients, and more through the MCP protocol.
- Recipe Search: Search for recipes by ingredients, diet, cuisine, and other criteria
- Recipe Information: Get detailed recipe information including ingredients, instructions, and nutrition
- Ingredient Search: Find and explore ingredient information
- Nutrition Analysis: Analyze nutrition for ingredient lists
- Recipe by Ingredients: Find recipes based on available ingredients
- Random Recipes: Get random recipe suggestions with optional filtering
npm install -g spoonacular-mcp-
Get a Spoonacular API key (free at https://spoonacular.com/food-api/console#Dashboard)
-
Set your API key as an environment variable:
# Windows (PowerShell) $env:SPOONACULAR_API_KEY="your_api_key_here" # macOS/Linux export SPOONACULAR_API_KEY="your_api_key_here"
Add this configuration to your MCP client (Claude Desktop, etc.):
{
"servers": {
"spoonacular": {
"command": "spoonacular-mcp",
"env": {
"SPOONACULAR_API_KEY": "your_api_key_here"
}
}
}
}# Set your API key
export SPOONACULAR_API_KEY="your_key_here"
# Test the server
echo '{"jsonrpc":"2.0","id":1,"method":"tools/list","params":{}}' | spoonacular-mcpSearch for recipes with various filters.
Parameters:
query(string): Search query for recipesnumber(number, 1-100): Number of results (default: 10)diet(string, optional): Diet type (vegetarian, vegan, gluten-free, etc.)intolerances(string, optional): Comma-separated intolerancesincludeIngredients(string, optional): Required ingredients (comma-separated)excludeIngredients(string, optional): Ingredients to exclude (comma-separated)type(string, optional): Meal type (main course, side dish, dessert, etc.)cuisine(string, optional): Cuisine type (italian, mexican, chinese, etc.)
Get detailed information about a specific recipe.
Parameters:
id(number): Recipe IDincludeNutrition(boolean): Include nutrition information (default: false)
Search for ingredients by name.
Parameters:
query(string): Ingredient search querynumber(number, 1-100): Number of results (default: 10)metaInformation(boolean): Include meta information (default: false)
Analyze nutrition for a list of ingredients.
Parameters:
ingredientList(string): List of ingredients, one per lineservings(number): Number of servings
Find recipes based on available ingredients.
Parameters:
ingredients(string): Comma-separated list of available ingredientsnumber(number, 1-100): Number of recipes (default: 5)ranking(number, 1-2): Ranking strategy (1=maximize used, 2=minimize missing)
Get random recipes with optional filtering.
Parameters:
number(number, 1-100): Number of random recipes (default: 1)tags(string, optional): Comma-separated tags for filtering
To run in development mode:
npm run devTo build:
npm run buildThe free Spoonacular API plan includes:
- 150 requests per day
- Rate limiting applies
Consider upgrading to a paid plan for production use.
ISC
Contributions are welcome! Please feel free to submit a Pull Request.