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 |
| Bestätigt, dass der API-Token gültig und aktiv ist |
| Listet Domains auf, die der Token verwalten kann |
| Listet/filtert Einträge in einer Zone (Quelle der Eintrags-IDs) |
| Ruft einen Eintrag anhand der ID ab |
| Erstellt A/AAAA/CNAME/MX/TXT/SRV/CAA-Einträge usw. |
| Teilweises Update; liefert Vorher/Nachher, damit Änderungen rückgängig gemacht werden können |
| Löscht (erfordert |
| 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 build3. 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 startDer 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 smokeDies 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:8787Wichtiger 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 serverQuellstruktur: src/index.ts (Transports, Auth-Middleware), src/cloudflare.ts (API-Client, Zonenauflösung, Formatierung), src/tools.ts (Tool-Registrierungen).
Lizenz
This server cannot be deployed
Maintenance
Related MCP Connectors
MCP server for AI agents to plan, verify, and deploy Cloudflare-native apps.
Cloudflare Workers MCP server: ai-guardrails
Cloudflare Workers MCP server: ai-agent-scratchpad
Cloudflare Workers MCP server: ai-gateway
Related MCP Servers
- AlicenseNot gradedqualityNot gradedmaintenanceA lightweight MCP server for managing DNS records, purging cache, and interacting with the Cloudflare API through natural language commands.24-
- AlicenseNot gradedqualityNot gradedmaintenanceA token-efficient MCP server for managing Cloudflare DNS zones and records with full CRUD support and bulk operations. It can be deployed locally via stdio or as a Cloudflare Worker for remote HTTP access.-
- AlicenseNot gradedqualityDmaintenanceMCP server for managing Cloudflare DNS across multiple zones from a single API token, enabling bulk operations like toggling proxy, listing records, and batch updates.19 npmMIT
- AlicenseAqualityCmaintenanceCloudflare DNS MCP server. Manage zones, DNS records, cache, and page rules from Claude, Cursor, Codex, or any MCP-compatible AI assistant.10MIT