MCP Cloudflare DNS

Quản lý các vùng DNS, bản ghi, xóa bộ nhớ đệm và quy tắc trang Cloudflare từ bất kỳ trợ lý AI tương thích MCP nào.

GitHubDùng thử MCP nàyĐược tài trợ

Tài liệu

mcp-cloudflare-dns

Cloudflare DNS MCP server for operators who need zone, record, cache, and page-rule control from an MCP client without opening the Cloudflare dashboard for every change.

Release posture: beta package, version 0.1.1 from pyproject.toml.

Choose your path

You are...Start hereThen
Installing the server in Claude/Codex/Cursordocs/start-here.mdQuick start below
Verifying what the server can touchAvailable toolsdocs/architecture.md
Auditing packaging or release metadatapyproject.tomlserver.json

Architecture

flowchart TD
  U[AI operator] --> C[MCP client]
  C --> S[FastMCP server]
  E[CF_API_TOKEN] --> S
  S --> T[Tool handlers]
  T --> R[Retry wrapper]
  R --> A[Cloudflare API]
  A --> R --> T --> C

Request flow

flowchart TD
  Q[Operator asks for a DNS change] --> H[Selected MCP tool]
  H --> I[Load token and build client]
  I --> J{Cloudflare call succeeds?}
  J -- yes --> K[Return normalized JSON result]
  J -- retryable --> L[Backoff and retry]
  L --> J
  J -- no --> M[Return error payload]

Quick start

  1. Install the package.
python -m pip install mcp-cloudflare-dns
  1. Export a token with DNS permissions.
export CF_API_TOKEN="your-cloudflare-api-token"
  1. Register it in your MCP client.
{
  "mcpServers": {
    "cloudflare-dns": {
      "command": "uvx",
      "args": ["mcp-cloudflare-dns"],
      "env": {
        "CF_API_TOKEN": "your-cloudflare-api-token"
      }
    }
  }
}

Available tools

Tool groupToolsPurpose
Zone inventorylist_zones, get_zone, get_zone_settingsInspect available zones and key settings
DNS recordslist_dns_records, get_dns_record, create_dns_record, update_dns_record, delete_dns_recordRead and mutate records
Edge actionspurge_cache, list_page_rulesInvalidate cached content and inspect page rules

delete_dns_record and full-cache actions stay gated behind the destructive env flags described in docs/start-here.md.

Runtime proof

ClaimProof
Package entry point is stablemcp-cloudflare-dns = "cf.server:main" in pyproject.toml
Server is MCP-specific, not a generic CLIFastMCP("mcp-cloudflare-dns") in cf/server.py
Cloudflare failures are retried_call() in cf/server.py
Release artifacts are builtdist/ wheel and tarball are checked into the repo

Repo map

PathPurpose
cf/server.pyFastMCP tool surface, env loading, retry wrapper
pyproject.tomlPackage metadata, version, script entry point
server.jsonRegistry-facing metadata for MCP discovery
docs/start-here.mdSetup, env, validation, common failures
docs/architecture.mdComponent map and request lifecycle

Validation

CheckCommand
Import compilespython -m compileall cf
Package buildspython -m build
README links stay localrg '\\]\\(([^)]+\\.md)\\)' README.md docs/

License

MIT