Cloudflare MCP Server 使用说明
项目简介
Cloudflare MCP Server 是一个基于 Model Context Protocol (MCP) 构建的服务器,旨在让大型语言模型 (LLM) 客户端能够通过自然语言与 Cloudflare API 进行交互。它允许用户使用 Claude Desktop, VSCode (Cline), Windsurf 或任何 MCP 客户端,以自然语言命令管理 Cloudflare 账户中的各项服务,例如部署 Worker、查询数据库、管理存储桶等。
主要功能点
- KV 存储管理: 列出、读取、写入、删除 KV 命名空间和键值对。
- R2 存储管理: 列出、创建、删除 R2 存储桶,以及上传、下载、删除存储桶中的对象。
- D1 数据库管理: 列出、创建、删除 D1 数据库,并执行 SQL 查询。
- Workers 管理: 列出、获取、创建、更新、删除 Cloudflare Workers 脚本。
- Analytics 分析: 获取域名的 Analytics 数据,包括请求数、带宽、威胁和页面浏览量等。
安装步骤
- 安装 Node.js 和 npm/pnpm: 确保你的系统已安装 Node.js 和 npm 或 pnpm 包管理器。
- 运行初始化命令: 打开终端,执行以下命令初始化 Cloudflare MCP Server:
此命令会自动配置 Cloudflare API 认证信息,并为 Claude, Cline, Windsurf 和 Cursor 等 MCP 客户端配置服务器连接信息。npx @gutmutcode/mcp-server-cloudflare init
服务器配置
MCP 客户端需要配置 MCP 服务器的启动命令和参数才能连接。以下是 Cloudflare MCP Server 的配置信息示例 (JSON 格式):
{ "mcpServers": { "cloudflare": { "serverName": "cloudflare", // 服务器名称,可自定义 "command": "node", // 启动命令,指向 node.js 运行时 "args": [ // 启动参数 "dist/index.js", // 服务器入口文件 "run", // 运行命令 "<Cloudflare Account ID>" // 你的 Cloudflare 账户 ID,初始化时已配置,也可手动替换 ] } } }
配置说明:
- 'serverName': MCP 服务器的名称,客户端用于识别和管理不同的 MCP 服务器连接。可以自定义,例如 "cloudflare"。
- 'command': 运行 MCP 服务器的命令。由于该服务器是 Node.js 应用,所以这里设置为 'node'。
- 'args': 传递给 'command' 的参数数组。
- '"dist/index.js"': 指向编译后的服务器入口文件 'index.js'。
- '"run"': 指定服务器运行 'run' 命令。
- '"<Cloudflare Account ID>"': 需要替换为你实际的 Cloudflare 账户 ID。这个 ID 在初始化过程中已经配置,通常无需手动修改。
MCP 客户端配置示例: 不同的 MCP 客户端配置方式略有不同,但通常都需要填入上述 'command' 和 'args' 信息。请参考你使用的 MCP 客户端的文档进行配置。
基本使用方法
- 启动 MCP 服务器: 在终端中,导航到项目根目录(如果需要手动启动),并执行以下命令启动服务器:
'<Cloudflare Account ID>' 替换为你的 Cloudflare 账户 ID。node dist/index.js run <Cloudflare Account ID> - 在 MCP 客户端中使用: 启动 Claude Desktop, Cline, Windsurf 或 Cursor 等已配置的 MCP 客户端。
- 自然语言交互: 在客户端中,可以使用自然语言命令与 Cloudflare 服务进行交互。例如:
- 'Please deploy me a new Worker with an example durable object.'
- 'Can you tell me about the data in my D1 database named '...'?'
- 'Can you copy all the entries from my KV namespace '...' into my R2 bucket '...'?'
- 列出可用工具: 如果使用非 Claude 等已预配置的客户端,可以发送 'tools/list' 命令获取可用的工具列表。
- 调用工具: 使用 'tools/call' 命令直接调用工具,例如 'tools/call worker_list'。
请参考仓库 README.md 中的 "Usage outside of Claude" 和各个功能模块的示例代码,了解更详细的使用方法和工具参数。
信息
分类
开发者工具