Daiso MCP Server
使用说明内容(Markdown格式)
项目简介
本仓库实现了一个基于 MCP 的服务器端应用,旨在为 AI 应用提供统一的上下文、数据资源、可扩展工具以及可渲染的 Prompt 模板,支持多种传输与会话管理,以便 LLM 客户端可以通过标准的 JSON-RPC 调用读取资源、执行工具、以及获取 Prompts。
主要功能点
- MCP 服务注册与管理:通过插件化的 ServiceRegistry,支持注册多个服务提供者,统一暴露工具信息给 MCP 客户端。
- 工具注册与执行:服务端注册多种工具,客户端可通过 MCP 调用这些工具并获取标准化响应。
- 资源与数据暴露:内置多种 REST API 端点,用于在 MCP 之外的场景读取数据(作为后备实现)。
- Prompt 定义与渲染:提供用于提示页/文档的 Prompt 定义与渲染能力,方便 LLM 与应用间的交互设计。
- MCP 协议支持:通过 MCP Server 对接,使用 Cloudflare Workers 作为运行时,支持 JSON-RPC 交互。
- 安全与扩展性:基于插件架构,易于拓展新的服务提供者及工具,具备会话管理、能力声明和多传输协议的支持。
安装与运行
- 依赖与构建环境:项目采用 TypeScript、Node.js 环境,运行在 Cloudflare Workers 上。开发时使用 Cloudflare Wrangler 相关流程;本仓库提供本地开发与部署脚手架。
- 本地开发与部署流程(简要):
- 安装依赖并配置环境变量(如 ZYTE_API_KEY 等)。
- 运行本地开发服务器以测试 MCP 服务端能力。
- 部署到 Cloudflare Workers 上以对外提供 MCP 服务接口。
服务器配置(面向 MCP 客户端)
以下配置信息用于 MCP 客户端在连接 MCP 服务器时的参数声明。请将该配置在客户端进行连接时使用。注意:MCP 客户端不需要你在此处实现服务器代码,仅需获取服务器名称、启动方式等信息以建立连接。
- serverName: multi-service-mcp
- command: npm
- args: ["run", "dev"] 说明:在本地开发阶段,使用 npm run dev 启动服务器以进行调试与测试;正式部署时,通常通过 Cloudflare Workers 的发布流程实现对外提供服务。
注释与说明:
- serverName 对应代码中的服务器标识,便于客户端对接时的身份识别。
- command 与 args 给出了在本地或测试环境中如何启动服务器的示例,实际生产环境请按云端部署方式启动。
- MCP 客户端通常会通过服务器的 mcp 端点进行通信,具体端点与传输方式在服务端实现中已定义。
基本使用方法
- 启动与连接:将配置好的 MCP 服务器信息用于客户端工具(如 OpenAI/ Claude 等)进行连接,发送资源读取、工具调用、Prompts 获取等请求。
- 数据与工具:客户端可以通过 MCP 提供的工具和资源进行上下文查询、数据获取与处理,以实现更强的对话能力与功能集成。
- 安全与拓展:如需扩展新的服务,请实现新的 ServiceProvider,并让 Registry 注册到 MCP 服务器,服务器将自动将新工具暴露给 MCP 客户端。
运行时与可扩展性
- 运行时环境:Cloudflare Workers
- 编程语言与框架:TypeScript、Hono、MCP 协议实现
- 模块化设计:ServiceRegistry + ServiceProvider 插件化扩展,便于接入更多商户/服务
- 传输与协议:MCP 协议,服务器端支持多种传输(如 SSE),并通过路由暴露 MCP 接口
备注
- 本仓库在实现完整的 MCP 服务器能力基础上,还提供了大量的 API、OpenAPI、Prompt 页面等辅助能力,便于开发者在 MCP 生态中快速对接和扩展。
- 若需要进一步的部署与运行细节,请参阅仓库的 README 与相关脚本说明。