Servidor MCP basado en N8N

El desarrollo de las redes neuronales generativas se ha acelerado considerablemente en los últimos años. Se han vuelto notablemente más rápidas y precisas en sus respuestas y han aprendido a razonar. Sin embargo, sus capacidades siguen estando fundamentalmente limitadas por su arquitectura. Por ejemplo, todas las LLM existentes en el momento de escribir estas líneas tienen una fecha límite de conocimiento. Esto significa que, cada día que pasa, es más probable que un LLM de este tipo produzca respuestas incorrectas, simplemente porque carece de información sobre hechos ocurridos después de esa fecha.
Esta limitación obliga a reentrenar el modelo por completo con datos más recientes, lo que resulta caro y lleva mucho tiempo. Pero hay otra manera. Si se permite al modelo interactuar con el mundo exterior, puede encontrar y actualizar de forma independiente la información solicitada durante una conversación con el usuario, sin necesidad de volver a entrenarlo.
Así funciona, a grandes rasgos, el mecanismo RAG (Retrieval Augmented Generation). Al responder a una pregunta, el modelo consulta primero una base de datos vectorial preparada de antemano y, si encuentra información pertinente, la incorpora a la pregunta. Así, explicando y actualizando la BD vectorial, la calidad de las respuestas LLM puede mejorar mucho.
Pero hay otra forma aún más interesante de incorporar un contexto actualizado a las instrucciones. Se llama MCP, que significa Protocolo de Contexto de Modelo. Fue desarrollado originalmente por Anthropic para su modelo Claude. El momento clave llegó cuando el código fuente de MCP se hizo de código abierto, lo que permitió a miles de investigadores de IA construir servidores personalizados para diversos fines.
La esencia de MCP es dar a un modelo de red neuronal acceso a herramientas con las que pueda actualizar de forma independiente sus conocimientos y realizar diversas acciones para resolver eficazmente tareas dadas. El propio modelo decide qué herramienta utilizar y si es adecuada en cada situación.
El soporte para MCP no tardó en aparecer en varios IDE como Cursor, así como en plataformas de automatización como N8N. Esta última es especialmente intuitiva, ya que los flujos de trabajo se crean visualmente, lo que facilita su comprensión. En N8N, puedes conectarte a un servidor MCP existente o crear el tuyo propio. Además, puede incluso organizar una conexión directa dentro de un mismo flujo de trabajo. Pero vayamos por partes.
Creación de un agente AI simple
Antes de empezar, asegúrate de que se cumple el requisito principal, tienes un LLM listo para las conexiones. Esto podría ser un modelo que se ejecuta localmente usando Ollama o un servicio externo como ChatGPT de OpenAI. En el primer caso, necesitarás conocer la dirección de la API local de Ollama (y opcionalmente su autenticación), y en el segundo caso, necesitarás una cuenta activa de OpenAI con suficientes créditos.
La construcción de un agente comienza con el nodo clave AI Agent. Como mínimo, debe estar vinculado con otros dos nodos, uno para actuar como disparador, y el otro para conectarse al LLM. Si no especificas un disparador, el sistema creará uno automáticamente, disparando el agente al recibir cualquier mensaje en el chat interno:

La única pieza que falta es el LLM. Por ejemplo, puede utilizar nuestra Open WebUI: Todo en uno para configurar Ollama con una interfaz web. El único cambio necesario es que los contenedores para N8N y Open WebUI deben estar en la misma red. Por ejemplo, si el contenedor N8N está en una red llamada web, entonces en el comando de despliegue para Open WebUI, sustituya --network=host por --network=web.
En algunos casos, también tendrá que configurar manualmente la variable de entorno OLLAMA_HOST, por ejemplo: -e OLLAMA_HOST=0.0.0.0. Esto permite conexiones a la API de Ollama no sólo desde localhost sino también desde otros contenedores. Supongamos que Ollama se despliega en un contenedor llamado ollama-webui. Entonces la URL base para conectarse desde N8N sería:
http://open-webui:11434
Antes de conectar el nodo Ollama Chat Model, no olvide descargar al menos un modelo. Puede hacerlo desde la interfaz web o a través de la CLI del contenedor. El siguiente comando descargará el modelo Llama 3.1 con 8 mil millones de parámetros:
ollama pull llama3.1:8b
Una vez descargado e instalado, el modelo aparecerá automáticamente en la lista de disponibles:

Un flujo de trabajo mínimo de un Agente AI tiene este aspecto:

En esta forma, el agente sólo puede utilizar un modelo y no almacena datos de entrada ni mejora las peticiones utilizando herramientas externas. Así que tiene sentido añadir al menos el nodo Simple Memory. Para cargas ligeras, es suficiente con almacenar peticiones y respuestas.
Pero volvamos a MCP. Para empezar, crea un servidor utilizando el nodo especial MCP Server Trigger:

Este nodo es totalmente autónomo y no requiere activación externa. Se activa únicamente mediante una solicitud externa entrante a su dirección webhook. Por defecto, hay dos URL: Test URL y Production URL. La primera se utiliza durante el desarrollo, mientras que la segunda sólo funciona cuando el flujo de trabajo se guarda y se activa.

El disparador es inútil por sí solo, necesita herramientas conectadas. Por ejemplo, conectemos una de las herramientas más sencillas: una calculadora. Esperará una expresión matemática como entrada. Los nodos se comunican usando JSON plano, así que para que la calculadora calcule 2 + 2, la entrada debería ser:
[
{
"query": {
"input": "2 + 2"
}
}
]
Los LLM pueden generar fácilmente este tipo de JSON a partir de descripciones de tareas en texto plano y enviarlas al nodo, que realiza los cálculos y devuelve el resultado. Conectemos el cliente MCP al agente:

Cabe destacar que este nodo no necesita conexiones adicionales. En su configuración, basta con especificar la dirección del endpoint al que enviará los datos desde el Agente AI. En nuestro ejemplo, esta dirección apunta al contenedor llamado n8n.

Por supuesto, en esta etapa puede especificar cualquier dirección de servidor MCP externo disponible para usted. Pero para este artículo, utilizaremos una instancia local que se ejecuta dentro de N8N. Veamos cómo se comportan el cliente y el servidor cuando se le pide al Agente AI que realice una simple operación matemática:

Al recibir la petición, el Agente AI:
- Busca en la Memoria Simple para ver si el usuario preguntó esto antes o si algún contexto puede ser reutilizado.
- Enviará la petición al LLM, que descompondrá correctamente la expresión matemática y preparará el JSON correspondiente.
- Envía el JSON a la herramienta Calculadora y recibe el resultado.
- Utilizar el LLM para generar la respuesta final e insertar el resultado en la respuesta.
- Almacenar el resultado en la memoria simple.
- Emitir el mensaje en el chat.

De forma similar, los agentes pueden trabajar con otras herramientas en el servidor MCP. En lugar de Simple Memory, se pueden utilizar opciones más avanzadas como MongoDB, Postgres, Redis, o incluso algo como Zep. Por supuesto, estos requieren un mantenimiento mínimo de la base de datos, pero el rendimiento general aumentará significativamente.
También hay muchas más opciones para la selección de herramientas. El nodo MCP Server Trigger admite más de 200 herramientas. Puede tratarse de cualquier cosa, desde simples solicitudes HTTP hasta integraciones prediseñadas con servicios públicos de Internet. Dentro de un mismo flujo de trabajo, puedes crear tanto un servidor como un cliente. Una cosa importante a tener en cuenta: estos nodos no se pueden conectar visualmente en el editor, y ese es el comportamiento esperado:

En lugar del desencadenante predeterminado, puede utilizar otras opciones, como la recepción de un mensaje a través de un mensajero, el envío de un formulario de un sitio web o la ejecución en un horario. Esto le permite configurar flujos de trabajo que reaccionan a eventos o realizan operaciones rutinarias como exportaciones diarias de datos de Google Ads.
Y ahí no acaban las posibilidades de los agentes de IA. Puedes crear sistemas multiagente utilizando diferentes modelos de redes neuronales que trabajen juntos para resolver tareas con mayor precisión, teniendo en cuenta muchos más factores influyentes en el proceso.
Véase también:
Actualizado: 12.08.2025
Publicado: 02.07.2025