cloudflare_mcp

jeffgolden/cloudflare_mcp

3.2

If you are the rightful owner of cloudflare_mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

Cloudflare MCP Server is a modern Model-Context-Protocol server that provides structured tools for managing Cloudflare DNS, security, redirects, and zone settings.

Tools
  1. echo

    Round-trip text for connectivity testing

  2. list_zones

    Enumerate zones the token can access

  3. get_zone_settings

    Return full settings object

  4. list_zone_settings

    Short settings summary

  5. list_dns_records

    Read all DNS RRsets

  6. create_dns_record

    Add a record

  7. update_dns_record

    Modify record

  8. delete_dns_record

    Remove record

  9. list_waf_rules

    Read firewall rules

  10. create_security_rule

    Add firewall rule

  11. update_security_rule

    Edit firewall rule

  12. delete_security_rule

    Delete firewall rule

  13. list_page_rules

    List redirects/page-rules

  14. create_redirect

    Create redirect

  15. delete_page_rule

    Delete redirect

  16. purge_cache

    Purge URL or everything

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 .


🀝 Contributing

PRs & issues are welcome! Please read 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