这是一个轻量级的模型控制协议(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工具。
示例:
/**
* 在区域中创建一个新的DNS记录。
* @param zoneId {string} 要创建记录的区域ID。
* @param name {string} DNS记录的名称。
* @param content {string} DNS记录的内容。
* @param type {string} DNS记录的类型(CNAME、A、TXT或MX)。
* @param comment {string} DNS记录的可选注释。
* @param proxied {boolean} 是否通过Cloudflare代理该记录的可选项。
* @return {object} 创建的DNS记录。
*/
createDNSRecord(zoneId: string, name: string, content: string, type: string, comment?: string, proxied?: boolean) {
// 实现
}
JSDoc注释非常重要:
@param标签定义工具的参数及其类型和描述@return标签指定返回值及其类型