Recipe Mcp

io.github.jkakar由 GitHub 帳號 jkakar 發布v1.0.4更新於 Oct 24, 2026

Generate and remix recipes using cookwith.co

已驗證STDIO僅桌面位置與生活AI 與機器學習

概覽

AI 產生的概覽

一個本機 MCP 伺服器,讓助理透過 cookwith.co API 產生新食譜並改造既有食譜。

可以做什麼
依自然語言描述產生食譜,可指定飲食限制、過敏原、不喜歡的食材、熱量與蛋白質目標以及份數(1-20)。
適用情境
適合希望助理在對話中直接草擬個人化食譜,或依飲食、熱量、蛋白質目標調整現有食譜的情境。
執行需求
以本機 Node.js 程序執行,從 npm 套件 @cookwith/recipe-mcp 安裝(npx 或全域安裝)並在桌面用戶端中設定。需要連線至 cookwith.co API 的網路存取;選用環境變數 COOKWITH_API_URL 可指向其他端點。不需 API 金鑰或帳號。
安裝前請注意
食譜提示詞以及送出改造的食譜內容會傳送給第三方服務 cookwith.co,該服務使用 OpenAI GPT-4。匿名存取依 IP 限制為每小時 20 次請求,可能回傳 429 錯誤。不要求任何憑證。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Recipe Mcp,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

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:
bash
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
json
{  "mcpServers": {    "recipe-mcp": {      "command": "npx",      "args": ["@cookwith/recipe-mcp"],      "env": {        "COOKWITH_API_URL": "https://cookwith.co"      }    }  }}
  1. Restart Claude Desktop

For Development

bash
# Clone the repositorygit clone https://github.com/cookwith/recipe-mcp.gitcd recipe-mcp
# Install dependenciesnpm install
# Run in development modenpm run dev

Usage Examples

Generate a Recipe

typescript
// 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

typescript
// 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

typescript
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:

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

Examples

Basic Recipe Generation

javascript
// 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

javascript
// 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

來源:README.md,提交 9bf443e

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v1.0.4最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分