Token导航 LogoToken导航TokenDH.com
Tandoor MCP Server (Starbuck93) logo
运维云端HTTP官方级别未说明来源级核验

Tandoor MCP Server (Starbuck93)

MCP Server

Tandoor MCP Server 是一个用于与 Tandoor Recipe Manager 交互的模型上下文协议服务器,提供食谱创建、餐计划管理、购物清单管理等功能。

工具数

0

提示词数

0

GitHub Stars

13

资源数

0
JavaScript云端部署Docker

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

starbuck93

提供方

starbuck93

最后核验

2026/5/17 20:20

运行时

Node.js

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

命令预览

npm install express axios cors dotenv

详细介绍

Tandoor MCP服务器

一种用于交互的模型上下文协议(MCP)服务器 Tandoor配方管理器.

当前状态

  • create_tandoor_recipe:成功实施和测试
  • 创建待办事项计划:成功实施和测试
  • 获取密码:成功实施和测试
  • get_meal计划:成功实施和测试
  • 获取密码详细信息:已实施
  • get_mal_types:已实施
  • 获取关键字:已实施
  • 获取食物:已实施
  • 获取单位:已实施
  • get_shopping_list:已实施
  • add_shopping_list_item:已实现(通过名称查找)
  • update_shopping_list_item:已实施
  • remove_shopping_list_item:已实施

特性

  • 在Tandoor中创建包含配料和说明的食谱
  • 将食谱添加到特定日期和膳食类型的膳食计划中
  • 使用各种条件(名称、关键字、食物、评级)搜索食谱
  • 检索按日期范围和膳食类型筛选的膳食计划
  • 检索特定食谱的完整详细信息
  • 列出可用的膳食类型、关键字、食物和单位
  • 管理购物清单项目(查看、添加、更新、删除)

设置

  1. 安装依赖项:
   npm install
  1. 构建服务器:
   npm run build
  1. 手动运行服务器(用于测试):
   # Windows PowerShell
   $env:TANDOOR_URL = "https://your-tandoor-instance.com"
   $env:TANDOOR_API_TOKEN = "your-api-token"
   node .\build\index.js

   # Windows CMD
   set TANDOOR_URL=https://your-tandoor-instance.com
   set TANDOOR_API_TOKEN=your-api-token
   node .\build\index.js

   # Linux/macOS
   TANDOOR_URL=https://your-tandoor-instance.com TANDOOR_API_TOKEN=your-api-token node ./build/index.js
  1. 在MCP设置中配置:
   {
     "mcpServers": {
       "tandoor": {
         "command": "node",
         "args": ["path/to/tandoor-mcp-server/build/index.js"],
         "env": {
           "TANDOOR_URL": "https://your-tandoor-instance.com",
           "TANDOOR_API_TOKEN": "your-api-token"
         },
         "disabled": false,
         "autoApprove": []
       }
     }
   }
  1. 如果你想让一切都自动批准。..
      "autoApprove": [
        "add_shopping_list_item",
        "create_tandoor_meal_plan",
        "create_tandoor_recipe",
        "get_foods",
        "get_keywords",
        "get_meal_plans",
        "get_meal_types",
        "get_recipe_details",
        "get_recipes",
        "get_recipes",
        "get_shopping_list",
        "get_units",
        "remove_shopping_list_item",
        "update_shopping_list_item"
      ]
  1. 添加 ./.clinerules 到您的项目目录
  • 还可以选择添加 ./memory-bank 有一个你喜欢或不喜欢的食物的标记或文本文件列表,以防你想从助理那里得到用餐建议。

可用工具

create_tandoor_recipe

在Tandoor中创建新配方。

参数:

  • name (string,必填):配方的名称。
  • description (字符串,可选):食谱的描述。
  • servings (数字,可选):份数。
  • ingredients_block (string,必填):一个多行的文本块,每行列出一种成分。
  • instructions_block (字符串,必填):详细说明配方说明的多行文本块。

例子:

{
  "name": "Simple Pasta",
  "description": "A quick and easy pasta dish.",
  "servings": 2,
  "ingredients_block": "200g pasta\n2 tbsp olive oil\n1 clove garlic, minced\nSalt and pepper to taste",
  "instructions_block": "1. Cook pasta according to package instructions.\n2. Heat oil in a pan and add garlic.\n3. Drain pasta and add to the pan.\n4. Season with salt and pepper."
}

创建待办事项计划

为特定日期和膳食类型向Tandoor膳食计划添加一个或多个食谱。

参数:

  • title (字符串,可选):膳食计划条目的标题。
  • recipes (array,必填):要添加到计划中的配方名称或ID的数组。
  • start_date (字符串,必填):膳食计划条目的日期(YYYY-MM-DD)。
  • meal_type (string,必填):用餐类型的名称(例如,“Dinner”、“Lunch”)。
  • servings (数字,可选):膳食计划条目的份数(默认值:1)。
  • note (字符串,可选):膳食计划条目的注释。

例子:

{
  "title": "Friday Dinner",
  "recipes": [123, "Simple Pasta"],
  "start_date": "2025-03-29",
  "meal_type": "Dinner",
  "servings": 2,
  "note": "Quick dinner for Friday night."
}

获取密码

根据各种条件在Tandoor中搜索食谱。

参数:

  • query (字符串,可选):与配方名称匹配的搜索词(模糊匹配)。
  • keywords (整数数组,可选):关键字ID数组。返回与这些关键字中的任何一个匹配的食谱。
  • foods (整数数组,可选):食物ID数组。返回包含这些食物中任何一种的食谱。
  • rating (整数,可选):配方应具有的最小评级(0-5)。
  • limit (整数,可选):要返回的食谱的最大数量。默认值为10。

例子:

{
  "query": "chicken",
  "keywords": [5, 12],
  "rating": 4,
  "limit": 5
}

get_meal计划

从Tandoor检索膳食计划条目,可选择按日期范围和膳食类型进行过滤。

参数:

  • from_date (字符串,可选):开始日期(YYYY-MM-DD),用于过滤膳食计划(包括在内)。
  • to_date (字符串,可选):过滤膳食计划(包括在内)的结束日期(YYYY-MM-DD)。
  • meal_type_id (整数,可选):要过滤的膳食类型ID。

例子:

{
  "from_date": "2025-03-01",
  "to_date": "2025-03-31",
  "meal_type_id": 1
}

获取密码详细信息

检索特定食谱的完整细节。

参数:

  • recipe_id (整数,必填):要检索的配方的ID。

例子:

{
  "recipe_id": 123
}

get_mal_types

列出Tandoor中所有可用的膳食类型。

参数:

例子:

{}

获取关键字

列出或搜索关键字。

参数:

  • query (字符串,可选):关键字名称的可选搜索词。
  • root (整数,可选):获取一级子级的可选ID(根为0)。
  • tree (整数,可选):获取树中所有子节点的可选ID。

例子:

{
  "query": "italian"
}

获取食物

列出或搜索食物。

参数:

  • query (string,可选):食物名称的可选搜索词。
  • root (整数,可选):获取一级子级的可选ID(根为0)。
  • tree (整数,可选):获取树中所有子节点的可选ID。

例子:

{
  "query": "chicken breast"
}

获取单位

列出或搜索单位。

参数:

  • query (字符串,可选):单位名称的可选搜索词。

例子:

{
  "query": "gram"
}

get_shopping_list

检索当前购物清单项目。

参数:

  • checked (字符串,可选):按检查状态(“true”、“false”、“both”、“recent”)过滤。默认为“最近”。

例子:

{
  "checked": "false" 
}

add_shopping_list_item

在购物清单中添加一个项目,允许食物/单位名称或ID。

参数:

  • food_name_or_id (字符串或整数,必填):食品的名称或ID。
  • amount (string,必填):所需金额(例如,“1”、“2.5”、“1/2”)。
  • unit_name_or_id (字符串或整数,必填):单位的名称或ID(例如,'cup'、'g'、5)。
  • note (string,可选):项目的可选注释。

示例(使用名称):

{
  "food_name_or_id": "Chicken Breast",
  "amount": "500",
  "unit_name_or_id": "g",
  "note": "For stir-fry"
}

示例(使用ID):

{
  "food_name_or_id": 42,
  "amount": "2",
  "unit_name_or_id": 15
}

update_shopping_list_item

更新现有的购物清单项目(例如,选中/取消选中、更改金额)。

参数:

  • item_id (整数,必填):要更新的购物清单项目的ID。
  • amount (字符串,可选):可选新金额。
  • unit_id (整数,可选):可选的新单元ID。
  • checked (布尔值,可选):可选的新检查状态。
  • note (string,可选):可选的新注释。

示例(勾选项目):

{
  "item_id": 101,
  "checked": true
}

remove_shopping_list_item

从购物清单中删除一个项目。

参数:

  • item_id (整数,必填):要删除的购物清单项目的ID。

例子:

{
  "item_id": 102
}

测试

包含一个测试脚本,以帮助验证服务器功能,而不依赖于MCP连接:

# Set your API token (if not already set in the environment)
$env:TANDOOR_API_TOKEN = "your-api-token"

# Run the test script
npm run test

测试脚本提供了一个简单的菜单,用于:

  1. 列出可用工具
  2. 测试创建配方
  3. 测试将食谱添加到膳食计划中

实现注意事项

Tandoor API对制定膳食计划有一些具体要求:

  1. from_date 字段必须包含时间分量(YYYY-MM-DDT00:00:00)
  2. recipe 字段必须是具有以下属性的对象 id, name,以及 keywords 属性
  3. meal_type 字段必须是具有以下属性的对象 idname 属性
  4. servings 字段必须是字符串,而不是数字

这些要求由MCP服务器自动处理。

故障排除

如果遇到MCP服务器问题:

  1. 确保服务器正在运行并显示 [Setup] Tandoor MCP server running on stdio.
  2. 检查您的Tandoor URL和API令牌是否正确
  3. 在运行服务器的终端中查找错误消息
  4. 验证膳食类型名称是否与Tandoor实例中的名称完全匹配
  5. 使用测试脚本验证MCP系统外的服务器功能
  6. 尝试手动运行服务器,并检查控制台输出以获取详细的错误消息

目录标签

目录标签

JavaScript云端部署Docker食谱管理本地部署餐计划购物清单食品管理烹饪助手

接入字段

传输方式(transport,传输协议)

HTTP

鉴权方式(authType,认证方式)

token

运行时(runtime,运行环境)

Node.js

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

HTTPtoken部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

来源信息

继续浏览同类 MCP