这是一个轻量级的模型控制协议(MCP)服务器,使用 create-mcp 初始化,并部署在 Cloudflare Workers 上。
此 MCP 服务器允许代理(例如 Cursor)与 Cloudflare REST API 进行交互。
它仍在开发中,我将在需要时添加更多工具。
查看 src/index.ts 获取当前工具列表。类中的每个方法都是一个 MCP 工具。
bun create mcp --clone https://github.com/zueai/cloudflare-api-mcp

打开 Cursor 设置 -> MCP -> 添加新的 MCP 服务器
并粘贴复制到剪贴板的命令。
将您的 Cloudflare API 密钥和电子邮件上传到您的 worker 秘密:
bunx wrangler secret put CLOUDFLARE_API_KEY bunx wrangler secret put CLOUDFLARE_API_EMAIL
将您的 Cloudflare API 密钥和电子邮件添加到 .dev.vars
文件中:
CLOUDFLARE_API_KEY=<your-cloudflare-api-key> CLOUDFLARE_API_EMAIL=<your-cloudflare-api-email>
bun run deploy
要创建新的 MCP 工具,请向 src/index.ts
中的 MyWorker
类添加方法。每个函数将自动成为您的代理可以使用的 MCP 工具。
示例:
/**
* Create a new DNS record in a zone.
* @param zoneId {string} The ID of the zone to create the record in.
* @param name {string} The name of the DNS record.
* @param content {string} The content of the DNS record.
* @param type {string} The type of DNS record (CNAME, A, TXT, or MX).
* @param comment {string} Optional comment for the DNS record.
* @param proxied {boolean} Optional whether to proxy the record through Cloudflare.
* @return {object} The created DNS record.
*/
createDNSRecord(zoneId: string, name: string, content: string, type: string, comment?: string, proxied?: boolean) {
// Implementation
}

JSDoc 注释很重要:
@param
标签定义工具的参数及其类型和描述@return
标签指定返回值及其类型