Cloudflare-API-MCP
Dies ist ein leichtgewichtiger Model Control Protocol (MCP)-Server, der mit create-mcp gebootet und auf Cloudflare Workers bereitgestellt wird.
Dieser MCP-Server ermöglicht Agenten (wie Cursor) die Schnittstelle mit der Cloudflare REST API .
Es befindet sich noch in der Entwicklung. Ich werde weitere Tools hinzufügen, wenn ich sie brauche.
Verfügbare Tools
Die aktuelle Liste der Tools finden Sie in src/index.ts . Jede Methode in der Klasse ist ein MCP-Tool.
Related MCP server: Cloudflare API MCP Server
Installation
Führen Sie das automatisierte Installationsskript aus, um diesen MCP-Server zu klonen und ihn in Ihrem Cloudflare-Konto bereitzustellen:
bun create mcp --clone https://github.com/zueai/cloudflare-api-mcpÖffnen Sie
Cursor Settings -> MCP -> Add new MCP serverund fügen Sie den Befehl ein, der in Ihre Zwischenablage kopiert wurde.Laden Sie Ihren Cloudflare-API-Schlüssel hoch und senden Sie ihn per E-Mail an Ihre Worker-Geheimnisse:
bunx wrangler secret put CLOUDFLARE_API_KEY
bunx wrangler secret put CLOUDFLARE_API_EMAILLokale Entwicklung
Fügen Sie Ihren Cloudflare-API-Schlüssel und Ihre E-Mail-Adresse zur Datei .dev.vars hinzu:
CLOUDFLARE_API_KEY=<your-cloudflare-api-key>
CLOUDFLARE_API_EMAIL=<your-cloudflare-api-email>Bereitstellen
Führen Sie das Bereitstellungsskript aus:
bun run deployLaden Sie Ihr Cursorfenster neu, um die neuen Tools anzuzeigen.
So erstellen Sie neue MCP-Tools
Um neue MCP-Tools zu erstellen, fügen Sie der Klasse MyWorker in src/index.ts Methoden hinzu. Jede Funktion wird automatisch zu einem MCP-Tool, das Ihr Agent verwenden kann.
Beispiel:
/**
* Create a new DNS record in a zone.
* @param zoneId {string} The ID of the zone to create the record in.
* @param name {string} The name of the DNS record.
* @param content {string} The content of the DNS record.
* @param type {string} The type of DNS record (CNAME, A, TXT, or MX).
* @param comment {string} Optional comment for the DNS record.
* @param proxied {boolean} Optional whether to proxy the record through Cloudflare.
* @return {object} The created DNS record.
*/
createDNSRecord(zoneId: string, name: string, content: string, type: string, comment?: string, proxied?: boolean) {
// Implementation
}Wichtig sind die JSDoc-Kommentare:
Die erste Zeile wird zur Beschreibung des Werkzeugs
@param-Tags definieren die Parameter des Tools mit Typen und Beschreibungen@return-Tag gibt den Rückgabewert und Typ an