Cursor + Claude Code + un MCP. Describís el workflow en lenguaje normal, Claude arma el JSON validado, y lo pegás en n8n con Cmd+V. Cero arrastrar nodos.
Setup en 10 minutos. Y te dura el resto del año.
n8n es buenísimo, pero abrir el canvas y arrastrar nodos uno por uno se vuelve lento. Cada workflow nuevo te toma 20-40 minutos entre ver tutoriales, encontrar el nodo correcto, configurar credenciales y probar.
Con este setup, el flujo cambia: le describís a Claude lo que querés en una frase, él te entrega el JSON validado, y lo importás a n8n con un Cmd+V. El bottleneck deja de ser n8n y vuelve a ser tu idea.
Funciona porque dos archivos hablan entre sí:
.cursor/mcp.json conecta Claude al paquete n8n-mcp, que conoce los 500+ nodos reales y sabe validarlos..cursor/rules/n8n-expert.mdc es un rule de Cursor que define el rol, las 7 skills oficiales de n8n, y el formato exacto de la respuesta.Si no tenés ya Cursor + Claude Code corriendo, andá primero a la guía 01 (Setup). Esta guía asume que ya los tenés funcionando.
En la raíz de tu proyecto, creá la carpeta .cursor/ (con el punto adelante) y adentro un archivo mcp.json con este contenido exacto. No le cambies nada, ni siquiera un espacio.
{
"mcpServers": {
"n8n-mcp": {
"command": "npx",
"args": ["-y", "n8n-mcp"],
"env": {
"MCP_MODE": "stdio",
"LOG_LEVEL": "error",
"DISABLE_CONSOLE_OUTPUT": "true"
}
}
}
}command + args hacen que Cursor arranque el paquete n8n-mcp con npx la primera vez (te lo descarga solo, no instalás nada a mano).MCP_MODE: stdio dice que la comunicación va por la entrada/salida estándar (la forma normal de conectar un MCP local).LOG_LEVEL + DISABLE_CONSOLE_OUTPUT silencian el ruido. Sin esto, Cursor llena la consola de logs cada vez que Claude consulta el MCP.Creá la carpeta .cursor/rules/ y adentro el archivo n8n-expert.mdc. Este archivo convierte a Claude en un agente experto en n8n con un proceso fijo: revisar templates primero, validar nodos, entregar Mermaid + JSON listo para pegar.
La cabecera (el frontmatter YAML entre los tres guiones) es esto:
--- description: Agente experto en diseño de workflows n8n con n8n-MCP y las 7 skills oficiales. globs: - "**/*.n8n.json" - "**/workflows/**" alwaysApply: true ---
description: lo que Cursor muestra cuando el rule se activa.globs: le decís a Cursor que cargue el rule cuando estés tocando archivos con esos patrones.alwaysApply: true: además, el rule está activo en todas tus sesiones del proyecto.El cuerpo del archivo (después del frontmatter) trae el rol del agente, las 7 skills oficiales de n8n (Expression Syntax, MCP Tools Expert, Workflow Patterns, Validation Expert, Node Configuration, Code JS, Code Python), los principios fundamentales, las 6 fases del proceso, y el formato de entrega obligatorio.
Los dos archivos ya están. Falta que Cursor los cargue.
Cmd + Shift + P → escribí Reload Window → Enter.Cmd + , → pestaña MCP.n8n-mcp. La primera vez puede tardar 20-30 segundos porque npx tiene que bajar el paquete.n8n-expert con el indicador activo.npx -y n8n-mcp manualmente. Si falla, te avisa qué le hace falta (normalmente es Node 18+ o permisos de npx). Cuando corra limpio, hacé Reload Window otra vez.Abrí Claude Code dentro de Cursor (escribí claude en la terminal del proyecto). Como el rule está activo, Claude ya sabe que tiene que entregar en el formato fijo. Probalo con un ejemplo concreto:
> Necesito un workflow que cuando entre > un email a Gmail con "factura" en el > asunto, guarde el adjunto en Drive y > me avise por Telegram con el nombre > del proveedor.
Claude consulta el MCP, busca templates, valida los nodos, y te responde con 4 piezas en orden:
flowchart LR
A[Gmail Trigger] --> B{Filter "factura"}
B -->|match| C[Drive Upload]
C --> D[Telegram Notify]
B -->|no match| E[stop]Qué hace el workflow en 3-5 líneas, qué credenciales necesitás (Gmail, Google Drive, Telegram Bot Token), y qué decisión tomó cada nodo.
{
"name": "Factura → Drive + Telegram",
"nodes": [
{
"parameters": { "filters": {...} },
"name": "Gmail Trigger",
"type": "n8n-nodes-base.gmailTrigger",
"position": [240, 300]
},
// ... 4 nodos más
],
"connections": { ... },
"active": true
}Una vez que el setup está, el costo de crear un workflow nuevo es un prompt. No abrís tutoriales, no buscás el nodo, no revisás la documentación. Le decís a Claude lo que querés y pegás el JSON.
Esa es la diferencia entre tener IA en tu workflow y tener IA como tu workflow.
Una vez que el setup está, cada workflow nuevo es un prompt. En la comunidad subo los prompts que uso, los flows que pego sin tocar, y los casos donde Claude se equivoca (sí, también pasa).
Ver todas las guías →