howtocook mcp

Local 2025-09-01 00:15:11 0

Turn your AI assistant into a personal chef that helps plan your daily meals!


English | 简体中文

Turn your AI assistant into a personal chef that helps plan your daily meals!

An MCP (Model Context Protocol) server based on Anduin2017/HowToCook, allowing AI assistants to recommend recipes, plan meals, and solve the age-old question of "what should I eat today?"

Data Source: Anduin2017/HowToCook ⭐ Don't forget to star the repo if you haven't already!

? Preview

Feature Preview 1 Feature Preview 2

? Supported MCP Clients

This server works with all AI assistants and clients that support the MCP protocol, including but not limited to:

  • ? Claude Desktop App
  • ? Cursor
  • ? Other MCP-compatible clients

✨ Delicious Features

This MCP server provides the following culinary tools:

  1. ? Query All Recipes - Access all available recipe data, your complete cooking encyclopedia -- Use with caution due to large context size
  2. ? Query Recipes by Category - Filter recipes by category: seafood, breakfast, meat dishes, staple foods, and more!
  3. ? Smart Meal Planning - Get a full week's meal plan based on dietary restrictions, allergies, and number of diners
  4. ? Don't Know What to Eat? - Perfect for the indecisive! Get instant menu recommendations based on party size

? Quick Start

? Prerequisites

  • Node.js 16.0.0+ ?
  • npm or yarn ?

? Installation

  1. Clone the repository
git clone https://github.com/worryzyy/howtocook-mcp.git
cd howtocook-mcp-server
  1. Install dependencies (as simple as preparing ingredients!)
npm install
  1. Build the code (the cooking process...)
npm run build

?️ Getting Started

? Start the Server

npm start

? Configure MCP Clients

  1. Using npm package: Please run npm i -g howtocook-mcp first, otherwise Failed to create client will appear

Then add the MCP server configuration in Cursor settings:

{
    "mcpServers": {
        "howtocook-mcp": {
            "command": "npx",
            "args": ["-y", "howtocook-mcp"]
        }
    }
}
  1. If running from a local cloned repository, use this configuration:
{
    "mcpServers": {
        "howtocook-mcp": {
            "command": "node",
            "args": ["yourpathhowtocook-mcpbuildindex.js"]
        }
    }
}

Other MCP Clients

For other clients supporting the MCP protocol, refer to their respective documentation. Generally, you'll need to specify:

  • Server name: howtocook-mcp
  • Command: npx -y howtocook-mcp

  • Restart the client to activate the culinary magic ✨

?‍♂️ Culinary Magic Usage Guide

Here are example prompts for using these tools in MCP clients:

1. ? Query All Recipes

No parameters needed, just summon the culinary encyclopedia!

Please use the howtocook MCP service to query all recipes

2. ? Query Recipes by Category

Please use the howtocook MCP service to query seafood recipes

Parameters:

  • category: Recipe category (seafood, breakfast, meat dishes, staple foods, etc.)

3. ? Smart Meal Planning

Please use the howtocook MCP service to recommend a weekly meal plan for 3 people. We don't eat cilantro and are allergic to shrimp.

Parameters:

  • allergies: List of allergens, e.g., ["garlic", "shrimp"]
  • avoidItems: Dietary restrictions, e.g., ["green onion", "ginger"]
  • peopleCount: Number of diners (1-10)

4. ? What to Eat Today?

Please use the howtocook MCP service to recommend a dinner menu for 4 people

Parameters:

  • peopleCount: Number of diners (1-10)

? Tips

  • This package is published on npm and can be installed globally via npm install -g howtocook-mcp
  • Compatible with all AI assistants and applications that support the MCP protocol
  • On first use, AI may need some time to familiarize itself with these tools (like preheating an oven)

? Contributing

Forks and Pull Requests are welcome! Let's improve this culinary assistant together!

? License

MIT License - Feel free to use, just like sharing your favorite recipes!


? The feast is about to begin, is your appetite ready?

[
  {
    "description": "获取所有菜谱",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "random_string": {
          "description": "可选的随机字符串参数,无实际作用",
          "type": "string"
        }
      },
      "type": "object"
    },
    "name": "mcp_howtocook_getAllRecipes"
  },
  {
    "description": "根据分类查询菜谱,可选分类有: 水产, 早餐, 调味料, 甜品, 饮品, 荤菜, 半成品, 汤羹, 主食, 素菜",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "category": {
          "description": "菜谱分类名称,如水产、早餐、荤菜、主食等",
          "enum": [
            "水产",
            "早餐",
            "调味料",
            "甜品",
            "饮品",
            "荤菜",
            "半成品",
            "汤羹",
            "主食",
            "素菜"
          ],
          "type": "string"
        }
      },
      "required": [
        "category"
      ],
      "type": "object"
    },
    "name": "mcp_howtocook_getRecipesByCategory"
  },
  {
    "description": "根据用户的忌口、过敏原、人数智能推荐菜谱,创建一周的膳食计划以及大致的购物清单",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "allergies": {
          "description": "过敏原列表,如["大蒜", "虾"]",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "avoidItems": {
          "description": "忌口食材列表,如["葱", "姜"]",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "peopleCount": {
          "description": "用餐人数,1-10之间的整数",
          "maximum": 10,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "peopleCount"
      ],
      "type": "object"
    },
    "name": "mcp_howtocook_recommendMeals"
  },
  {
    "description": "不知道吃什么?根据人数直接推荐适合的菜品组合",
    "inputSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "additionalProperties": false,
      "properties": {
        "peopleCount": {
          "description": "用餐人数,1-10之间的整数,会根据人数推荐合适数量的菜品",
          "maximum": 10,
          "minimum": 1,
          "type": "integer"
        }
      },
      "required": [
        "peopleCount"
      ],
      "type": "object"
    },
    "name": "mcp_howtocook_whatToEat"
  }
]