Daiso MCP Server - 基于模型上下文协议的多服务后端

使用说明

  • 项目简介
    • Daiso MCP Server 是一个基于 Model Context Protocol (MCP) 的后端服务框架,运行于 Cloudflare Workers。它通过插件化的服务提供者(如 Daiso、CU、CGV、Megabox、Olive Young)来托管资源、注册工具、渲染提示模板,并与 LLM 客户端通过 JSON-RPC 进行上下文服务交互。
  • 主要功能点
    • 资源与工具管理:集中管理各服务的资源与工具定义,并在 MCP 服务器中注册执行暴露给 LLM 客户端使用。
    • 工具执行:LLM 客户端调用工具,服务器返回统一的 McpToolResponse 形式(文本内容块)。
    • Prompt 与渲染:提供用于代理对话的 Prompt 模板与渲染能力,便于 LLM 在上下文中获取固定的交互模式。
    • 会话与传输:实现会话化 MCP 通信,支持多种传输,默认基于 SSE 的传输实现,且具备会话生命周期管理(initialize、session-id 等)。
    • REST 代理:对于暂时不支持 MCP 的服务,提供 GET 基础 REST API 代理,方便测试与快速接入。
    • 文档与示例:内置健康端点、Prompt 页、OpenAPI、隐私页等,便于集成与演示。
  • 安装步骤
    • 克隆或下载源码后,在项目根目录执行以下步骤:
      • 安装依赖
        • 使用 Node.js 环境,运行依赖安装命令。
      • 配置环境变量
        • 复制示例环境变量文件 (.env.example) 为 .env,并填写关键值,例如 ZYTE_API_KEY。
      • 质量检查与本地开发
        • 运行质量检查、格式化、类型检查和测试;启动本地开发服务器用于调试。
      • 部署
        • 使用 Cloudflare Workers 部署方案进行上线。
  • 服务器配置(MCP 客户端需要的示例信息)
    • 服务器名称:multi-service-mcp(在 MCP 服务端中注册的名称,用于区分不同 MCP 服务集合)
    • 启动命令与参数(示例性描述,具体请依据部署环境调整)
      • serverName: multi-service-mcp
      • command: wrangler dev
      • args: ["--env", "production"](示例,实际环境可改为 cloudflare 的上线命令)
    • 备注
      • 该配置仅为面向 MCP 客户端的示意,用于说明如何在客户端连接一个 MCP 服务端。实际部署运行在 Cloudflare Workers,该配置在客户端连接阶段用于描述服务器信息、传输方式等。客户端通常需要的仅是 MCP 服务器的地址、传输类型(如 SSE)等信息。
  • 基本使用方法
    • 启动与连接
      • 在已部署的 MCP 服务端地址(Cloudflare Workers 提供的 URL)上,LLM 应用通过 MCP 协议发起初始化请求,建立会话后通过 JSON-RPC 调用工具、获取资源与渲染 Prompt。
    • 客户端与服务器交互模式
      • 客户端通过 JSON-RPC 进行初始化、后续请求与订阅(如事件流传输)。
    • 典型工作流
      • 初始化会话 -> 客户端请求工具元数据 -> 客户端调用工具完成任务 -> 服务器返回工具执行结果 -> LLM 继续对话上下文处理。

服务器信息