使用说明(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与计算