项目简介
该项目 'cloudflare-remote-mcp-server' 是一个基于 Cloudflare Workers 构建的远程 MCP (Model Context Protocol) 服务器的示例实现。它展示了如何快速搭建一个运行在 Cloudflare 边缘计算平台上的 MCP 服务器,并集成了 OAuth 登录认证,为 LLM 客户端提供安全的上下文服务。
主要功能点
- 资源管理 (Resources): 虽然示例中没有显式展示资源管理功能,但 Cloudflare Workers 平台本身提供了 KV 存储等能力,可以用于扩展实现资源托管和数据访问。
- 工具注册与执行 (Tools): 实现了简单的 'add' 工具,演示了 MCP 服务器如何注册工具并供 LLM 客户端调用执行。
- Prompt 模板 (Prompts): 示例中未直接涉及 Prompt 模板功能,但框架具备扩展 Prompt 管理能力的基础。
- OAuth 身份验证: 集成了 OAuth 登录认证,为 MCP 服务器提供基本的安全访问控制。
- SSE 传输协议: 默认使用 SSE (Server-Sent Events) 作为 MCP 客户端与服务器之间的通信协议。
- Cloudflare Workers 部署: 易于部署到 Cloudflare Workers 平台,利用 Cloudflare 的全球边缘网络提供服务。
安装步骤
-
克隆仓库
git clone https://github.com/cloudflare/ai.git cd ai -
安装依赖
npm install -
本地开发运行
npx nx dev remote-mcp-server运行成功后,可在浏览器中打开 'http://localhost:8787/'。
-
部署到 Cloudflare
- 创建 KV 命名空间:
按照提示将 KV 命名空间 ID 添加到 'wrangler.jsonc' 文件中。npx wrangler kv namespace create OAUTH_KV - 部署应用:
部署成功后,会得到一个 'workers.dev' 的 URL,例如 'your-worker-name.account-name.workers.dev'。npm run deploy
- 创建 KV 命名空间:
服务器配置
MCP 客户端(如 Claude Desktop)需要配置 MCP 服务器的连接信息。以下是连接到 本地运行 的 MCP 服务器的配置示例 (JSON 格式):
{ "mcpServers": { "math": { // server name,可以自定义 "command": "npx", // 启动命令,这里使用 npx 运行 mcp-remote 代理客户端 "args": [ "mcp-remote", // 代理客户端名称 "http://localhost:8787/sse" // MCP 服务器 SSE 端点 URL,本地开发时使用 localhost ] } } }
以下是连接到 远程部署 的 MCP 服务器的配置示例 (JSON 格式):
{ "mcpServers": { "math": { // server name,可以自定义 "command": "npx", // 启动命令,这里使用 npx 运行 mcp-remote 代理客户端 "args": [ "mcp-remote", // 代理客户端名称 "https://your-worker-name.account-name.workers.dev/sse" // MCP 服务器 SSE 端点 URL,部署后使用 workers.dev URL ] } } }
参数注释:
- 'server name': MCP 服务器的名称,可以自定义,用于在客户端中标识不同的 MCP 服务器连接。
- 'command': 启动 MCP 客户端代理的命令,通常为 'npx'。'mcp-remote' 是一个通用的 MCP 远程客户端代理工具,用于桥接本地 MCP 客户端和远程 MCP 服务器。
- 'args': 传递给 'mcp-remote' 客户端代理的参数,其中最重要的是 MCP 服务器的 SSE 端点 URL。
基本使用方法
- 启动 MCP Inspector 或配置 Claude Desktop: 按照仓库 README 文档中的指引,启动 MCP Inspector 或配置 Claude Desktop 连接到本地或远程部署的 MCP 服务器。
- OAuth 登录: 首次连接时,会跳转到 OAuth 登录页面,输入任意邮箱和密码即可登录(示例项目使用 Mock 登录)。
- 调用工具: 登录成功后,在 MCP Inspector 或 Claude Desktop 中,可以使用注册的 'add' 工具。例如,在 Claude 中,可以使用类似 '使用 math 工具计算 23 加 19' 的 Prompt 来调用 'add' 工具。
调试
如果遇到问题,可以参考 README 文档中的 "Debugging" 部分,尝试重启 Claude、清除本地认证文件或使用 'npx mcp-remote' 命令直接连接 MCP 服务器进行调试。
信息
分类
开发者工具