JUHE API Marketplace
jeffgolden avatar
MCP Server

Cloudflare MCP Server

Exposes Cloudflare DNS, security, redirects and zone-settings functionality as structured tools that AI assistants like Claude Desktop can invoke directly.

0
GitHub Stars
8/20/2025
Last Updated
No Configuration
Please check the documentation below.

README 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.

Cloudflare Server MCP server

✨ 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

CategoryTool NameDescription
GeneralechoRound-trip text for connectivity testing
Zoneslist_zonesEnumerate zones the token can access
Zonesget_zone_settingsReturn full settings object
Zoneslist_zone_settingsShort settings summary
DNSlist_dns_recordsRead all DNS RRsets
DNScreate_dns_record*Add a record
DNSupdate_dns_record*Modify record
DNSdelete_dns_record*Remove record
Securitylist_waf_rulesRead firewall rules
Securitycreate_security_rule*Add firewall rule
Securityupdate_security_rule*Edit firewall rule
Securitydelete_security_rule*Delete firewall rule
Redirectlist_page_rulesList redirects/page-rules
Redirectcreate_redirect*Create redirect
Redirectdelete_page_rule*Delete redirect
Cachepurge_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 with McpServer.
  • 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.

  1. Fork → feature branch → PR.
  2. Ensure npm test passes.
  3. Describe the tool behaviour or bug clearly.

📜 License

MIT © 2025 Jeff Golden

Made with Windsurf

Quick Actions

Key Features

Model Context Protocol
Secure Communication
Real-time Updates
Open Source