An open API service indexing awesome lists of open source software.

https://github.com/backsoul/mcp-n8n

Servidor MCP integrado con n8n y PostgreSQL para crear workflows inteligentes y herramientas personalizadas. Permite extender n8n con agentes AI y herramientas MCP, facilitando la automatización avanzada y la integración de modelos contextuales.
https://github.com/backsoul/mcp-n8n

ai-agent automation docker integration mcp n8n postgres tools typescript workflow-automation

Last synced: about 2 months ago
JSON representation

Servidor MCP integrado con n8n y PostgreSQL para crear workflows inteligentes y herramientas personalizadas. Permite extender n8n con agentes AI y herramientas MCP, facilitando la automatización avanzada y la integración de modelos contextuales.

Awesome Lists containing this project

README

          

# mcp-server

Servidor Model Context Protocol (MCP) construido con mcp-framework.

## 1. Instalación y ejecución

1. Instala las dependencias:

```bash
npm install
```

2. Compila el proyecto (esto es necesario cada vez que agregues o modifiques una tool):

```bash
npm run build
```

3. Levanta los contenedores MCP, n8n y postgres (esto reconstruye la imagen y toma los cambios):

```bash
docker-compose up mcp n8n postgres --build
```

Esto iniciará el servidor MCP, n8n y la base de datos postgres necesaria para n8n. Por defecto, n8n estará disponible en [http://localhost:5678](http://localhost:5678) en tu navegador.

Si solo quieres levantar n8n y postgres (por ejemplo, para pruebas de integración):

```bash
docker-compose up n8n postgres
```

> **Nota:** El servicio de postgres es requerido por n8n para almacenar los datos de workflows, credenciales y ejecuciones.

## 2. Crear una nueva Tool

Puedes crear una nueva tool usando el CLI del framework MCP. Ejemplo:

```bash
mcp add tool mi-nueva-tool
```

Esto generará un archivo en `src/tools/`. Edita el archivo para definir la lógica de tu tool.

Ejemplo básico:

```typescript
import { MCPTool } from "mcp-framework";
import { z } from "zod";

interface MiToolInput {
mensaje: string;
}

class MiTool extends MCPTool {
name = "mi_tool";
description = "Descripción de lo que hace tu tool";
schema = {
mensaje: {
type: z.string(),
description: "Mensaje de entrada",
},
};
async execute(input: MiToolInput) {
return `Procesado: ${input.mensaje}`;
}
}

export default MiTool;
```

Recuerda ejecutar `npm run build` y reiniciar el contenedor para que la nueva tool esté disponible.

## 3. Integración con n8n

Para conectar n8n con MCP, configura el nodo MCP Client en n8n con la URL de tu servidor MCP, por ejemplo:
`http://mcp:8080/mcp`

Asegúrate de que el contenedor MCP esté corriendo y accesible desde n8n.

### Ejemplo de configuración visual

#### Configuración del Webhook en n8n

![WebhookConfig](./WebHookConfig.png)

#### Configuración del nodo AI Agent

![AIAgentConfig](./AIAgentConfig.png)

#### Configuración del nodo MCP Client

![MCPClientConfig](./MCPClientConfig.png)

#### Ejemplo de workflow completo

![FullWorkFlow](./FullWorkFlow.png)

## 4. Notas adicionales

- Si agregas nuevas tools o modificas el código, siempre ejecuta `npm run build` antes de reiniciar el contenedor.
- El contenedor MCP debe levantarse con el flag `--build` para tomar los cambios.
- Las imágenes incluidas muestran ejemplos de configuración en n8n para facilitar la integración.

- Para acceder a la interfaz de n8n, abre [http://localhost:5678](http://localhost:5678) en tu navegador.

## 5. Recursos

- [MCP Framework Github](https://github.com/QuantGeekDev/mcp-framework)
- [MCP Framework Docs](https://mcp-framework.com)