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
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
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
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
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
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
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
| Objetivo | Usa | Por qué |
|---|---|---|
| Depurar webhook, verificar número, ver estado | Servidor MCP en modo lectura | El agente llama a la herramienta y muestra el resultado real |
| Escribir la integración en tu app | OpenAPI y llms.txt | El agente genera código con los endpoints y campos correctos |
| Enviar un mensaje de prueba | MCP con envío habilitado y aprobación | Una 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.
