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 继续对话上下文处理。
- 启动与连接