Cloudflare MCP
Cloudflare MCP Server - Made with Windsurf
Installation
npx cloudflare-mcpAsk AI about Cloudflare MCP
Powered by Claude Β· Grounded in docs
I know everything about Cloudflare MCP. Ask me about installation, configuration, usage, or troubleshooting.
0/500
Reviews
Documentation
Cloudflare MCP Server
Modern Model-Context-Protocol (MCP) server that exposes Cloudflare DNS, security, redirects and zone-settings functionality as structured tools which any compliant AI client (e.g. Claude Desktop) can invoke.
β¨ Key Features
- Rich Tool Catalog β 16 read & write operations covering DNS records, WAF rules, page-rule redirects, cache purge, zone settings and more.
- Plug-and-Play with Claude Desktop β ships with STDIO transport so Claude immediately lists & calls tools; no extra adaptor required.
- Type-Safe β written in TypeScript and powered by
@modelcontextprotocol/sdk, with zod schemas for every toolβs params & return value. - Non-destructive by Default β destructive certificate-ordering functions are disabled out-of-the-box to prevent accidental cost.
- Script Library & Tests β one-shot scripts for manual ops plus Jest integration/unit tests.
π Quick Start
# 1. Clone & install
npm install
# 2. Configure credentials
cp config/.env.example .env
$EDITOR .env # put your CLOUDFLARE_API_TOKEN
# 3. Build & run the server (stdio)
npm run build
node dist/index.js # Claude Desktop will auto-detect
Need a sandbox? Cloudflare Workers Free Plan lets you create test zones.
π οΈ Tool Catalog
| Category | Tool Name | Description |
|---|---|---|
| General | echo | Round-trip text for connectivity testing |
| Zones | list_zones | Enumerate zones the token can access |
| Zones | get_zone_settings | Return full settings object |
| Zones | list_zone_settings | Short settings summary |
| DNS | list_dns_records | Read all DNS RRsets |
| DNS | create_dns_record* | Add a record |
| DNS | update_dns_record* | Modify record |
| DNS | delete_dns_record* | Remove record |
| Security | list_waf_rules | Read firewall rules |
| Security | create_security_rule* | Add firewall rule |
| Security | update_security_rule* | Edit firewall rule |
| Security | delete_security_rule* | Delete firewall rule |
| Redirect | list_page_rules | List redirects/page-rules |
| Redirect | create_redirect* | Create redirect |
| Redirect | delete_page_rule* | Delete redirect |
| Cache | purge_cache* | Purge URL or everything |
* Destructive operations β use with care.
SSL cert ordering/upload functions are intentionally not registered. Enable them by removing the filter in src/index.ts if required.
π§βπ» Development
# Watch-mode compile
npm run dev
# Run the full test suite
npm test
# Lint
npm run lint
Handy demo scripts live under scripts/ (e.g. scripts/list-dns-demo.ts). All accept a --zone flag.
ποΈ Architecture
src/index.tsβ entrypoint; merges tool maps and registers them withMcpServer.src/tools/β individual tool modules, each exporting{ tools, description }.src/cloudflare-client.tsβ thin wrapper around axios + CF API base URL.tests/β Jest tests (unit + integration).
The server communicates over STDIO using JSON-RPC 2.0 as defined by the MCP SDK. See docs/API.md.
π€ Contributing
PRs & issues are welcome! Please read REFERENCE.md for coding conventions and style guidelines.
- Fork β feature branch β PR.
- Ensure
npm testpasses. - Describe the tool behaviour or bug clearly.
π License
MIT Β© 2025 Jeff Golden
Made with Windsurf
