关键词
使用说明(Markdown格式)
项目简介
- 该项目实现一个基于 Model Context Protocol (MCP) 的服务器端后端,包装并暴露对 Tandoor 食谱管理系统的访问能力,供 AI 助手(如大语言模型)查询食谱、关键词、食材、购物清单等资源,以及执行相关工具操作。
主要功能点
- 提供六大工具接口,允许 LLM 通过 MCP 进行以下操作:
- list-recipes:按名称、关键词、食材等条件检索食谱
- list-keywords:列出食谱关联的关键词/标签
- list-foods:列出食材/食品条目,支持分页和筛选
- add-shopping-list-item:向购物清单添加条目
- add-recipe-to-meal-plan:将食谱加入餐计划,并可自动加入购物清单
- list-meal-types:列出可用的餐型类型
- get-recipe-details:获取单个食谱的详细信息(步骤、原料等)
- 传输模式:
- STDIO 模式:与 Claude Desktop 等本地工具通过标准输入/输出进行通信,采用静态化的日志行为以避免干扰 MCP 协议
- HTTP 模式(无状态):通过 /mcp 路径的 HTTP 请求与 MCP 客户端交互,支持 JSON-RPC
- 会话与安全:
- 使用环境变量 TANDOOR_API_URL 与 TANDOOR_API_TOKEN 访问 Tandoor API,所有请求均经过服务器端封装
- 具备基础的错误处理与日志记录能力,便于调试与排错
- 部署与配置:
- 提供基于 Bun 的构建与启动流程,包含本地开发与生产模式的执行命令
- 服务端对外暴露的端点与工具均通过 MCP 注册,便于集成到任意支持 MCP 的客户端
安装步骤(简化版)
- 安装依赖并构建
- 克隆仓库,安装依赖
- bun install
- bun run build
- 配置所需环境变量
- TANDOOR_API_URL:Tandoor 实例的 API URL
- TANDOOR_API_TOKEN:访问 Tandoor API 的令牌
- 运行模式
- 以 STDIO 模式运行:bun run start --stdio
- 以 HTTP 模式运行:bun run watch(开发/热重载)或 bun run start(生产构建后)
- 验证
- 在 Claude Desktop 等客户端中使用提供的配置,将服务器以 STDIO 或 HTTP 方式接入 MCP
服务器配置(MCP 客户端需要的启动命令信息,供参考配置使用,不在客户端中执行) { "server": "tandoor-mcp", "command": "bun", "args": ["run", "--cwd=/path/to/tandoor-mcp", "start", "--stdio"] } 注释:
- server: MCP 客户端将识别的服务器名称,建议保持与仓库名称一致,便于管理
- command: 启动服务器的命令,这里使用 bun
- args: 启动参数,cwd 指向本仓库的根目录,start 为启动脚本,--stdio 指定以 STDIO 模式工作(可以与 Claude Desktop 的配置配合使用)
基本使用方法
- 启动方式根据需求选择 STDIO 或 HTTP:
- STDIO:将服务器以 STDIO 方式运行,适用于本地 Claude Desktop 集成
- HTTP:以 HTTP 服务形式运行,暴露 /mcp 端点供网络客户端调用
- 客户端接入要点
- 客户端需要提供服务器名称、启动命令与参数(如上面的配置示例),以便正确建立连接
- MCP 请求将通过服务器处理,服务器返回 JSON-RPC 格式的响应或通知
- 调试与排错
- 确认 TANDOOR_API_URL 与 TANDOOR_API_TOKEN 已正确设置
- 在开发模式中可通过 bun run inspector 进行 MCP 调试
关键词 Model Context Protocol, Tandoor integration, AI context server, recipe management API, shopping list automation
category_id 6
信息
分类
AI与计算