Skip to main content
Glama
archawat

@archawat/mcp-cloudflare

by archawat

@archawat/mcp-cloudflare

Model Context Protocol (MCP)-Server zur Verwaltung von Cloudflare-DNS über mehrere Zonen (Domains) hinweg mit einem einzigen API-Token. Entwickelt für Massen-Workflows – das Ein-/Ausschalten von Proxys für viele Datensätze, das Auditieren von DNS über Zonen hinweg und Batch-Updates von Datensätzen.

Funktionen

  • Mehrere Zonen mit einem Token – übergeben Sie einen Domainnamen wie "example.com" und der Server löst die Zone für Sie auf. Zonen-IDs werden ebenfalls akzeptiert.

  • Massenvorgänge – bulk_toggle_proxy, bulk_update_dns_record und bulk_list_dns_records werden gleichzeitig ausgeführt und teilen sich einen Zonen-ID-Cache pro Aufruf, sodass wiederholte Zonen keine zusätzlichen Abfragen kosten.

  • Sichere Standardeinstellungen – neue A/CNAME-Datensätze werden mit proxied: false (nur DNS, graue Wolke) erstellt. Proxy ist optional.

  • Automatische Paginierung – list_dns_records ruft jede Seite parallel ab, sofern Sie keine spezifische anfordern.

Related MCP server: Cloudflare API MCP

Installation

Keine lokale Installation erforderlich – verwenden Sie npx oder bunx, um es bei Bedarf auszuführen.

Claude Code / Claude Desktop (.mcp.json)

Via npx (Node):

{
  "mcpServers": {
    "cloudflare": {
      "command": "npx",
      "args": ["-y", "@archawat/mcp-cloudflare"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

Via bunx (Bun):

{
  "mcpServers": {
    "cloudflare": {
      "command": "bunx",
      "args": ["-y", "@archawat/mcp-cloudflare"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

Claude Code CLI

claude mcp add cloudflare -s user \
  -e CLOUDFLARE_API_TOKEN="cf-token-here" \
  -- npx -y @archawat/mcp-cloudflare

Globale Installation (schnellster Kaltstart)

npm install -g @archawat/mcp-cloudflare
# or: bun add -g @archawat/mcp-cloudflare

Die globale Binärdatei heißt mcp-cloudflare (ohne Scope), also:

{
  "mcpServers": {
    "cloudflare": {
      "command": "mcp-cloudflare",
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

API-Token

Erstellen Sie ein Cloudflare-Token unter https://dash.cloudflare.com/profile/api-tokens mit:

  • Zone:Read

  • Zone:DNS:Edit

Beschränken Sie das Token auf die Zonen, die Sie verwalten möchten, oder gewähren Sie Zugriff auf "Alle Zonen".

Tools

Tool

Zweck

list_zones

Ermitteln, welche Domains das Token verwalten kann.

list_dns_records

Datensätze in einer Zone auflisten; automatische Paginierung über alle Seiten, sofern page nicht gesetzt ist.

bulk_list_dns_records

Datensätze über viele Zonen hinweg in einem Aufruf auflisten. Gleichzeitig pro Zone.

create_a_record

Einen A-Datensatz erstellen. proxied ist standardmäßig false.

create_cname_record

Einen CNAME-Datensatz erstellen. proxied ist standardmäßig false.

toggle_proxy

Proxy nach Datensatz-ID oder nach Name (+ optionalem Typ) ein-/ausschalten.

bulk_toggle_proxy

Proxy für viele Datensätze in einem Aufruf umschalten (geteilter proxied-Wert).

update_dns_record

content, ttl, proxied oder comment eines Datensatzes patchen.

bulk_update_dns_record

Viele Datensätze in einem Aufruf mit elementbezogenen Feldern patchen.

delete_dns_record

Einen Datensatz nach ID löschen. Destruktiv.

Alle Tools akzeptieren entweder einen Domainnamen ("example.com") oder eine 32-stellige Zonen-ID als zone-Argument.

Form der Massenergebnisse

Massentools geben ergebnisbezogene Daten pro Element zurück; ein einzelner Fehler bricht den Batch nicht ab:

{
  "succeeded": 10,
  "failed": 1,
  "results": [
    { "zone": "example.com", "ok": true,  "record": { "id": "…", "proxied": true } },
    { "zone": "other.com",   "ok": false, "error": "No proxyable record found for 'www.other.com'." }
  ]
}

isError: true wird in der Tool-Antwort gesetzt, sobald ein Element fehlschlägt, während dennoch jedes Ergebnis zurückgegeben wird.

Entwicklung

Erfordert Bun (empfohlen) oder Node 18+.

bun install
bun run dev         # run src/index.ts with --watch
bun run start       # run src/index.ts once
bun run typecheck   # tsc --noEmit
bun run build       # emit dist/ for publishing

Um die Entwicklungsversion als MCP-Server anstelle des veröffentlichten Pakets auszuführen, verweisen Sie in .mcp.json auf Ihren lokalen Build:

{
  "mcpServers": {
    "cloudflare": {
      "command": "bun",
      "args": ["/abs/path/to/mcp-cloudflare/src/index.ts"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf-token-here" }
    }
  }
}

Der Server kommuniziert über stdio – Ihr MCP-Client startet den Prozess und kommuniziert über stdin/stdout.

Lizenz

MIT

Related MCP Connectors

Related MCP Servers