API de Cloudflare MCP
Este es un servidor de Protocolo de Control de Modelos (MCP) liviano, iniciado con create-mcp e implementado en Cloudflare Workers.
Este servidor MCP permite que los agentes (como Cursor) interactúen con la API REST de Cloudflare .
Todavía está en desarrollo, agregaré más herramientas a medida que las necesite.
Herramientas disponibles
Consulte src/index.ts para ver la lista actual de herramientas. Todos los métodos de la clase son herramientas MCP.
Related MCP server: Cloudflare API MCP Server
Instalación
Ejecute el script de instalación automatizada para clonar este servidor MCP e implementarlo en su cuenta de Cloudflare:
bun create mcp --clone https://github.com/zueai/cloudflare-api-mcpAbra
Cursor Settings -> MCP -> Add new MCP servery pegue el comando que se copió en su portapapeles.Sube tu clave API de Cloudflare y envíala por correo electrónico a tus trabajadores secretos:
bunx wrangler secret put CLOUDFLARE_API_KEY
bunx wrangler secret put CLOUDFLARE_API_EMAILDesarrollo local
Agregue su clave API de Cloudflare y correo electrónico al archivo .dev.vars :
CLOUDFLARE_API_KEY=<your-cloudflare-api-key>
CLOUDFLARE_API_EMAIL=<your-cloudflare-api-email>Implementando
Ejecute el script de implementación:
bun run deployRecargue la ventana del Cursor para ver las nuevas herramientas.
Cómo crear nuevas herramientas MCP
Para crear nuevas herramientas MCP, agregue métodos a la clase MyWorker en src/index.ts . Cada función se convertirá automáticamente en una herramienta MCP que su agente podrá usar.
Ejemplo:
/**
* 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
}Los comentarios de JSDoc son importantes:
La primera línea se convierte en la descripción de la herramienta.
Las etiquetas
@paramdefinen los parámetros de la herramienta con tipos y descripcionesLa etiqueta
@returnespecifica el valor de retorno y el tipo