About Cloudflare MCP
Cloudflare MCP is an MCP server published by jeffgolden in the Cloud category: cloudflare MCP Server - Made with Windsurf.
Six months or more without a commit doesn't mean the server is broken, but check the open issues before depending on it in production.
Install
git clone https://github.com/jeffgolden/cloudflare_mcpThis server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.
Ask AI
Ask AI about Cloudflare MCP
Powered by Claude · Grounded in docs
Security checks
Static checks derived from the repository 22 hours ago. Heuristics on the source, not an audit.
- ✓README presentThe repository ships documentation.
- ✓License declaredUsable under a stated license.
- ✓Tests presentA test suite exists in the repository.
- ✓Dependencies pinnedA lockfile pins dependency versions.
- ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
- !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.
README
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
README fetched from the repository 22 hours ago. The original is authoritative.