Skip to main content
Glama
csenguttuvan

Hermes n8n MCP

by csenguttuvan

Hermes n8n MCP Plus

Puente MCP stdio local para gestionar n8n desde Hermes Agent — ahora con herramientas de escritura.

Esto es un fork de CyberSamuraiX/hermes-n8n-mcp, ampliado con create_workflow, update_workflow y delete_workflow además del conjunto original de herramientas de solo lectura/operaciones. Le da a Hermes una gestión completa de flujos de trabajo de n8n sin exponer n8n a través de internet público y sin poner claves de API en la configuración de Hermes.

Qué hace

Expone estas herramientas MCP:

  • health — comprueba la accesibilidad de la API de n8n y el estado opcional del contenedor Docker

  • list_workflows — lista flujos de trabajo, opcionalmente filtrados por estado activo

  • get_workflow — inspecciona un flujo de trabajo con los campos que contienen secretos redactados

  • find_workflows — busca metadatos de flujos de trabajo

  • list_executions — lista ejecuciones recientes

  • get_execution — inspecciona una ejecución; los datos del payload están desactivados por defecto

  • recent_failures — ejecuciones recientes fallidas/erróneas

  • export_workflow — obtiene el JSON redactado del flujo de trabajo para copia de seguridad o revisión

  • activate_workflow — activa un flujo de trabajo por ID

  • deactivate_workflow — desactiva un flujo de trabajo por ID

  • container_logs — registros de Docker opcionales con redacción a nivel de línea

  • create_workflow — crea un nuevo flujo de trabajo a partir de una definición JSON. Dry-run por defecto.

  • update_workflow — parchea un flujo de trabajo existente por ID (nombre, nodos, conexiones, configuración, etiquetas). Muestra una vista previa del estado actual antes de aplicar. Dry-run por defecto.

  • delete_workflow — elimina permanentemente un flujo de trabajo por ID. Muestra una vista previa de una copia de seguridad exportada antes de eliminar. Dry-run por defecto.

Las tres herramientas de escritura requieren un argumento explícito confirm=true para mutar realmente cualquier cosa. Si se llaman con confirm=false (el valor por defecto), devuelven una vista previa de lo que ocurriría y no hacen ninguna llamada a la API que modifique n8n.

Related MCP server: n8n-ops-mcp

Postura de seguridad

  • Solo stdio. Sin servidor HTTP. Sin puerto público.

  • La clave de API se carga desde el entorno o desde un archivo dotenv local.

  • .env está en gitignore.

  • La configuración de ejemplo usa REPLACE_ME, nunca una clave real.

  • Las respuestas de las herramientas redactan los campos evidentes de credenciales, tokens, secretos, contraseñas y autorización.

  • Los datos del payload de ejecución están desactivados por defecto en get_execution.

  • La activación/desactivación, creación, actualización y eliminación de flujos de trabajo son mutaciones de producción. Trátalas como armas cargadas.

  • Las herramientas de escritura usan por defecto una vista previa dry-run; no se crea, parchea ni elimina nada a menos que quien llama pase explícitamente confirm=true.

  • delete_workflow siempre obtiene una vista previa de exportación/copia de seguridad del flujo de trabajo antes de que se ejecute una eliminación confirmada.

Requisitos

  • Python 3.10+

  • Hermes Agent con MCP nativo habilitado

  • Clave de API de n8n

  • n8n accesible desde la máquina que ejecuta Hermes, normalmente http://127.0.0.1:5678

Fijación de dependencia crítica: mcp==1.29.0

El paquete oficial mcp de PyPI publicó una v2.0.0 incompatible el 2026-07-28 que eliminó mcp.server.fastmcp por completo (renombrado a MCPServer, movió las rutas de los módulos, sustituyó httpx por httpx2, entre otros cambios). Si requirements.txt usa una restricción flexible como mcp>=1.29.0, pip install resolverá a 2.0.0 y el servidor fallará al importarse con:

ModuleNotFoundError: No module named 'mcp.server.fastmcp'

Este repositorio fija mcp==1.29.0 (la última versión estable anterior a la v2) como una fijación estricta, no como un mínimo. No aflojes esta restricción hasta que el código se migre a la API v2 de MCPServer. Si alguna vez ves el error anterior, comprueba pip show mcp — si indica 2.0.0 o más reciente, ejecuta:

pip uninstall -y mcp
pip install "mcp==1.29.0"

Instalación

git clone https://github.com/csenguttuvan/hermes-n8n-mcp-plus.git
cd hermes-n8n-mcp-plus
python3 -m venv .venv
. .venv/bin/activate
pip install -r requirements.txt

Verifica que la instalación haya dejado la versión correcta del SDK antes de continuar:

pip show mcp
python -c "from mcp.server.fastmcp import FastMCP; print('OK')"

Guarda tu clave de n8n

Versión manual:

install -d -m 700 ~/.config/n8n-mcp-plus
cat > ~/.config/n8n-mcp-plus/env <<'EOF'
N8N_BASE_URL=http://127.0.0.1:5678
N8N_API_KEY=REPLACE_ME
N8N_MCP_TIMEOUT=30
N8N_CONTAINER_NAME=n8n
N8N_MCP_ALLOW_DOCKER_LOGS=true
EOF
chmod 600 ~/.config/n8n-mcp-plus/env

Reemplaza REPLACE_ME localmente. No confirmes el archivo real.

Las herramientas de este fork también leen N8N_API_KEY / N8N_API_URL directamente del entorno, no solo de un archivo dotenv, así que también puedes inyectarlas directamente desde ~/.hermes/config.yaml usando la interpolación ${N8N_API_KEY} — ver más abajo.

Configuración de Hermes

Añade esto a ~/.hermes/config.yaml bajo mcp_servers. Si el puente original n8n ya está registrado, añade esto como una segunda entrada separada (n8n_plus) en lugar de reemplazarlo — esto mantiene disponible una alternativa segura de solo lectura:

mcp_servers:
  n8n:
    command: /Users/admin/.hermes/mcp-installs/n8n/.venv/bin/python
    args:
      - /Users/admin/.hermes/mcp-installs/n8n/server.py
    enabled: true
    env:
      N8N_API_KEY: "${N8N_API_KEY}"
      N8N_API_URL: "http://localhost:5678/api/v1"

  n8n_plus:
    command: /Users/admin/projects/hermes-n8n-mcp-plus/.venv/bin/python
    args:
      - /Users/admin/projects/hermes-n8n-mcp-plus/server.py
    enabled: true
    env:
      N8N_API_KEY: "${N8N_API_KEY}"
      N8N_API_URL: "http://localhost:5678/api/v1"

La sangría importa. Tanto n8n: como n8n_plus: deben estar al mismo nivel de sangría, directamente bajo mcp_servers:, sin que ninguna otra clave de nivel superior interrumpa el bloque entre medias. Valida que el archivo se analiza correctamente antes de recargar:

python3 -c "import yaml; d = yaml.safe_load(open('/Users/admin/.hermes/config.yaml')); print(list(d.get('mcp_servers', {}).keys()))"

Luego recarga MCP en Hermes:

/reload-mcp

O desde la shell:

hermes mcp test n8n_plus

Las herramientas se registran con el prefijo del nombre del servidor, p. ej. mcp__n8n_plus__create_workflow, mcp__n8n_plus__health, distintas de las herramientas mcp__n8n__* del puente original si ambos se ejecutan en paralelo.

Smoke test fuera de Hermes

. .venv/bin/activate
python -m py_compile server.py
python -c "import server; print('imported OK')"
hermes mcp test n8n_plus

Si import server se bloquea o lanza ModuleNotFoundError: No module named 'mcp.server.fastmcp', revisa de nuevo la fijación mcp==1.29.0 anterior — esto casi siempre es un problema de versión de dependencias, no de código.

Uso de las herramientas de escritura

Las tres herramientas de escritura siguen el mismo patrón de dry-run por defecto. Ejemplo de flujo para create_workflow:

Call mcp__n8n_plus__create_workflow with workflow={"name": "test", "nodes": [], "connections": {}} and confirm=false.

Devuelve una vista previa, sin mutación:

{
  "ok": false,
  "error": "Dry run only. Set confirm=true to create the workflow.",
  "workflow_preview": { "name": "test", "nodes": [], "connections": {} }
}

Una vez que la vista previa se vea correcta, vuelve a ejecutarlo con confirm=true para crearlo de verdad. El mismo patrón se aplica a update_workflow (muestra una vista previa del estado actual y del parche propuesto) y a delete_workflow (muestra una vista previa de una copia de seguridad exportada antes de eliminar).

Orden de pruebas recomendado para cualquier entorno nuevo: create_workflow, luego list_workflows para confirmar que se creó, después update_workflow y finalmente delete_workflow — cada uno con un flujo de trabajo desechable, verificado contra la interfaz de n8n en cada paso.

Registros de Docker

container_logs ejecuta Docker desde la shell. Si el usuario que ejecuta Hermes no puede acceder a Docker, configura:

N8N_MCP_ALLOW_DOCKER_LOGS=false

El resto de herramientas de la API seguirán funcionando.

Notas para uso en producción

  • Mantén n8n vinculado a loopback detrás de tu proxy inverso.

  • No expongas este puente MCP a través de Caddy, nginx ni puertos de Docker.

  • Rota las claves de API de n8n si alguna vez aparecen en registros de chat, terminales, salida de CI, capturas de pantalla o rastreadores de incidencias.

  • Haz copias de seguridad de los flujos de trabajo antes de mutarlos. Tanto update_workflow como delete_workflow muestran una vista previa del estado antes de confirmar, pero comprueba siempre la vista previa tú mismo antes de pasar confirm=true.

  • No aflojes nunca la fijación mcp==1.29.0 en requirements.txt sin probar antes contra la API v2 de MCPServer.

Hoja de ruta

  • Migrar de FastMCP (v1.x) a MCPServer (v2.x) una vez que la API v2 se estabilice y el conjunto de herramientas de este fork se verifique como compatible.

  • Considerar añadir run_workflow como cuarta herramienta de escritura para disparadores de ejecución manual.

Licencia

MIT. Consulta LICENSE.

A
license - permissive license
Not graded
quality - not tested
B
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for n8n workflow automation, enabling management of workflows, executions, credentials, tags, users, and webhooks via an MCP-compatible client.
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    Provides ops-focused n8n tools for MCP-compatible agents, enabling listing, inspecting, triggering, validating, managing tags, running security audits, and safely editing n8n workflows with auto-backup and confirm gates.
    20
    81
    1
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    MCP server for managing n8n workflows and executions. Enables listing, activating, deactivating, and executing workflows, as well as monitoring executions and instance health.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Free and open-source MCP server for managing n8n workflows, executions, and tags via n8n's API. Enables workflow creation, activation, debugging, and deletion from any MCP client.
    12
    2
    MIT

View all related MCP servers

Related MCP Connectors

  • Create, browse, remix, collaborate on, and run durable AI workflow nodes from MCP hosts.

  • Personal assistant MCP server with search, execute, packages, jobs, secrets, and integrations.

  • MCP server for secureFlows: token-free URL builders and integration-linting tools for AI agents.

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/csenguttuvan/hermes-n8n-mcp-plus'

If you have feedback or need assistance with the MCP directory API, please join our Discord server