recipe-mcp
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
- Install the MCP server:
npm install -g @cookwith/recipe-mcp
- Add to your Claude Desktop configuration:
- macOS:
~/Library/Application Support/Claude/claude_desktop_config.json - Windows:
%APPDATA%\Claude\claude_desktop_config.json
- macOS:
{
"mcpServers": {
"recipe-mcp": {
"command": "npx",
"args": ["@cookwith/recipe-mcp"],
"env": {
"COOKWITH_API_URL": "https://cookwith.co"
}
}
}
}
- 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 descriptiondietaryRestrictions(string[], optional) - e.g., ["vegetarian", "gluten-free"]allergies(string[], optional) - Ingredients to avoiddislikes(string[], optional) - Foods to excludecalories(string, optional) - Target calories per servingprotein(string, optional) - Target protein in gramsservings(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 transforminstructions(string, required) - How to modify the recipecalories(string, optional) - New target caloriesprotein(string, optional) - New target proteinservings(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
COOKWITH_API_URL- API endpoint (default: https://cookwith.co)
# # 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
- 🐛 Report Issues
- 💬 Discussions
- 📧 Email: support@blaide.com
# Powered By
- Cookwith - AI-powered cooking platform
- OpenAI GPT-4 - Recipe generation
- Model Context Protocol - Tool integration