r

recipe-mcp

@jkakar/recipe-mcp
Hosted
0 Stars 39 次浏览 jkakar 更新于 2026-08-23

Generate and remix recipes using cookwith.co

MCP 服务配置

复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用

{
  "mcpServers": {
    "@cookwith/recipe-mcp": {
      "args": [
        "@cookwith/recipe-mcp@1.0.4"
      ],
      "command": "npx"
    }
  }
}

可用工具 (5 个)

该服务在 MCP 协议中暴露的工具,AI 可按需调用

tavily_search 14 个参数 需填 1 项

Search the web for current information on any topic. Use for news, facts, or data beyond your knowledge cutoff. Returns snippets and source URLs.

必填参数:query

tavily_extract 6 个参数 需填 1 项

Extract content from URLs. Returns raw page content in markdown or text format.

必填参数:urls

tavily_crawl 11 个参数 需填 1 项

Crawl a website starting from a URL. Extracts content from pages with configurable depth and breadth.

必填参数:url

tavily_map 8 个参数 需填 1 项

Map a website's structure. Returns a list of URLs found starting from the base URL.

必填参数:url

tavily_research 2 个参数 需填 1 项

Perform comprehensive research on a given topic or question. Use this tool when you need to gather information from multiple sources to answer a question or complete a task. Returns a detailed response based on the research findings.

必填参数:input

服务介绍

Recipe MCP Server

An MCP (Model Context Protocol) server that provides AI-powered recipe generation and transformation tools. Generate personalized recipes based on dietary preferences, transform existing recipes to meet nutritional goals, and more.

# Features

  • 🍳 Generate Recipes - Create custom recipes from natural language descriptions
  • 🔄 Transform Recipes - Modify existing recipes (make vegan, adjust calories, etc.)
  • 🥗 Dietary Support - Handle allergies, restrictions, and food preferences
  • 📊 Nutrition Goals - Target specific calorie and protein requirements
  • 🆓 Open Access - No API key required (rate limited)

# Installation

# # For Claude Desktop

  1. Install the MCP server:
npm install -g @cookwith/recipe-mcp
  1. Add to your Claude Desktop configuration:
    • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
    • Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "recipe-mcp": {
      "command": "npx",
      "args": ["@cookwith/recipe-mcp"],
      "env": {
        "COOKWITH_API_URL": "https://cookwith.co"
      }
    }
  }
}
  1. Restart Claude Desktop

# # For Development

#  Clone the repository
git clone https://github.com/cookwith/recipe-mcp.git
cd recipe-mcp

#  Install dependencies
npm install

#  Run in development mode
npm run dev

# Usage Examples

# # Generate a Recipe

// In Claude Desktop, you can say:
"Generate a healthy Mediterranean pasta dish with lots of vegetables"

// The tool will be called with:
{
  "prompt": "A healthy Mediterranean pasta dish with lots of vegetables",
  "dietaryRestrictions": ["vegetarian"],
  "calories": "450",
  "servings": 4
}

# # Transform a Recipe

// After generating or providing a recipe:
"Make this recipe vegan and reduce the calories by 200"

// The tool will be called with:
{
  "recipe": { / * existing recipe object * / },
  "instructions": "Make this vegan and reduce calories by 200",
  "calories": "350"
}

# Tools

# # generate_recipe

Generate a new recipe based on natural language instructions.

Parameters:

  • prompt (string, required) - Natural language description
  • dietaryRestrictions (string[], optional) - e.g., ["vegetarian", "gluten-free"]
  • allergies (string[], optional) - Ingredients to avoid
  • dislikes (string[], optional) - Foods to exclude
  • calories (string, optional) - Target calories per serving
  • protein (string, optional) - Target protein in grams
  • servings (number, optional) - Number of servings (1-20, default: 4)

# # transform_recipe

Transform an existing recipe based on instructions.

Parameters:

  • recipe (object, required) - The recipe to transform
  • instructions (string, required) - How to modify the recipe
  • calories (string, optional) - New target calories
  • protein (string, optional) - New target protein
  • servings (number, optional) - New number of servings

# Rate Limits

The public API has the following rate limits:

  • Anonymous Access: 20 requests per hour per IP address
  • No authentication required
  • Retry-After header provided when limit exceeded

# Recipe Object Format

interface Recipe {
  title: string;
  description: string;
  ingredients: string[];      // e.g., ["2 cups flour", "1 tsp salt"]
  instructions: string[];      // Step-by-step instructions
  servings: number;
  prepTime?: number;          // Minutes
  cookTime?: number;          // Minutes
  totalTime?: number;         // Minutes
  cuisine?: string;           // e.g., "Italian", "Mexican"
  course?: string;            // e.g., "main", "dessert"
  difficulty?: string;        // e.g., "easy", "medium", "hard"
  calories?: number;          // Per serving
  protein?: number;           // Grams per serving
  carbs?: number;            // Grams per serving
  fat?: number;              // Grams per serving
  fiber?: number;            // Grams per serving
  sugar?: number;            // Grams per serving
  sodium?: number;           // Milligrams per serving
}

# Configuration

# # Environment Variables

# # Custom API Endpoint

For development or self-hosted instances:

export COOKWITH_API_URL=http://localhost:3000
npx @cookwith/recipe-mcp

# Examples

# # Basic Recipe Generation

// Request
{
  "prompt": "Quick and easy chicken stir-fry"
}

// Response
{
  "title": "Quick Chicken Stir-Fry",
  "description": "A delicious and speedy chicken stir-fry...",
  "ingredients": [
    "2 chicken breasts, sliced",
    "2 cups mixed vegetables",
    "3 tbsp soy sauce",
    // ...
  ],
  "instructions": [
    "Heat oil in a large wok or skillet",
    "Add chicken and cook until golden",
    // ...
  ],
  "servings": 4,
  "prepTime": 10,
  "cookTime": 15,
  "calories": 320,
  "protein": 28
}

# # Recipe Transformation

// Request
{
  "recipe": {
    "title": "Classic Beef Lasagna",
    "ingredients": ["1 lb ground beef", "ricotta cheese", ...],
    // ... full recipe
  },
  "instructions": "Make this vegetarian and lower in calories"
}

// Response
{
  "title": "Vegetarian Light Lasagna",
  "description": "A healthier vegetarian version...",
  "ingredients": [
    "2 cups chopped mushrooms",
    "1 cup low-fat ricotta",
    // ... transformed ingredients
  ],
  // ... rest of transformed recipe
}

# Troubleshooting

# # Rate Limit Errors

If you receive a 429 error, you've exceeded the rate limit. Wait for the time specified in the retryAfter field before making another request.

# # Connection Issues

Ensure your internet connection is stable and the API endpoint is accessible.

# # Invalid Parameters

Check that your parameters match the expected format and constraints (e.g., servings between 1-20).

# Contributing

Contributions are welcome! Please see our Contributing Guide for details.

# License

MIT License - see LICENSE file for details.

# Support

# Powered By

相关 MCP 服务