README.md•2.72 kB
# MCP N8N Webhook Server
Servidor MCP (Model Context Protocol) para enviar datos a un webhook de n8n para almacenamiento e indexación.
## Descripción
Este servidor MCP permite a los asistentes de IA guardar información estructurada en n8n a través de webhooks. Es ideal para:
- Guardar conversaciones y logs de desarrollo
- Almacenar documentación de proyectos
- Indexar información para búsquedas posteriores
- Crear embeddings de contenido para RAG
## Instalación
```bash
npm install
npm run build
```
## Configuración
Crea un archivo `.env` basado en `config.example.env`:
```bash
cp config.example.env .env
```
Configura las variables de entorno:
- `N8N_WEBHOOK_URL`: URL base del webhook de n8n
- `N8N_WEBHOOK_ID`: ID único del webhook
- `N8N_API_KEY`: Clave de API para autenticación
- `N8N_INDEX_NAME`: Nombre del índice por defecto (opcional, default: PROJECT_CONVERSATIONS)
- `N8N_TABLE_CATEGORY`: Categoría de tabla por defecto (opcional, default: DEVELOPMENT_LOGS)
## Uso
### Modo desarrollo
```bash
npm run dev
```
### Modo inspector (para testing)
```bash
npm run inspector
```
### Modo producción
```bash
npm start
```
## Herramientas Disponibles
### `n8n_save_data`
Guarda información estructurada en el webhook de n8n.
**Parámetros:**
- `projectName` (requerido): Nombre del proyecto
- `projectCategory` (requerido): Categoría del proyecto
- `contentType` (requerido): Tipo de contenido
- `title` (requerido): Título del contenido
- `description` (requerido): Descripción del contenido
- `text` (requerido): Texto completo
- `tags` (requerido): Array de etiquetas
- `projectId` (opcional): ID del proyecto
- `projectStatus` (opcional): Estado del proyecto
- `language` (opcional): Idioma del contenido
- `indexName` (opcional): Nombre del índice
- `tableCategory` (opcional): Categoría de tabla
- `source` (opcional): Fuente de los datos
### `n8n_health_check`
Verifica la conectividad con el webhook de n8n.
## Estructura del Payload
El servidor envía datos en el siguiente formato:
```json
{
"metadata": {
"timestamp": "2025-07-02T10:30:00Z",
"source": "mcp_assistant",
"version": "1.0"
},
"project": {
"id": "proj_001",
"name": "Sistema de Embeddings",
"category": "AI_ML",
"status": "ACTIVE"
},
"content": {
"type": "CONVERSATION",
"title": "Implementación de almacenamiento vectorial",
"description": "Discusión sobre la arquitectura...",
"text": "Se está implementando un sistema...",
"tags": ["embeddings", "vectorial", "conversaciones"],
"language": "es"
},
"indexing": {
"index_name": "PROJECT_CONVERSATIONS",
"table_category": "DEVELOPMENT_LOGS"
}
}
```
## Licencia
MIT