Cloudflare Agents — MCP 服务器实现集合
使用说明
- 项目简介
- 该仓库内含多处基于 Cloudflare Workers / Durable Objects 的实现,其中包含用于 MCP(Model Context Protocol)服务器的示例与集成代码。MCP 服务器核心职责是通过标准化的上下文服务向 LLM 客户端提供资源管理、工具注册与执行、以及提示模板渲染等能力,并通过 JSON-RPC 与客户端交换请求与响应。
- 主要功能点
- 资源管理(Resources):托管与管理可数据访问的资源,例如 UI 组件、数据源等。
- 工具注册与执行(Tools):注册可被 LLM 调用的外部功能,并实现执行逻辑。
- 提示模板(Prompts):定义与渲染用于 LLM 交互的提示模板,支持自定义交互模式。
- JSON-RPC 通信:服务器端接收客户端请求并返回 JSON-RPC 响应,支持会话管理、能力声明。
- 多传输协议:示例中提供对 Stdio、SSE、WebSocket 等传输场景的适配思路,以实现实时上下文服务。
- 安装步骤
- 安装依赖:在仓库根目录执行 npm install,或使用工作区安装命令安装所有包。
- 构建与运行:根据具体示例的说明,使用对应的启动流程(如 wrangler 开发/部署、或在本地 Node/Vite/云端环境下部署 Worker)。
- 验证 MCP 端点:启动后通过 MCP 客户端对接 /mcp 端点,执行资源读取、工具调用、以及模板获取等操作,观察正确的 JSON-RPC 请求与响应。
- 服务器配置(给 MCP 客户端的启动配置,JSON 格式)
说明:MCP 客户端需要指向运行中的 MCP 服务器端点,该配置不需要包含客户端代码。以下为示例配置字段含义,实际值请替换为你的环境信息:
{
"serverName": "Chess", // MCP 服务器在仓库中一个明确的示例服务器名称(若使用其他示例,请对应修改)
"command": "wrangler dev", // 本地开发模式启动命令(基于 Cloudflare Workers 的本地开发)
"args": [
"--watch",
"--local" // 根据实际部署方式调整参数
],
"endpoint": "http(s)://<your-mcp-endpoint>/mcp" // MCP 服务器的实际端点地址,客户端将通过该地址进行 RPC 调用
}
说明注释:
- serverName 对应仓库中示例服务器的名称,例如 Chess 或 Pizzaz。
- command 与 args 给出本地开发或部署时的启动方式,帮助 MCP 客户端理解如何启动并连接到服务器。
- endpoint 指向实际可访问的 JSON-RPC 入口地址,MCP 客户端据此发起请求。
- 基本使用方法
- 在开发阶段,先启动 MCP 服务器(参考上述启动配置和仓库示例),确保 /mcp 端点可访问。
- 使用 MCP 客户端向服务器发送标准 JSON-RPC 请求以读取资源、执行工具、获取提示模板等,并接收 JSON-RPC 响应。
- 如需调试,可通过日志查看路由、资源与工具注册流程,以及会话管理与状态变化。