Editor con IA y MCP

WhatsApp en Cursor: mcp.json, variables de entorno y la OpenAPI de ZapZap

Cursor es un editor de código con un agente de IA que acepta servidores MCP, configurados en un archivo mcp.json. ZapZap tiene un servidor MCP de código abierto con 25 herramientas y una especificación OpenAPI pública. Juntos permiten que el agente de Cursor consulte instancias, verifique números y, si lo habilitas, envíe mensajes mientras escribe el código de tu producto.

Actualizado el

Por qué conectar

Hay dos usos con sentido. El primero es probar la API mientras programas: el agente llama a check_whatsapp_numbers o get_webhook_deliveries para depurar tu webhook sin salir del editor. El segundo es generar código: apunta el agente a la OpenAPI y al llms.txt y escribirá la integración solo con endpoints que existen. ZapZap conecta números por un canal no oficial: WhatsApp puede limitar o bloquear cualquier número, así que el ritmo, el consentimiento y el calentamiento importan. Cuesta R$15 por número activo al mes, prepago, sin cobro por mensaje, y empiezas con un crédito de bienvenida al verificar el teléfono, sujeto a la campaña vigente.

Paso a paso

  1. 1

    Ten las claves en variables de entorno

    En el panel, Settings > API, copia la API Key y el API Secret y expórtalas como ZAPZAP_API_KEY y ZAPZAP_API_SECRET en el entorno donde se abre Cursor. El archivo de configuración hará referencia al nombre de la variable, no al valor.

  2. 2

    Compila el servidor MCP

    git clone https://github.com/zapzapapi/zapzap-mcp.git, luego npm install y npm run build (Node.js 18 o superior). El README del repositorio prevé npx -y zapzap-mcp, pero el 11/11/2026 el paquete aún no está publicado en npm (el registro responde 404). El camino que funciona hoy es clonar, compilar y apuntar el comando a dist/src/index.js.

  3. 3

    Crea el mcp.json en el proyecto o en tu cuenta

    Según la documentación de Cursor (leída el 11/11/2026), .cursor/mcp.json vale para el proyecto y ~/.cursor/mcp.json vale para todos. El formato es mcpServers con command, args y env. Prefiere el archivo global para que la clave no caiga en un repositorio compartido.

  4. 4

    Usa la interpolación en vez de escribir la clave

    Cursor resuelve ${env:NOMBRE} en command, args, env, url y headers (documentación leída el 11/11/2026). Escribe "ZAPZAP_API_KEY": "${env:ZAPZAP_API_KEY}" y el valor nunca aparece en el archivo. Empieza con ZAPZAP_READ_ONLY=true.

  5. 5

    Mira las herramientas y aprueba cada uso

    Las herramientas aparecen en Available Tools y Cursor pide aprobación antes de usar una herramienta MCP por defecto, con argumentos y respuesta expandibles en el chat. Pregunta: lista mis instancias y el estado de cada una.

  6. 6

    Dale la OpenAPI y el llms.txt al agente

    Para generar código, agrega a los documentos del proyecto https://zapzapapi.com/openapi/zapzap-openapi.es.json y https://zapzapapi.com/llms.txt, y escribe en las reglas del proyecto: base https://api.zapzapapi.com/api/v1, cabeceras x-api-key y x-api-secret, usa solo endpoints de la especificación.

Ejemplo

{
  "mcpServers": {
    "zapzap": {
      "command": "node",
      "args": ["/absolute/path/to/zapzap-mcp/dist/src/index.js"],
      "env": {
        "ZAPZAP_API_KEY": "${env:ZAPZAP_API_KEY}",
        "ZAPZAP_API_SECRET": "${env:ZAPZAP_API_SECRET}",
        "ZAPZAP_READ_ONLY": "true"
      }
    }
  }
}

Ilustrativo. Los campos y endpoints exactos están en la documentación.

MCP u OpenAPI: cuándo usar cada uno en Cursor

ObjetivoUsaPor qué
Depurar webhook, verificar número, ver estadoServidor MCP en modo lecturaEl agente llama a la herramienta y muestra el resultado real
Escribir la integración en tu appOpenAPI y llms.txtEl agente genera código con los endpoints y campos correctos
Enviar un mensaje de pruebaMCP con envío habilitado y aprobaciónUna instancia dedicada y una lista de destinatarios revisada

Preguntas frecuentes

¿Dónde está el mcp.json de Cursor?

En .cursor/mcp.json dentro del proyecto o en ~/.cursor/mcp.json para todos los proyectos, según la documentación de Cursor leída el 11/11/2026.

¿Cómo evito escribir la clave en el archivo?

Usa la interpolación ${env:ZAPZAP_API_KEY} en el campo env. Cursor resuelve la variable al iniciar el servidor.

¿Funciona con npx -y zapzap-mcp?

Todavía no: el paquete no está en npm al 11/11/2026. Usa command node apuntando a dist/src/index.js después de compilar el repositorio.

¿El agente puede enviar mensajes sin que yo lo vea?

Por defecto Cursor pide aprobación antes de usar herramientas MCP. Mantenlo y usa ZAPZAP_READ_ONLY=true mientras solo necesites leer.

¿Cuánto cuesta?

Cuesta R$15 por número activo al mes, prepago, sin cobro por mensaje, y empiezas con un crédito de bienvenida al verificar el teléfono, sujeto a la campaña vigente.

Empieza ahora

Crea tu cuenta, conecta un número en minutos y prueba la API con calentamiento y anti-bloqueo. R$15 por número activo/mes, prepago, sin permanencia.