# Nous-approved MCP catalog entry.
# Presence in this directory = approval. Merged via PR review.
#
# Schema version 1.
manifest_version: 1

name: n8n
description: Manage and inspect n8n workflows from Hermes (stdio bridge, no public port).
source: https://github.com/CyberSamuraiX/hermes-n8n-mcp

# How to launch the server once installed. The keys here map 1:1 to the
# `mcp_servers.<name>` block written into ~/.hermes/config.yaml by the
# existing `_save_mcp_server()` helper in hermes_cli/mcp_config.py.
transport:
  type: stdio
  # For git-installed servers, ${INSTALL_DIR} is substituted at install time
  # with the path the catalog cloned the repo into. The catalog never
  # auto-updates: the user re-runs `hermes mcp install official/n8n` to
  # refresh.
  command: "${INSTALL_DIR}/.venv/bin/python"
  args:
    - "${INSTALL_DIR}/server.py"

# Optional install step. Omit for npm/uvx servers where transport.command
# is the install (`npx -y package`). Use for repos that need a local clone
# + dependency install.
install:
  type: git
  url: https://github.com/CyberSamuraiX/hermes-n8n-mcp.git
  # Pin to a commit/tag. Required — manifests do not float HEAD.
  ref: main
  # Bootstrap commands run inside the cloned directory after clone.
  bootstrap:
    - "python3 -m venv .venv"
    - ".venv/bin/pip install -r requirements.txt"

# Authentication. Three shapes:
#   type: api_key  — prompt for env vars, write to ~/.hermes/.env
#   type: oauth    — provider-mediated or remote MCP native OAuth (case 1/2)
#   type: none     — no credentials needed
auth:
  type: api_key
  env:
    - name: N8N_BASE_URL
      prompt: "n8n instance URL"
      default: "http://127.0.0.1:5678"
      required: true
      secret: false
    - name: N8N_API_KEY
      prompt: "n8n API key (generate under Settings → API)"
      required: true
      secret: true

# Tool selection at install time:
# n8n's bridge exposes 11 tools. Mutating ones (activate/deactivate, docker
# container_logs) are pruned from the default so a user who installs casually
# gets a read-mostly safe surface. Users see the full list in the install-time
# checklist and can opt into the mutating tools per their threat model.
tools:
  default_enabled:
    - health
    - list_workflows
    - get_workflow
    - find_workflows
    - list_executions
    - get_execution
    - recent_failures
    - export_workflow

post_install: |
  The n8n bridge expects to talk to a running n8n instance over the URL you
  provided. Generate an API key in n8n under Settings → API.

  Workflow activate/deactivate calls are real mutations against your live n8n.
  Treat them carefully.

  Start a new Hermes session to load the n8n tools.
