Skip to main content
Glama
SquarePiSigma5

cloudflare-dns-mcp-server

cloudflare-dns-mcp-server

Ein Model Context Protocol (MCP)-Server, der es jedem MCP-kompatiblen LLM-Client (Claude Code, Claude Desktop, claude.ai Custom Connectors, Cursor und andere) ermöglicht, DNS-Einträge in Ihrem Cloudflare-Konto zu lesen und zu bearbeiten. Er läuft als streambarer HTTP-Server (zustandsloser JSON-Modus, der aktuelle MCP-Standard für Remote-Server) und bietet einen stdio-Modus für Clients, die lokale Subprozess-Server starten.

Tools

Tool

Funktion

cloudflare_verify_token

Bestätigt, dass der API-Token gültig und aktiv ist

cloudflare_list_zones

Listet Domains auf, die der Token verwalten kann

cloudflare_list_dns_records

Listet/filtert Einträge in einer Zone (Quelle der Eintrags-IDs)

cloudflare_get_dns_record

Ruft einen Eintrag anhand der ID ab

cloudflare_create_dns_record

Erstellt A/AAAA/CNAME/MX/TXT/SRV/CAA-Einträge usw.

cloudflare_update_dns_record

Teilweises Update; liefert Vorher/Nachher, damit Änderungen rückgängig gemacht werden können

cloudflare_delete_dns_record

Löscht (erfordert confirm=true); liefert eine Momentaufnahme zur Wiederherstellung

cloudflare_export_zone

Exportiert die Zone als BIND-Datei – erstellen Sie vor Massenänderungen ein Backup

Related MCP server: cloudflare-dns-mcp-server

Einrichtung

Erfordert Node.js 20+.

1. Erstellen Sie einen eingeschränkten Cloudflare-API-Token. Gehen Sie im Cloudflare-Dashboard zu Mein Profil → API-Tokens → Token erstellen → verwenden Sie die Vorlage Zone-DNS bearbeiten und begrenzen Sie sie unter Zonenressourcen auf die spezifische(n) Zone(n), die das Modell verwalten soll. Verwenden Sie nicht den Global API Key – ein eingeschränkter Token bedeutet, dass der schlimmste Fall nur DNS auf diesen Zonen betrifft.

2. Installieren und bauen:

npm install
npm run build

3. Konfigurieren und ausführen:

cp .env.example .env   # fill in tokens, then either export them or use a loader
export CLOUDFLARE_API_TOKEN="cf_..."
export MCP_AUTH_TOKEN="$(openssl rand -hex 24)"   # protects the MCP endpoint itself
npm start

Der MCP-Endpunkt ist jetzt unter http://127.0.0.1:8787/mcp erreichbar (Health-Check unter /healthz). Umgebungsvariablen: HOST (Standard 127.0.0.1), PORT (Standard 8787), TRANSPORT (http Standard, oder stdio), ALLOWED_ORIGINS (zusätzliche Browser-Origins, kommagetrennt).

4. Schnelltest:

MCP_AUTH_TOKEN="<same token>" npm run smoke

Dies verbindet sich mit einem echten MCP-Client, listet die 8 Tools auf und ruft cloudflare_verify_token auf. Sie können auch den MCP Inspector auf die URL richten: npx @modelcontextprotocol/inspector.

Clients verbinden

Claude Code:

claude mcp add --transport http cloudflare-dns http://127.0.0.1:8787/mcp \
  --header "Authorization: Bearer $MCP_AUTH_TOKEN"

Cursor / andere Clients mit JSON-Konfiguration – jeder Client, der streambares HTTP mit benutzerdefinierten Headern unterstützt, funktioniert auf die gleiche Weise:

{
  "mcpServers": {
    "cloudflare-dns": {
      "url": "http://127.0.0.1:8787/mcp",
      "headers": { "Authorization": "Bearer <MCP_AUTH_TOKEN>" }
    }
  }
}

Clients, die nur lokale stdio-Server starten:

{
  "mcpServers": {
    "cloudflare-dns": {
      "command": "node",
      "args": ["/path/to/cloudflare-dns-mcp-server/dist/index.js"],
      "env": { "CLOUDFLARE_API_TOKEN": "cf_...", "TRANSPORT": "stdio" }
    }
  }
}

claude.ai / Claude Mobile Custom Connectors benötigen eine öffentliche HTTPS-URL – sie können localhost nicht erreichen. Der schnellste Weg ist ein Cloudflare Tunnel vom Rechner, auf dem der Server läuft:

cloudflared tunnel --url http://127.0.0.1:8787

Wichtiger Hinweis: Die Custom-Connector-Oberfläche von claude.ai authentifiziert über OAuth oder gar nicht – sie hat kein Feld für einen statischen Bearer-Header. Das lässt zwei Optionen für den Fernzugriff: Den Tunnel hinter Cloudflare Access (Service-Auth) platzieren und die Authentifizierung dort beenden, oder mit nicht gesetztem MCP_AUTH_TOKEN laufen und sich darauf verlassen, dass die Tunnel-URL geheim bleibt – was für etwas, das Ihre DNS-Einträge bearbeiten kann, deutlich schwächer ist. Bei einem Cloudflare Tunnel bindet der Server weiterhin an 127.0.0.1, sodass kein Opt-in erforderlich ist; wenn Sie den Port jedoch direkt statt über einen Tunnel freigeben, erfordert ein unauthentifizierter Nicht-Localhost-Bind ALLOW_UNAUTHENTICATED=true. Prüfen Sie vor der Wahl die aktuellen Auth-Optionen des claude.ai-Connectors; diese ändern sich im Laufe der Zeit.

Sicherheitshinweise

Der Server bindet standardmäßig an 127.0.0.1 und weigert sich, ohne CLOUDFLARE_API_TOKEN zu starten. Wenn Sie ohne gesetztes MCP_AUTH_TOKEN an eine andere Adresse binden, weigert er sich zu starten – jeder, der den Port erreichen kann, könnte Ihre DNS-Einträge bearbeiten – es sei denn, Sie setzen ALLOW_UNAUTHENTICATED=true, was nur angemessen ist, wenn die Authentifizierung vorgelagert erfolgt (z. B. Cloudflare Access). Browser-Origin-Anfragen werden abgelehnt, es sei denn, sie stammen von localhost oder ALLOWED_ORIGINS (DNS-Rebinding-Schutz). Tokens werden aus der Umgebung gelesen, nie protokolliert und von keinem Tool zurückgegeben.

Auf der Modell-Sicherheitsseite: Das Löschen erfordert ein explizites confirm=true-Argument, Updates liefern Vorher/Nachher-Zustände, sodass jede Änderung rückgängig gemacht werden kann, und cloudflare_export_zone bietet ein Ein-Klick-BIND-Backup – es lohnt sich, Ihr Modell vor Massenänderungen darum zu bitten. DNS-Änderungen verbreiten sich im echten Internet; ein falscher Eintrag kann eine Website oder E-Mail lahmlegen. Überprüfen Sie daher, was das Modell vorschlägt, bevor Sie es auf Produktionszonen loslassen.

Entwicklung

npm run build    # compile TypeScript → dist/
npm start        # run HTTP server
npm run smoke    # end-to-end client test against the running server

Quellstruktur: src/index.ts (Transports, Auth-Middleware), src/cloudflare.ts (API-Client, Zonenauflösung, Formatierung), src/tools.ts (Tool-Registrierungen).

Lizenz

MIT

A
license - permissive license
-
quality - not tested
B
maintenance

Maintenance

Maintainers
1hResponse time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

View all related MCP servers

Related MCP Connectors

  • MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.

  • Driflyte MCP server which lets AI assistants query topic-specific knowledge from web and GitHub.

  • An MCP server that integrates with Discord to provide AI-powered features.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/SquarePiSigma5/CloudFlareMCP'

If you have feedback or need assistance with the MCP directory API, please join our Discord server