Cloudflare 域名管理工具

用于管理Cloudflare域名的服务器和CLI工具,支持DNS记录、SSL证书和区域操作。

  • by thangho98
  • JavaScript
  • 本地部署
  • 更新于
在 GitHub 查看 thangho98/cloudflare-mcp

使用说明

Cloudflare MCP服务器和CLI

用于管理Cloudflare域的MCP服务器和CLI-DNS记录、SSL证书和区域操作。

两个可用接口:

  • MCP 服务器 -适用于Claude Desktop、Claude Code和其他MCP兼容客户端
  • 命令行界面 -适用于OpenClaw、shell脚本和直接终端使用

特性

区域/域管理

  • list_zones -列出您帐户中的所有域
  • get_zone -获取特定区域的详细信息

DNS记录

  • list_dns_records -列出区域的DNS记录
  • get_dns_record -获取特定记录的详细信息
  • create_dns_record -创建新的DNS记录(A、AAAA、CNAME、MX、TXT、NS、SRV、CAA、PTR)
  • update_dns_record -更新现有DNS记录
  • delete_dns_record -删除DNS记录

SSL/TLS

  • get_ssl_universal_settings -获取通用SSL设置(启用状态、证书颁发机构)
  • update_ssl_universal_settings -启用或禁用通用SSL
  • list_ssl_certificates -列出SSL证书包
  • get_ssl_verification -检查SSL验证状态

分析和缓存

  • get_zone_analytics -获取区域的分析数据
  • purge_cache -清除缓存内容(全部、按URL或按标签)

安装

npm install
npm run build

配置

1.从Cloudflare获取API代币

  1. 登录到 Cloudflare 控制面板
  2. 首选 我的资料 → API令牌
  3. 点击 创建令牌
  4. 创建具有以下权限的自定义令牌:
    • Zone → 区域:阅读
    • Zone → DNS:编辑
    • Zone → SSL和证书:编辑
    • Zone → 分析:阅读
    • Zone → 缓存清除:清除

2.添加到克劳德桌面

添加 ~/Library/Application Support/Claude/claude_desktop_config.json (macOS)或 %APPDATA%\Claude\claude_desktop_config.json (Windows):

{
  "mcpServers": {
    "cloudflare": {
      "command": "node",
      "args": ["/path/to/cloudflare-mcp/dist/index.js"],
      "env": {
        "CLOUDFLARE_API_TOKEN": "your-api-token-here"
      }
    }
  }
}

3.添加到克劳德代码

添加 ~/.claude/settings.json:

{
  "mcpServers": {
    "cloudflare": {
      "command": "node",
      "args": ["/path/to/cloudflare-mcp/dist/index.js"],
      "env": {
        "CLOUDFLARE_API_TOKEN": "your-api-token-here"
      }
    }
  }
}

使用示例

列出所有域

list_zones

创建A记录

create_dns_record zone_id="xxx" type="A" name="www" content="1.2.3.4" proxied=true

创建CNAME记录

create_dns_record zone_id="xxx" type="CNAME" name="blog" content="example.com" proxied=true

创建MX记录

create_dns_record zone_id="xxx" type="MX" name="@" content="mail.example.com" priority=10

更新DNS记录

update_dns_record zone_id="xxx" record_id="yyy" content="5.6.7.8"

删除DNS记录

delete_dns_record zone_id="xxx" record_id="yyy"

检查SSL状态

get_ssl_universal_settings zone_id="xxx"
list_ssl_certificates zone_id="xxx"

清除所有缓存

purge_cache zone_id="xxx" purge_everything=true

清除特定URL

purge_cache zone_id="xxx" files=["https://example.com/style.css", "https://example.com/script.js"]

CLI使用情况

CLI提供与MCP服务器相同的功能,但可以直接在终端中使用或通过OpenClaw使用。

全局安装CLI

npm install -g .
# or
npm link

设置API令牌

export CLOUDFLARE_API_TOKEN="your-api-token-here"

命令

# Zones
cloudflare-cli zones list
cloudflare-cli zones list --name example.com
cloudflare-cli zones get <zone-id>

# DNS
cloudflare-cli dns list <zone-id>
cloudflare-cli dns list <zone-id> --type A
cloudflare-cli dns create <zone-id> -t A -n www -c 192.168.1.1 --proxied
cloudflare-cli dns create <zone-id> -t CNAME -n blog -c example.com --proxied
cloudflare-cli dns create <zone-id> -t MX -n @ -c mail.example.com --priority 10
cloudflare-cli dns update <zone-id> <record-id> -c 192.168.1.2
cloudflare-cli dns delete <zone-id> <record-id>

# SSL
cloudflare-cli ssl settings <zone-id>
cloudflare-cli ssl enable <zone-id>
cloudflare-cli ssl disable <zone-id>
cloudflare-cli ssl certificates <zone-id>
cloudflare-cli ssl verification <zone-id>

# Cache
cloudflare-cli cache purge <zone-id> --all
cloudflare-cli cache purge <zone-id> --files https://example.com/page1 https://example.com/page2

# Analytics
cloudflare-cli analytics dashboard <zone-id> --since -1d --until now
cloudflare-cli analytics dashboard <zone-id> --since -7d --until now

所有命令都输出JSON以便于解析。


OpenClaw设置

对于不支持MCP的OpenClaw机器人,请使用所提供技能的CLI。

1.全局安装CLI

cd /path/to/cloudflare-mcp
npm install
npm run build
npm link  # Makes cloudflare-cli available globally

2.将技能复制到OpenClaw

# Copy to managed skills (available for all agents)
cp -r skill ~/.openclaw/skills/cloudflare

# Or copy to workspace skills (specific project)
cp -r skill /path/to/your/workspace/skills/cloudflare

3.配置OpenClaw

添加 ~/.openclaw/openclaw.json:

{
  "skills": {
    "entries": {
      "cloudflare": {
        "enabled": true,
        "env": {
          "CLOUDFLARE_API_TOKEN": "your-api-token-here"
        }
      }
    }
  }
}

4.验证安装

# Check if CLI is available
which cloudflare-cli
cloudflare-cli --version

# Test with your token
export CLOUDFLARE_API_TOKEN="your-token"
cloudflare-cli zones list

现在,OpenClaw机器人可以使用 /cloudflare 或调用 cloudflare-cli 命令直接。


发展

# Build
npm run build

# Watch mode
npm run dev

# Test with MCP Inspector
npm run inspector

# Test CLI
node dist/cli.js --help

许可证

麻省理工学院