cloudflare.com
cloudflare.com logo

Cloudflare

Integrates with Cloudflare's API to enable management of DNS, CDN, and security configurations for web infrastructure au...

Created byApr 23, 2025

Cloudflare MCP Server for IDE

Model Context Protocol (MCP) is a [new, standardized protocol](https://modelcontextprotocol.io/introduction) for managing context between large language models (LLMs) and external systems. In this repository, we provide an installer as well as an MCP Server for [Cloudflare's API](https://api.cloudflare.com).
This lets you use Claude Desktop, and IDE like VSCode (Cline) and Windsurf or any MCP Client, to use natural language to accomplish things on your Cloudflare account, e.g.:
  • `Please deploy me a new Worker with an example durable object.`
  • `Can you tell me about the data in my D1 database named '...'?`
  • `Can you copy all the entries from my KV namespace '...' into my R2 bucket '...'?`

Demo

Setup

  1. Run `npx @gutmutcode/mcp-server-cloudflare init`
  1. Restart Claude Desktop, you should see a small icon that shows the following tools available for use:
  1. Check out the Cline configuration file, you should see a `cloudflare` section with your Cloudflare account ID.
  1. Check out your Windsurf MCP configuration file, you should see a `cloudflare` section either. Windsurf has limitation on the use of MCP tools, so you can't use too many tools at the same time. (Unlike Cline and Claude)

Features

KV Store Management

  • `get_kvs`: List all KV namespaces in your account
  • `kv_get`: Get a value from a KV namespace
  • `kv_put`: Store a value in a KV namespace
  • `kv_list`: List keys in a KV namespace
  • `kv_delete`: Delete a key from a KV namespace

R2 Storage Management

  • `r2_list_buckets`: List all R2 buckets in your account
  • `r2_create_bucket`: Create a new R2 bucket
  • `r2_delete_bucket`: Delete an R2 bucket
  • `r2_list_objects`: List objects in an R2 bucket
  • `r2_get_object`: Get an object from an R2 bucket
  • `r2_put_object`: Put an object into an R2 bucket
  • `r2_delete_object`: Delete an object from an R2 bucket

D1 Database Management

  • `d1_list_databases`: List all D1 databases in your account
  • `d1_create_database`: Create a new D1 database
  • `d1_delete_database`: Delete a D1 database
  • `d1_query`: Execute a SQL query against a D1 database

Workers Management

  • `worker_list`: List all Workers in your account
  • `worker_get`: Get a Worker's script content
  • `worker_put`: Create or update a Worker script
  • `worker_delete`: Delete a Worker script

Analytics

  • `analytics_get`: Retrieve analytics data for your domain - Includes metrics like requests, bandwidth, threats, and page views - Supports date range filtering

Developing

In the current project folder, run:
Then, in a second terminal:
This will link Claude Desktop against your locally-installed version for you to test.

Usage outside of Claude

To run the server locally, run `node dist/index run <account-id>`.
If you're using an alternative MCP Client, or testing things locally, emit the `tools/list` command to get an up-to-date list of all available tools. Then you can call these directly using the `tools/call` command.

Workers

KV Store

R2 Storage

D1 Database

Analytics

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.