n8n-nodes-mcp-chatbots
v0.1.8
Published
n8n community nodes for Model Context Protocol (MCP) integration
Maintainers
Readme
@getsupervisor/mcp-n8n
Una librería independiente que implementa el protocolo MCP (Model Context Protocol) para n8n, permitiendo la creación de servidores y clientes MCP como nodos personalizados.
🚀 Características
- Servidor MCP: Expone herramientas de n8n como un servidor MCP endpoint
- Cliente MCP: Conecta a servidores MCP externos para usar sus herramientas
- Transporte SSE: Soporte para Server-Sent Events
- Transporte HTTP: Soporte para HTTP streaming
- Autenticación: Bearer Auth, Header Auth y JWT
- TypeScript: Completamente tipado para mejor experiencia de desarrollo
📦 Instalación
npm install @getsupervisor/mcp-n8n🛠️ Uso
Importar los nodos
import { SupervisorMcpServer, SupervisorMcpClient } from '@getsupervisor/mcp-n8n';Importar utilidades
import {
McpToolkit,
connectMcpClient,
getAllTools,
getAuthHeaders,
McpServerManager
} from '@getsupervisor/mcp-n8n';🔧 Nodos Disponibles
SupervisorMcpServer
Nodo trigger que expone herramientas de n8n como un servidor MCP.
Características:
- Múltiples métodos de autenticación (None, Bearer Auth, Header Auth)
- Soporte para SSE y HTTP streaming
- Configuración de rutas personalizadas
- Manejo automático de sesiones
Configuración:
authentication: Método de autenticaciónpath: Ruta base para el servidor MCP
SupervisorMcpClient
Nodo que conecta a servidores MCP externos para usar sus herramientas.
Características:
- Conexión a endpoints SSE
- Filtrado de herramientas (All, Selected, All Except)
- Autenticación configurable
- Manejo automático de errores
Configuración:
sseEndpoint: URL del servidor MCPauthentication: Método de autenticacióninclude: Modo de selección de herramientasincludeTools/excludeTools: Herramientas específicas
🔐 Autenticación
La librería soporta múltiples métodos de autenticación:
Bearer Auth
headers: {
'Authorization': 'Bearer your-token-here'
}Header Auth
headers: {
'X-Custom-Header': 'your-value-here'
}JWT Auth
Soporte completo para verificación JWT con claves públicas y secretos.
🏗️ Arquitectura
Componentes Principales
- McpServer: Maneja instancias de servidor MCP
- McpClient: Conecta a servidores MCP externos
- FlushingTransport: Transporte optimizado para streaming
- Utilities: Funciones auxiliares para autenticación y validación
Estructura de Archivos
dist/
├── index.js # Punto de entrada principal
├── nodes/
│ ├── McpTrigger/
│ │ └── SupervisorMcpServer.node.js
│ └── McpClient/
│ ├── SupervisorMcpClient.node.js
│ ├── loadOptions.js
│ ├── types.js
│ └── utils.js
├── utils/
│ ├── helpers.js
│ ├── webhookAuth.js
│ ├── sharedFields.js
│ ├── logWrapper.js
│ └── schemaParsing.js
├── client.js
├── types.js
├── FlushingTransport.js
└── McpServer.js🧪 Desarrollo
Compilar la librería
pnpm buildDesarrollo con watch
pnpm devLimpiar archivos generados
pnpm clean📋 Dependencias
Principales
@langchain/core: ^0.3.59langchain: ^0.3.28@modelcontextprotocol/sdk: ^1.12.0n8n-workflow: ^1.98.0zod: ^3.25.67jsonwebtoken: ^9.0.2basic-auth: ^2.0.1
Desarrollo
@n8n/typescript-config: ^1.2.0@types/jsonwebtoken: ^9.0.7@types/basic-auth: ^1.1.8tsup: ^8.5.0rimraf: ^6.0.1
🔄 Migración desde n8n-langchain
Si vienes de los nodos MCP originales de n8n-langchain:
Cambia las importaciones:
// Antes import { McpTrigger } from '@n8n/nodes-langchain'; // Después import { SupervisorMcpServer } from '@getsupervisor/mcp-n8n';Actualiza nombres de nodos:
mcpTrigger→supervisorMcpServermcpClientTool→supervisorMcpClient
📝 Licencia
Esta librería está basada en el código original de n8n y mantiene la misma licencia.
🤝 Contribuciones
Las contribuciones son bienvenidas. Por favor:
- Fork el repositorio
- Crea una rama para tu feature
- Commit tus cambios
- Push a la rama
- Abre un Pull Request
📞 Soporte
Para reportar bugs o solicitar features, por favor abre un issue en el repositorio.
Nota: Esta librería es independiente y auto-contenida. No requiere instalación de n8n para funcionar, solo las dependencias especificadas en package.json.
