GutMutCode/mcp-server-cloudflare
Project Overview
mcp-server-cloudflare (GutMutCode fork)
MCP server exposing Cloudflare API operations (KV, R2, D1, Workers, Analytics) as tools for AI IDE clients.
True Intent (AI Assessment)
Bridge AI assistants/IDEs to a developer's Cloudflare account by exposing Cloudflare API operations as MCP tools.
README Accuracy
Notes
Behavior matches README: tools listed (KV, R2, D1, Workers, Analytics) correspond one-to-one with handlers in src/tools. Auth reuses Wrangler's local tokens, which is a reasonable and transparent approach. As a small fork of an official-looking project, users should verify they intend to install the @gutmutcode scope rather than the upstream Cloudflare package.
This is a Model Context Protocol (MCP) server written in TypeScript that wraps Cloudflare's REST and GraphQL APIs and exposes them as callable 'tools' to MCP-compatible AI clients. It is a fork/variant of the original Cloudflare MCP server, republished under the npm scope @gutmutcode/mcp-server-cloudflare, with added focus on IDE-based MCP clients like Cline, Windsurf, and Cursor in addition to Claude Desktop.
The problem it solves is the gap between an LLM assistant and a developer's Cloudflare account. Rather than context-switching to Wrangler CLI or the Cloudflare dashboard, a user can ask an AI client in natural language to list KV namespaces, deploy a Worker, run a D1 SQL query, manage R2 buckets/objects, or pull zone analytics, and the assistant executes those operations via this server.
The intended users are developers already using Cloudflare (Workers, D1, KV, R2) who work inside AI-augmented IDEs. Installation is initiated via `npx @gutmutcode/mcp-server-cloudflare init`, which reuses Wrangler's local OAuth tokens for authentication and writes MCP configuration entries into the config files of Claude Desktop, Cline, Windsurf, and Cursor.
Architecturally, `src/index.ts` provides a CLI with two commands (`init` and `run`). On `run`, it loads Cloudflare credentials from env vars or Wrangler's stored auth tokens (refreshing if expired), then `main.ts` starts an MCP `Server` over stdio using @modelcontextprotocol/sdk. Tools are grouped by service (kv, r2, d1, workers, analytics), each defining JSON-schema inputs and a handler that calls api.cloudflare.com via undici's fetch and returns results as MCP text content.
No red flags detected: code is straightforward, uses standard Cloudflare API endpoints, authenticates with the user's own Wrangler tokens or env-provided API token, and does not exfiltrate credentials. It is a low-star personal fork, so ongoing maintenance and parity with the upstream Cloudflare project are not guaranteed.
| Languages | TypeScript, JavaScript |
| Runtime | Node.js >=16.17.0 |
| Framework | Model Context Protocol SDK (stdio server) |
| Database | None (integrates with Cloudflare D1 remotely) |
| Package Manager | pnpm / npm |
| Key Dependencies | @modelcontextprotocol/sdk, undici, zod, chalk, dotenv, xdg-app-paths, @iarna/toml, which |
| Build Tool | tsup |
| Test Framework | None detected |