Workers MCP

Un transporte MCP para interactuar con tu propio Cloudflare Worker.

Documentación

workers-mcp

¡Habla con un Cloudflare Worker desde Claude Desktop!

[!WARNING]
Deberías comenzar aquí en su lugar — y construir un servidor MCP remoto

Puedes conectarte a servidores MCP remotos desde Claude Desktop, Cursor y otros clientes usando mcp-remote.

¿Qué es workers-mcp?

Este paquete proporciona tanto las herramientas de línea de comandos como la lógica dentro del Worker para conectar Claude Desktop (o cualquier Cliente MCP) a un Cloudflare Worker en tu cuenta, para que puedas personalizarlo según tus necesidades. Funciona mediante un paso de compilación que puede traducir métodos TypeScript de tu Worker como este:

export class ExampleWorkerMCP extends WorkerEntrypoint<Env> {
  /**
   * Generates a random number. This is extra random because it had to travel all the way to
   * your nearest Cloudflare PoP to be calculated which... something something lava lamps?
   *
   * @return {string} A message containing a super duper random number
   * */
  async getRandomNumber() {
    return `Your random number is ${Math.random()}`
  }
  
  // ...etc
}

...en herramientas MCP que un servidor Node.js local puede exponer a los clientes MCP. El servidor Node.js actúa como un proxy, manejando el transporte stdio localmente y llamando al método correspondiente de tu Worker que se ejecuta en Cloudflare. Esto te permite exponer cualquier función o API de tu aplicación, o cualquier servicio en la plataforma de desarrolladores de Cloudflare, de vuelta a un LLM en tu agente de codificación, Claude Desktop u otro cliente MCP.

image

Sí, sé que Math.random() funciona igual en un Worker que en tu máquina local, pero no le digas a Claude 🤫

Uso

Paso 1: Genera un nuevo Worker

Usa create-cloudflare para generar un nuevo Worker.

npx create-cloudflare@latest my-new-worker

Sugiero elegir un worker de tipo Hello World.

Paso 2: Instala workers-mcp

cd my-new-worker # I always forget this bit
npm install workers-mcp

Paso 3: Ejecuta el comando setup

npx workers-mcp setup

Nota: si algo sale mal, ejecuta npx workers-mcp help

Paso 4..♾️: Iterando

Después de cambiar el código de tu Worker, solo necesitas ejecutar npm run deploy para actualizar tanto los metadatos de Claude sobre tu función como tu instancia de Worker en vivo.

Sin embargo, si cambias los nombres de tus métodos, o sus parámetros, o agregas o eliminas métodos, Claude no verá las actualizaciones hasta que lo reinicies.

Nunca deberías necesitar volver a ejecutar npx workers-mcp install:claude, pero es seguro hacerlo si quieres descartar la configuración de Claude como fuente de errores.

Uso con Otros Clientes MCP

Cursor

Para que tu servidor MCP de Cloudflare funcione en Cursor, necesitas combinar el 'command' y los 'args' de tu archivo de configuración en una sola cadena y usar el tipo 'command'.

Por ejemplo, si tu archivo de configuración se ve así:

{
  "mcpServers": {
    "your-mcp-server-name": {
      "command": "/path/to/workers-mcp",
      "args": [
        "run",
        "your-mcp-server-name",
        "https://your-server-url.workers.dev",
        "/path/to/your/project"
      ],
      "env": {}
    }
  }
}

En Cursor, crea una entrada de servidor MCP con:

  • tipo: command
  • comando: /path/to/workers-mcp run your-mcp-server-name https://your-server-url.workers.dev /path/to/your/project

Otros Clientes MCP

Para Windsurf y otros clientes MCP, actualiza tu archivo de configuración para incluir tu worker y así poder usar las herramientas directamente desde el cliente:

{
  "mcpServers": {
    "your-mcp-server-name": {
      "command": "/path/to/workers-mcp",
      "args": [
        "run",
        "your-mcp-server-name",
        "https://your-server-url.workers.dev",
        "/path/to/your/project"
      ],
      "env": {}
    }
  }
}

Asegúrate de reemplazar los marcadores de posición con tu nombre de servidor, URL y ruta de proyecto reales.

Ejemplos

Consulta el directorio examples para algunas ideas de para qué usar esto:

  • examples/01-hello-world es una captura tomada después de las instrucciones de instalación anteriores
  • examples/02-image-generation usa Workers AI para ejecutar el modelo de generación de imágenes Flux. Claude es muy bueno sugiriendo prompts y puede interpretar el resultado y decidir qué nuevos prompts probar para lograr el resultado que deseas.
  • TODO Browser Rendering
  • TODO Durable Objects