SuperAPI AI 工具集

cloudflare-mcp-server

部署与运维

查看项目

更新于 10-15 14:41

技能介绍

用途

本技能用于在 Cloudflare Workers 上构建和部署 Model Context Protocol(MCP)服务器,使用 TypeScript。资料称 Cloudflare 是唯一提供官方远程 MCP 支持的平台。该技能的目标是帮助开发者避开 24 种常见的 MCP + Cloudflare 错误,尤其是 URL 路径不匹配这一首要失败原因。

主要能力

  • 基于官方模板快速创建 MCP 服务器项目,模板覆盖无认证、GitHub OAuth、Google OAuth、Auth0/AuthKit 企业 SSO、Bearer 自定义认证等场景。
  • 支持两种传输方式:SSE(Server-Sent Events,兼容性广)与 Streamable HTTP(2025 标准,单端点,推荐),也可同时支持两者。
  • 支持 OAuth 认证(通过 @cloudflare/workers-oauth-provider),并强调 PKCE 绕过漏洞的修复版本要求。
  • 通过 Durable Objects(McpAgent)实现有状态会话,提供存储、缓存、限流等模式。
  • 涵盖 2025 年新增能力:MCP Elicitation(执行中请求用户输入)、Code Mode(由 schema 自动生成 TypeScript API)、MCPClientManager、任务队列与邮件集成。
  • 提供条件化工具注册(按用户角色/付费层级动态注册工具)。

使用方式

快速开始(资料给出的命令):

npm create cloudflare@latest -- my-mcp-server \
  --template=cloudflare/ai/demos/remote-mcp-authless
cd my-mcp-server && npm install && npm run dev

部署流程:

npx wrangler deploy
# 输出 URL:https://my-mcp.YOUR_ACCOUNT.workers.dev

部署后测试(资料称可预防 80% 的错误):

curl https://my-mcp.YOUR_ACCOUNT.workers.dev/sse
# 预期返回:{"name":"My MCP Server","version":"1.0.0","transports":["/sse","/mcp"]}

客户端配置(~/.config/claude/claude_desktop_config.json):

{
  "mcpServers": {
    "my-mcp": {
      "url": "https://my-mcp.YOUR_ACCOUNT.workers.dev/sse"
    }
  }
}

配置后需重启 Claude Desktop(配置仅在启动时加载)。

适用场景

  • 为 AI 客户端(如 Claude.ai)搭建远程 MCP 服务器。
  • 需要 OAuth 认证、按用户隔离数据、按角色开放工具的服务。
  • 需要会话状态、缓存、限流等有状态能力的 MCP 服务。
  • 需要同时兼容 SSE 与 Streamable HTTP 客户端的场景。

限制与注意事项

  • 资料强调 URL 路径必须与客户端配置完全一致,serveSSE("/sse") 对应客户端 URL 需带 /sse,serveSSE("/") 则不带。
  • 工具返回值必须为 { content: [{ type: "text", text: "..." }] } 格式,返回原始字符串或普通对象会导致客户端解析错误。
  • OAuth 提供库存在 PKCE 绕过漏洞(CVE: GHSA-qgp8-v765-qxx9),需使用 @cloudflare/workers-oauth-provider@0.0.5 或更高版本。
  • 使用 Durable Objects 时首次部署必须配置 migrations。
  • McpAgent 内部 Worker 与 Durable Object 之间始终使用 WebSocket(由 PartyServer 要求),对客户端不可见。
  • 资料中提及的版本号、免费额度、安全等级等信息以原文为准,具体收费与平台政策暂未提供完整细节。