Interactuar eficientemente con el MCP Server desde una herramienta como N8N puede facilitar significativamente tareas operativas y mejorar la agilidad en consultas rápidas. Para ello es esencial comprender claramente cómo configurar un flujo de trabajo usando MCP client, N8N, y un modelo AI como GPT de OpenAI.
¿Cómo crear un nuevo workflow con MCP client?
El primer paso esencial es crear un flujo de trabajo en N8N para vincularlo con el servidor MCP:
Haz clic en Create workflow situado en la esquina superior derecha.
Nombra el flujo con un título claro, por ejemplo, MCP client, Tzitopia.
Añade un chat trigger desde la opción "más" para activar el chat de N8N.
¿Cómo configurar MCP client y SSE endpoint?
Esta configuración es clave para garantizar la conexión correcta con tu servidor MCP:
Selecciona AI agent y escoge define below para personalización posterior.
Ve al apartado Tool, luego elige MCP client.
Copia el SSI endpoint desde la configuración del MCP server trigger, asegurándote de que esté en producción y activo.
En "Tools to include", selecciona únicamente aquellas herramientas necesarias (por ejemplo, "performance").
Es recomendable utilizar autenticación para mayor seguridad.
¿Cómo configurar memoria, chat y prompt para tu AI agent?
Configurar correctamente estos elementos asegura la operatividad del agente AI:
En Chat model, selecciona OpenAI con las credenciales adecuadas (GPT-Forumini funciona bien).
Usa la opción Simple memory con un contexto suficiente (10 es adecuado).
Define claramente tanto el mensaje del usuario como el prompt, utilizando la notación JSON.
En la sección prompt user message, tu configuración lucirá similar a esto:
{"chat_input":"tuconsulta"}
Recuerda que el prompt debe configurarse como un system message, orientado a interactuar de manera eficaz con el MCP Server y Supabase.
¿Qué prueba sencilla valida que todo está funcionando correctamente?
Realizar una prueba rápida te permitirá verificar la correcta integración:
Usa la opción Open Chat y escribe una consulta clara y precisa, por ejemplo: "¿Cuántos colaboradores hay en el área legal?"
Confirma que obtienes una respuesta adecuada, como: "en el área legal hay un total de quince colaboradores".
Así comprobarás de inmediato que tu nueva configuración opera correctamente.
Imagen. En el tool del MCP Server Trigger deben hacer el cambio. En el video lo configura para select, se debe configurar para "Execute Query" y como query: {{ $fromAI("sql_query") }}. Aquí se podrían añadir otros postgres tools para que consulte las tablas existentes y sus definiciones.
También podrías modificar el prompt en el flow del MPC Client para que el AI Agent construya mejor la query a ejecutar, de momento le puse:
Eres un agente que se conecta al MCP Server Trigger, y a las herramientas que tiene disponible. El nombre exacto del departamento o área están en las tablas específicas, el usuario podría usar nombres semejantes o una mezcla de minúsculas o mayúsculas. Responde siempre según la base de datos y herramientas que tengas conectado.
Y ya con esto:
Con esto ya dio el número que coincide con la consulta en bd, estoy viendo que si haces preguntas distintas sobre otros datos no todos los devuelve como el tipo de trabajo
supongo que eso se revisa en el prompt para mejorar la respuesta
Propmt del ejercicio:Eres un agente que se conecta al MCP Server Trigger, y a las herramientas que tiene disponible.
Responde siempre según la base de datos en Supabase, nunca respondas información que no funciona
{{ $json.chatInput }}
Existe una inconsistencia, ya que al validar la respuesta con una consulta el resultado debe ser 44.
En el video da 15 colaboradores, con mi flujo me da 24. Algo no está procesando bien los datos de la BD.
Me pasa exactamente lo mismo
Lo mismo, tuve variadas respuestas, primero 18, después 38, despues 10 (truncado), despues 38 y despues 20.
Los MCP vuelven a la herramienta una nave espacial. Ya se acabó la época de repetir los tareas más de dos veces. Ya la solución esta a la mano.
En la configuracion del MCP Client del agente no me sale la opción performance, solo me sale la opción Postgres, alguién me podria ayudar a explicar por que ? y que implicaciones tiene esto ?
Así mismo, cuando hago la pregunta de "cuantos colaboradores hay en el área legal ?" la respuesta que me da el chat es "10 Colaboradores" y no 15, a que se puede deber este error ?
a mi me responde que son 18, pero revisando la BD realmente son 44. No se si se deba a alguna alucinación y por ahora también pediría ayuda a ver como se corrige eso.
ese nombre performance lo pone el profesor fuera de clase, como tú le pusiste postgres (o mejor dicho, no cambiaste el por defecto) ese es el que te aparece
Estoy usando la versión Community y en Tools to Include no deja seleccionar nada, ¿Hay que configurar algo adicional?
Encontré el problema: MCP utiliza una conexión SSE, y servidores web como traefik, nginx o coolify la comprimen, dejándola inservible.
La solución puede ser de dos formas:
Deshabilitar el módulo gzip en tu servidor web (nginx, traefik, etc)
Usar una url sin https, como http :// n8n.platzi .com/mcp
Hice esto y todo funcionó.
acabo de hacer la prueba localhost, y básicamente era porque no estaba activo el flujo :P
El chat trigger en n8n permite iniciar flujos automáticos basados en interacciones en un chat, como el de un agente inteligente. Su función principal es captar mensajes de los usuarios y activar un workflow que responda a esos mensajes. Esto facilita la integración de servicios y la creación de agentes inteligentes que interactúan en tiempo real con los usuarios, utilizando herramientas como MCP Client y bases de datos para consultas precisas.
Configuración usada con Azure AI:
Para lograr que mostrara los 44 Empleados hice un cambio en el MCP Server Trigger:
Excelente, me sirvio esta configuracion. Gracias!
MCP como dijo Freddy es una solucion de alto nivel y al alcance de un experto podrias configurar mas parametros mediante codigo de configuracion mas alla de la interfaz grafica
Explicación simple, sencilla y directo a la practica :D
Hola a todos, les dejo mi aporte dado que me han salido muchas inconsistencias (El conteno de colaboradores nunca es preciso, siempre falla).
De esta forma pude tener siempre resultados a acordes a lo que tenemos en SupaBase.
<u>Paso numero 1</u>
Modifican el nodo MCP / Postgree para que reciba un query. (Operation Execute Query) y Query "{{ $fromAI("sql_query") }}"
Ingresan al cliente MCP, y en nodo AI Agent, especificamente en el prompt ingresan el siguiente.
Rol
Eres un agente conectado al MCP Server Trigger con acceso de solo lectura a Supabase (PostgreSQL). Tu tarea es convertir preguntas de usuarios en consultas SQL correctas y eficientes sobre la tabla `empleados`.
Esquema (única tabla disponible)
empleados (
id int4 PRIMARY KEY,
nombres varchar,
apellidos varchar,
email varchar,
nacionalidad varchar,
fecha_nacimiento date,
fecha_ingreso_empresa date,
pais_base varchar,
tipo_trabajo varchar,
departamento varchar,
desempeno varchar,
nivel_salarial varchar
)
Reglas
1) Genera únicamente SQL `SELECT` (nunca INSERT/UPDATE/DELETE/DDL).
2) Usa solo las columnas listadas en el esquema. No inventes campos.
3) Si el usuario usa sinónimos:
- “empleados”, “colaboradores”, “trabajadores”, “ayudantes”, “staff” ⇒ registros de `empleados`.
4) Normalización de `departamento`: si el usuario lo escribe en minúsculas, conviértelo a “Title Case” (primera letra de cada palabra en mayúscula) para comparaciones por igualdad.
5) Para búsquedas por texto usa `ILIKE` cuando proceda; para fechas usa formato `YYYY-MM-DD`.
6) Si falta un dato indispensable (p. ej., rango de fechas o el campo por el que filtrar) y no puedes inferirlo con seguridad, pide una aclaración mínima.
7) Devuelve solo la consulta SQL en texto plano (sin explicaciones ni comentarios). Por defecto limita resultados con `LIMIT 100` y añade `ORDER BY` cuando sea útil.
Ejemplos de estilo (no los imprimas si no aplican):
-- Conteo por departamento: SELECT departamento, COUNT(*) FROM empleados GROUP BY departamento ORDER BY COUNT(*) DESC;
-- Filtrado por fecha: SELECT * FROM empleados WHERE fecha_ingreso_empresa BETWEEN '2025-01-01' AND '2025-06-30' LIMIT 100;
Es necesario tener este nivel de detalle de las tablas, dado que tiende dar datos incorrectos si no lo hacen. De esta forma, cualquier modelo es soportado.
Exacto! Gracias al prompt el modelo puede saber como dar la instruccion del query al MCP Server
A todos les dejo este corto, pero sustancioso video:
Son hacks de uso de n8n, adicional el autor tiene varios templates interesantes para probar y sumar a los del curso.
Abrazo
Que prosigue hacer con las respuestas erroneas que obtenemos?, que se tiene que hacer o solo es mejorar el promt (no lo creo)?
Para que la respuesta sea más fiable:
1. MCP CLIENT: En OpenAI Chat Model seleccionar un modelo más inteligente como o4-mini para evitar respuestas del estilo "No pude acceder a esa información" que son causadas porque generó mal la consulta SQL.
2. MCP SERVER: En nodo Postgres
- Tool Description: Set Manually con este texto "Herramienta para consultar la base de datos de empleados en Supabase. Permite ejecutar queries SQL sobre la tabla empleados y tablas relacionadas"
- Operation: Execute Query
- Query: {{ $fromAI("sql_query") }}
A mi me dió como resultado 17 colaboradores, en Supabase hice la consulta:
SELECT count(\*) FROM empleados WHERE departamento = 'Legal';
````	
Y da como resultado 44 pibes... Como dir+ia el Señor Cara de Papa: "Algo anda mal ᕙ(⇀‸↼‶)ᕗ " 
1. The Central Idea (The Core 💡): This class focuses on integrating the MCP Client with N8N to allow an AI agent to interact with an MCP Server via chat.
2. Key Points (In Bullet Points 📌):
Create a new workflow in N8N using a chat trigger.
Configure an AI agent by selecting OpenAI and setting up memory.
Connect the MCP Client node to the MCP Server endpoint.
Define a system message prompt for the AI agent to interact with the MCP.
3. The Crucial Example or Fact 🚀: The class demonstrates querying "Cuántos colaboradores hay en el área legal?" to show the functional interaction between the AI agent and the MCP server.
4. Connection or Next Step 🔗: This knowledge sets the stage for connecting with external clients like Cloud Desto, which will be covered in the next class.
🏛️ Senior Architect's Deep Dive
1. Critical Limitations & Edge Cases: ⚠️ The lecture explicitly mentions skipping authentication for simplicity, which is a major security limitation for production environments. Relying solely on the N8N chat trigger also limits external integration without further steps.
2. The Expert-Level Debate: ⚖️ "Security vs. Usability." The class prioritizes ease of setup (usability) by omitting authentication initially, but this creates a significant security trade-off for any real-world deployment.
3. Strategic Weakness (The "But..."): This is great, but the primary reliance on N8N's internal chat for user interaction significantly limits the agent's reach and practical application in a broader enterprise context.
Para quienes tienen un subdominio en su n8n selfhosted, es importante configurar su proxy reverse para aceptar las conexiones "sse". Estuve revisando varias horas por el que me daba timeout.
Buscando la documentacion y comentarios, di con la configuracion para que funcione correctamente.
Luego, es ir afinando el prompt del "AI Agent" para que el modelo sea mas "inteligente" creando los queries para consumir en Supabase.
Definitivamente, es una maravilla los MCP
🧠 Configurar Workflow con MCP Client en N8N y OpenAI
🔧 1. Crear el Workflow en N8N
✅ Haz clic en "Create workflow" (esquina superior derecha).
📝 Nombra el flujo:
Ejemplo → MCP client, Tzitopia.
💬 Añade un "Chat trigger" desde el menú "más".
🌐 2. Conectar MCP Client y el SSE Endpoint
🤖 Selecciona "AI Agent" → elige "define below".
🛠️ En "Tool", selecciona "MCP client".
📎 Copia el SSE endpoint desde la configuración del servidor MCP:
Asegúrate de que esté en producción y activo.
🧰 En "Tools to include", elige solo lo necesario:
Ejemplo → "performance".
🔒 Activa autenticación para más seguridad.
🧩 3. Configuración del AI Agent
🧠 Chat model: Selecciona OpenAI con las credenciales apropiadas.
Ejemplo → GPT-Forumini.
🗂️ Memoria: Usa Simple memory con contexto = 10.
🗨️ Prompt y mensaje del usuario (formato JSON):
{
"chat_input": "tuconsulta"
}
💡 El prompt debe ser un system message, orientado a trabajar con MCP Server y Supabase.
✅ 4. Validar que Funciona
🚀 Abre el chat con "Open Chat".
🧾 Escribe una consulta clara:
Ejemplo → "¿Cuántos colaboradores hay en el área legal?"
📬 Respuesta esperada:
"En el área legal hay un total de quince colaboradores."
Consulta, los datos de la base de datos, nunca viajan a open AI?, no me queda claro