Cloudflare API MCP

by ZukAi-MCP
MIT License
2

Integrations

  • Allows agents to interface with the Cloudflare REST API, with functionality for managing DNS records and other Cloudflare services

cloudflare-api-mcp

This is a lightweight Model Control Protocol (MCP) server bootstrapped with create-mcp and deployed on Cloudflare Workers.

This MCP server allows agents (such as Cursor) to interface with the Cloudflare REST API.

It's still under development, I will be adding more tools as I find myself needing them.

Available Tools

See src/index.ts for the current list of tools. Every method in the class is an MCP tool.

Installation

  1. Run the automated install script to clone this MCP server and deploy it to your Cloudflare account:
bun create mcp --clone https://github.com/zueai/cloudflare-api-mcp
  1. Open Cursor Settings -> MCP -> Add new MCP server and paste the command that was copied to your clipboard.
  2. Upload your Cloudflare API key and email to your worker secrets:
bunx wrangler secret put CLOUDFLARE_API_KEY bunx wrangler secret put CLOUDFLARE_API_EMAIL

Local Development

Add your Cloudflare API key and email to the .dev.vars file:

CLOUDFLARE_API_KEY=<your-cloudflare-api-key> CLOUDFLARE_API_EMAIL=<your-cloudflare-api-email>

Deploying

  1. Run the deploy script:
bun run deploy
  1. Reload your Cursor window to see the new tools.

How to Create New MCP Tools

To create new MCP tools, add methods to the MyWorker class in src/index.ts. Each function will automatically become an MCP tool that your agent can use.

Example:

/** * Create a new DNS record in a zone. * @param zoneId {string} The ID of the zone to create the record in. * @param name {string} The name of the DNS record. * @param content {string} The content of the DNS record. * @param type {string} The type of DNS record (CNAME, A, TXT, or MX). * @param comment {string} Optional comment for the DNS record. * @param proxied {boolean} Optional whether to proxy the record through Cloudflare. * @return {object} The created DNS record. */ createDNSRecord(zoneId: string, name: string, content: string, type: string, comment?: string, proxied?: boolean) { // Implementation }

The JSDoc comments are important:

  • First line becomes the tool's description
  • @param tags define the tool's parameters with types and descriptions
  • @return tag specifies the return value and type

Learn More

-
security - not tested
A
license - permissive license
-
quality - not tested

A lightweight MCP server that enables agents to interface with Cloudflare's REST API, allowing management of DNS records and other Cloudflare services.

  1. Available Tools
    1. Installation
      1. Local Development
        1. Deploying
          1. How to Create New MCP Tools
            1. Learn More

              Related MCP Servers

              • -
                security
                A
                license
                -
                quality
                A lightweight MCP server that interacts with the Neon REST API, deployable on Cloudflare Workers for streamlined database management and integration.
                Last updated -
                5
                TypeScript
                MIT License
              • -
                security
                A
                license
                -
                quality
                A lightweight MCP server for managing DNS records, purging cache, and interacting with the Cloudflare API through natural language commands.
                Last updated -
                13
                TypeScript
                MIT License
              • -
                security
                A
                license
                -
                quality
                An MCP server that allows using natural language to manage Cloudflare resources (Workers, KV, R2, D1) through Claude Desktop, VSCode, and other MCP clients.
                Last updated -
                8
                5
                TypeScript
                Apache 2.0

              View all related MCP servers

              ID: xyn6pc5xaj