Cloudflare API CLI工具

Cloudflare API CLI工具是一个支持加密多令牌存储、交互式TUI界面和MCP服务器集成的命令行工具,适用于AI工具集成和Cloudflare资源管理。

  • by SevensRequiem
  • Go
  • 本地部署
  • 更新于
在 GitHub 查看 SevensRequiem/cf-cli

使用说明

cf cli

Cloudflare API CLI,具有加密的多令牌存储、交互式TUI和用于AI工具集成的MCP服务器。

安装

go install github.com/SevensRequiem/cf-cli/cmd/cf-cli@latest

或者从源代码构建:

git clone https://github.com/SevensRequiem/cf-cli.git
cd cf-cli
make build

快速开始

# Add your first API token
cf-cli token add main --api-token=your-token-here --default

# List your zones
cf-cli zone list

# List DNS records
cf-cli dns list -z example.com

# Add a DNS record
cf-cli dns add -z example.com --type=A --name=sub --content=1.2.3.4 --proxied

# JSON output (for piping)
cf-cli dns list -z example.com --json | jq '.[] | .name'

# Launch interactive TUI
cf-cli tui

许可证管理

令牌存储在本地SQLite数据库中 $XDG_DATA_HOME/cf-cli/tokens.db,用AES-256-GCM加密。密钥派生使用argon2d,默认密码为空。

# Add tokens with zone/scope metadata
cf-cli token add prod --api-token=xxx --zones=zone-id-1,zone-id-2 --scopes=dns
cf-cli token add staging --api-token=yyy --default

# List stored tokens (metadata only, never prints raw tokens)
cf-cli token list

# Set a different default
cf-cli token default prod

# Set an encryption password
cf-cli token password

# Remove a token
cf-cli token remove staging

令牌解析

当命令需要API令牌时,cf-cli检查(按顺序):

  1. --token 标志(原始令牌,一次性使用)
  2. CF_API_TOKEN 环境变量
  3. --profile 标志(来自商店的命名令牌)
  4. --zone 标志(来自商店的区域匹配令牌)
  5. 默认令牌(标记为 is_default)

命令

命令 子命令
token add, list, remove, default, password
dns list, add, update, delete
zone list, info
cache purge
ssl get, update
firewall list, add, delete
rules list, add, delete
speed get, update
settings get, update
mcp serve
tui (互动)

全球旗帜

--json             Force JSON output
--zone, -z         Zone name or ID
--profile, -p      Named token profile
--token            Raw API token override
--verbose, -v      Debug logging to stderr

MCP服务器

作为人工智能助手的MCP服务器运行(stdio传输):

cf-cli mcp serve

显示工具: dns_list, dns_add, dns_update, dns_delete, zone_list, cache_purge, firewall_list, firewall_add.

Claude桌面配置

{
  "mcpServers": {
    "cf-cli": {
      "command": "cf-cli",
      "args": ["mcp", "serve"]
    }
  }
}

输出模式

  • TTY+子命令 -人类可读的表格
  • --json 或管道标准输出 -JSON输出
  • cf-cli tui -交互式终端用户界面
  • cf-cli mcp serve -基于stdio的MCP协议

许可证

麻省理工学院