Skip to content

ddsky/spoonacular-mcp

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Spoonacular MCP Server

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.

npm version npm downloads License: ISC

Features

  • 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

Quick Start

Installation

npm install -g spoonacular-mcp

Setup

  1. Get a Spoonacular API key (free at https://spoonacular.com/food-api/console#Dashboard)

  2. 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"

Usage with MCP Clients

Add this configuration to your MCP client (Claude Desktop, etc.):

{
  "servers": {
    "spoonacular": {
      "command": "spoonacular-mcp",
      "env": {
        "SPOONACULAR_API_KEY": "your_api_key_here"
      }
    }
  }
}

Test the Installation

# 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-mcp

Available Tools

search_recipes

Search for recipes with various filters.

Parameters:

  • query (string): Search query for recipes
  • number (number, 1-100): Number of results (default: 10)
  • diet (string, optional): Diet type (vegetarian, vegan, gluten-free, etc.)
  • intolerances (string, optional): Comma-separated intolerances
  • includeIngredients (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_recipe_information

Get detailed information about a specific recipe.

Parameters:

  • id (number): Recipe ID
  • includeNutrition (boolean): Include nutrition information (default: false)

search_ingredients

Search for ingredients by name.

Parameters:

  • query (string): Ingredient search query
  • number (number, 1-100): Number of results (default: 10)
  • metaInformation (boolean): Include meta information (default: false)

analyze_nutrition

Analyze nutrition for a list of ingredients.

Parameters:

  • ingredientList (string): List of ingredients, one per line
  • servings (number): Number of servings

find_recipes_by_ingredients

Find recipes based on available ingredients.

Parameters:

  • ingredients (string): Comma-separated list of available ingredients
  • number (number, 1-100): Number of recipes (default: 5)
  • ranking (number, 1-2): Ranking strategy (1=maximize used, 2=minimize missing)

get_random_recipes

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

Development

To run in development mode:

npm run dev

To build:

npm run build

API Rate Limits

The free Spoonacular API plan includes:

  • 150 requests per day
  • Rate limiting applies

Consider upgrading to a paid plan for production use.

License

ISC

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

About

An MCP server for spoonacular's recipe and food API

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages