Skip to main content
Glama
carlosjperez

n8n-mcp-connector

by carlosjperez

N8N MCP Connector v2.0.0

A high-performance Model Context Protocol (MCP) server that provides seamless integration with N8N automation platform. This connector enables AI assistants and other MCP clients to interact with N8N workflows, executions, and automation capabilities with enterprise-grade reliability and performance.

✨ Features

Core Capabilities

  • Workflow Management: Execute, list, and manage N8N workflows with advanced filtering

  • Execution Monitoring: Real-time tracking of workflow execution status and results

  • Advanced Operations: Create nodes, manage connections, and configure webhooks

  • Node Management: Full CRUD operations for individual workflow nodes

Performance & Reliability

  • Intelligent Caching: Multi-tier caching system with TTL and LRU eviction

  • Connection Pooling: Optimized HTTP connections for better performance

  • Circuit Breaker: Resilience patterns for external API failures

  • Metrics & Monitoring: Comprehensive performance tracking and health checks

  • Rate Limiting: Built-in protection against API abuse

Developer Experience

  • Type Safety: Full TypeScript implementation with strict typing

  • Modular Architecture: Clean, maintainable, and extensible codebase

  • Comprehensive Testing: Unit, integration, and E2E test coverage

  • Rich Documentation: Detailed guides and API documentation

  • Configuration Management: Centralized, validated configuration system

CI/CD License: MIT Node.js Version

Related MCP server: MCP Server for n8n Integration

🚀 Quick Start

Prerequisites

  • Active n8n instance

  • API access configured in n8n

  • Claude Desktop installed

📦 Instalación Remota (Recomendado)

Nuestros scripts de instalación ahora detectan automáticamente el mejor ejecutor de paquetes (uvx, npx, npm) disponible en tu sistema para una experiencia más fluida y un rendimiento óptimo.

Puedes anular el ejecutor detectado configurando la variable de entorno RUNNER. Por ejemplo: RUNNER=npm ./install-remote.sh.

Opción A: Ejecución Remota con Runner Dinámico

# Instalación automática
curl -fsSL https://raw.githubusercontent.com/carlosjperez/n8n-mcp-connector/main/install-remote.sh | bash
# Selecciona la opción 1

Opción B: MCP.so

# Instalación automática
curl -fsSL https://raw.githubusercontent.com/carlosjperez/n8n-mcp-connector/main/install-remote.sh | bash
# Selecciona opción 2 (MCP.so)

🔧 Instalación Local (Desarrollo)

# Clone repository
git clone https://github.com/carlosjperez/n8n-mcp-connector.git
cd n8n-mcp-connector

# Install dependencies
npm install

# Configure environment
cp .env.example .env
# Edit .env with your n8n credentials

# Build and start
npm run build
npm start

Environment Configuration

# Required: n8n instance URL
N8N_BASE_URL=http://localhost:5678

# Option 1: API Key authentication (recommended)
N8N_API_KEY=your_api_key_here

# Option 2: Username/Password authentication
N8N_USERNAME=your_username
N8N_PASSWORD=your_password

Claude Desktop Integration

Nota: Los scripts de instalación se encargan de esto automáticamente. La siguiente configuración es un ejemplo. El campo command será rellenado por el script de instalación con el ejecutor de paquetes detectado (uvx, npx, o npm).

📦 Configuración de Ejecución Remota (Ejemplo)

{
  "mcpServers": {
    "n8n-workflows": {
      "command": "npx",
      "args": ["n8n-mcp-connector"],
      "env": {
        "N8N_BASE_URL": "https://tu-instancia-n8n.com",
        "N8N_API_KEY": "tu_api_key_aqui"
      }
    }
  }
}

☁️ Configuración MCP.so (Totalmente remoto)

{
  "mcpServers": {
    "n8n-workflows": {
      "command": "mcp",
      "args": ["install", "n8n-workflows/carlosjperez"],
      "env": {
        "N8N_BASE_URL": "https://tu-instancia-n8n.com",
        "N8N_API_KEY": "tu_api_key_aqui"
      }
    }
  }
}

🔧 Configuración Local (Desarrollo)

{
  "mcpServers": {
    "n8n-automation": {
      "command": "node",
      "args": ["./dist/index.js"],
      "cwd": "/absolute/path/to/n8n-mcp-connector",
      "env": {
        "N8N_BASE_URL": "http://localhost:5678",
        "N8N_API_KEY": "your_api_key_here"
      }
    }
  }
}

🛠️ Available Tools

The MCP server provides comprehensive tools for N8N automation:

Core Workflow Tools

  • execute_workflow: Execute workflows with advanced options and monitoring

  • list_workflows: List workflows with filtering, pagination, and caching

  • get_workflow: Get detailed workflow information with intelligent caching

  • get_execution_status: Real-time execution status with performance metrics

  • list_executions: List executions with filtering and statistics

  • activate_workflow: Activate/deactivate workflows with validation

  • create_webhook: Create webhook endpoints with security options

Advanced Node Management

  • create_node: Create new nodes with validation and type checking

  • update_node: Update existing nodes with conflict detection

  • delete_node: Safely remove nodes with dependency checking

  • create_connection: Create connections with validation

  • delete_connection: Remove connections with impact analysis

Monitoring & Diagnostics

  • Built-in health checks and status monitoring

  • Performance metrics and cache statistics

  • Error tracking and debugging tools

  • Connection pool and resource monitoring

🧪 Testing

Comprehensive testing strategy with multiple test types:

# Run all tests
npm test

# Run specific test suites
npm run test:unit        # Unit tests
npm run test:integration # Integration tests
npm run test:e2e         # End-to-end tests

# Run with coverage
npm run test:coverage

# Run in watch mode
npm run test:watch

# Performance testing
npm run test:performance

🔧 Development

# Start development server with hot reload
npm run dev

# Development with debug logging
DEBUG=n8n-mcp:* npm run dev

# Code quality
npm run lint             # ESLint
npm run format           # Prettier
npm run type-check       # TypeScript

# Build optimization
npm run build:analyze    # Bundle analysis
npm run build:production # Optimized build

🏗️ Architecture

The connector follows a modern, scalable architecture with performance optimizations:

src/
├── config/           # Centralized configuration management
│   └── index.ts      # Validated configuration with defaults
├── clients/          # External service clients
│   └── n8n-client.ts # N8N API client with caching & pooling
├── handlers/         # MCP tool handlers
│   ├── tool-handlers.ts
│   └── advanced-tool-handlers.ts
├── utils/            # Utility modules
│   ├── cache.ts      # Intelligent caching system
│   ├── metrics.ts    # Metrics and monitoring
│   ├── logger.ts     # Structured logging
│   ├── validator.ts  # Input validation
│   └── resilience.ts # Circuit breaker & retry logic
└── index.ts          # Main server with monitoring

Key Design Patterns

  • Singleton Pattern: Configuration and client instances

  • Factory Pattern: Tool handler creation

  • Observer Pattern: Event-driven metrics collection

  • Circuit Breaker: Resilience for external API calls

  • Cache-Aside: Intelligent caching with TTL and LRU eviction

Performance Features

  • Multi-tier Caching: Different TTL for different data types

  • Connection Pooling: Optimized HTTP connections

  • Request Batching: Efficient API usage

  • Lazy Loading: On-demand resource initialization

  • Memory Management: Automatic cleanup and optimization

📊 Performance Metrics

Expected Performance

  • Request Latency: < 100ms (cached), < 500ms (uncached)

  • Throughput: > 1000 requests/minute

  • Cache Hit Ratio: > 80% for repeated requests

  • Memory Usage: < 512MB under normal load

  • Uptime: > 99.9% availability

Monitoring

# Health check
curl http://localhost:3000/health

# Detailed metrics
curl http://localhost:3000/metrics

# Cache statistics
curl http://localhost:3000/health/detailed

📚 Documentation

⚙️ Configuration

The connector uses a hierarchical configuration system with environment variables. Copy .env.example to .env and configure:

Required Settings

  • N8N_BASE_URL: Your N8N instance URL (e.g., http://localhost:5678)

  • N8N_API_KEY: Your N8N API key (get from N8N Settings > API Keys)

Performance Settings

# Cache Configuration
CACHE_DEFAULT_TTL=600000          # 10 minutes default TTL
CACHE_WORKFLOWS_DETAILS_TTL=600000 # Workflow details cache
CACHE_EXECUTIONS_COMPLETED_TTL=1800000 # Completed executions cache

# Connection Settings
CONNECTION_POOL_SIZE=10           # HTTP connection pool size
REQUEST_TIMEOUT=30000             # Request timeout
CIRCUIT_BREAKER_THRESHOLD=5       # Circuit breaker threshold

# Monitoring
MONITORING_ENABLED=true           # Enable metrics collection
METRICS_INTERVAL=30000            # Metrics collection interval

Environment-Specific Settings

# Development
NODE_ENV=development
LOG_LEVEL=debug
DEBUG=n8n-mcp:*

# Production
NODE_ENV=production
LOG_LEVEL=warn
MONITORING_ENABLED=true

🔒 Security

  • Environment-based credential management

  • Input validation and sanitization

  • Rate limiting and timeout protection

  • Error isolation without information leakage

📚 Usage Examples

Basic Workflow Execution

Ask Claude: "Execute the data-processing workflow with customer ID 12345"

Monitoring Active Workflows

Ask Claude: "Show me all running workflows and their current status"

Webhook Creation

Ask Claude: "Create a webhook for the order-processing workflow"

🤝 Contributing

  1. Fork the repository

  2. Create a feature branch (git checkout -b feature/amazing-feature)

  3. Commit your changes (git commit -m 'Add amazing feature')

  4. Push to the branch (git push origin feature/amazing-feature)

  5. Open a Pull Request

📄 License

This project is licensed under the MIT License - see the LICENSE file for details.

🤖 Sistema de Automatización

¡NUEVO! Sistema automatizado de gestión de errores CI/CD con integración Linear:

  • Detección automática de fallos en CI/CD

  • 🎯 Asignación inteligente de agentes especializados

  • 📊 Sincronización GitHub ↔ Linear

  • 📈 Métricas y seguimiento automatizado

🚀 Configuración Rápida

# Configuración automática del sistema
./setup-automation-system.sh

# Verificar funcionamiento
./verify-automation-system.sh

📖 Documentación completa: README-AUTOMATION.md


🆘 Support

🛣 Roadmap

  • Advanced workflow templates

  • Bulk operations support

  • Real-time monitoring dashboard

  • Integration with additional automation platforms

  • Enhanced error reporting and analytics

Available Tools

12 tools
activate_workflowC

Activate or deactivate a workflow with validation and confirmation

ParametersJSON Schema
NameRequiredDescriptionDefault
activeYesSet workflow active status
workflowIdYesThe workflow ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It vaguely mentions 'validation and confirmation' but never says what is validated, what happens when validation fails, whether a confirmation step is interactive, or what permissions are required for a state-changing operation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single compact sentence with no filler, and the core action is front-loaded. It is efficient, though the trailing 'with validation and confirmation' clause is too vague to earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a two-parameter tool with full schema coverage and no output schema, the schema alone is almost sufficient. The gap is that this is a mutation with zero annotations, and the description's cryptic mention of validation and confirmation leaves the agent unsure what side effects or failure modes to expect.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so workflowId and active are already documented in the schema, which sets the baseline at 3. The description adds no format details or constraints beyond what the schema provides, so it neither helps nor hurts.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb pair (activate/deactivate) and the resource (workflow), which distinguishes it from sibling mutations like create_node or delete_connection. However, the name says only 'activate' while the description covers toggling via a boolean, and it never explains how the operation relates to execute_workflow or list_workflows.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no indication of when to activate versus deactivate a workflow, no preconditions for the 'validation' it mentions, and no alternative tools named. The agent must infer that the boolean parameter controls direction entirely on its own.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_connectionC

Create a connection between two nodes in a workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
connectionYesConnection configuration
workflowIdYesThe workflow ID

TDQS

C2.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It doesn't disclose whether this operation is reversible, requires specific permissions, affects workflow execution, or returns anything. For a mutation tool with no annotations, this is a significant gap.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the action. It is concise with no wasted words, though it could benefit from more detail.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool's complexity (mutation with nested objects, no output schema), the description is incomplete. It lacks behavioral details, usage context, and parameter nuances that an agent would need to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters and their nested fields. The description adds no parameter-specific meaning beyond what's in the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose3/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource: 'Create a connection between two nodes in a workflow.' This is specific but lacks differentiation from siblings like create_node or update_node. It doesn't clarify what a connection represents or how it relates to the workflow structure.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives. It doesn't state prerequisites (e.g., nodes must exist) or exclusions. The description merely restates the action without context for selection among siblings.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_nodeC

Create a new node in a workflow with advanced configuration options

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeYesNode configuration
positionNoNode position [x, y]
workflowIdYesThe workflow ID
autoConnectNoAutomatically connect to target node
targetNodeIdNoTarget node ID for auto-connection

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden but only implies a mutation. It does not disclose what the create operation requires (auth/permissions), whether it returns the created node or its ID, how autoConnect/targetNodeId mutate the graph, or any side effects on the workflow.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with the verb and resource first. It is appropriately short, though 'with advanced configuration options' is vague padding that does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a mutation tool with a nested required object, no annotations, no output schema, and no explanation of the auto-connection parameters, the description is insufficient. An agent cannot tell what happens on creation, what is required beyond the two required keys, or what is returned.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and the nested node object is fully documented in the schema, so the baseline of 3 applies. The description adds no meaning beyond the schema; it never mentions workflowId, position, autoConnect, or targetNodeId.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (Create), resource (node), and scope (in a workflow), so the agent knows this is a node-creation tool. It does not distinguish itself from the sibling update_node or delete_node, and 'advanced configuration options' is filler rather than a differentiator.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus update_node or create_connection, no mention of prerequisites like an existing workflow or required node type/version, and no conditions or exclusions. The description assumes the reader already knows the context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

create_webhookC

Create a webhook URL for a workflow with custom configuration

ParametersJSON Schema
NameRequiredDescriptionDefault
pathNoCustom webhook path (optional)
methodNoHTTP method for the webhookPOST
workflowIdYesThe workflow ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It does not state whether the webhook is immediately live, whether it overwrites an existing webhook, what auth the caller needs, or what the mutation returns — all important for a creation tool. 'with custom configuration' is vague filler rather than disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It is efficient, though the phrase 'with custom configuration' adds little information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations, no output schema, and a mutation that returns a webhook URL, the description should explain at least what the created artifact is and what the caller receives. Key behavioral facts (uniqueness of path, resulting URL shape, activation state) are absent.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all three parameters (path, method, workflowId) are already documented in the schema. The description adds no meaning beyond the schema, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Create a webhook URL for a workflow'), which is clear enough to distinguish from sibling node/connection tools. It does not, however, contrast itself with any sibling explicitly (e.g., activate_workflow or execute_workflow).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description gives no indication of when to use this tool versus alternatives, no prerequisites (e.g., workflow must exist or be active), and no guidance on idempotency or whether a webhook already exists. Usage must be inferred entirely from the name.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_connectionC

Delete a connection between two nodes in a workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowIdYesThe workflow ID
sourceNodeIdYesSource node ID
targetNodeIdYesTarget node ID
targetInputIndexNoTarget input index
sourceOutputIndexNoSource output index

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does not state that the deletion is irreversible, whether it requires an active/draft workflow, or what happens when multiple connections exist between the same node pair.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single well-formed sentence with the verb and scope front-loaded and no wasted words. It is efficient, though its brevity shades into under-specification for a mutation tool.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive, five-parameter tool with no annotations and no output schema, the description omits critical context such as irreversibility and the meaning of sourceOutputIndex/targetInputIndex when several connections share the same endpoints.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents workflowId, sourceNodeId, targetNodeId, and the two index parameters. The description adds no additional meaning beyond that baseline, which is the expected score when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb (delete) plus resource (connection between two nodes in a workflow), so the operation is unambiguous. It is largely distinguishable from siblings like create_connection and delete_node by name, but the description never explicitly contrasts itself with them.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no statement of when to use this tool versus alternatives, nor any prerequisite or dependency guidance. An agent must infer the context entirely from the name and schema.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

delete_nodeC

Delete a node from a workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYesThe node ID to delete
workflowIdYesThe workflow ID
cascadeDeleteNoDelete all connections to/from this node

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It says nothing about whether deletion is reversible, whether it requires an active/inactive workflow, or what the cascadeDelete default of true actually implies at runtime. This is a destructive mutation with zero disclosure.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single short sentence with no filler, front-loaded. It is efficient, though the brevity comes at the cost of missing detail rather than being a structural flaw.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a destructive operation with no annotations, no output schema, and no behavioral guidance, the description is insufficient. An agent cannot tell the consequences, prerequisites, or that cascadeDelete defaults to true, without inspecting the schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all three parameters are already documented in the schema. The description adds no meaning beyond it. Baseline 3 is appropriate when the schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a clear verb and resource: deleting a node from a workflow. It does not name or differentiate itself from siblings like update_node or delete_connection, but the action is unambiguous.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use, no prerequisites, no alternatives. It doesn't warn that related connections may also be affected or point to delete_connection for removing connections instead. An agent gets no routing guidance.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

execute_workflowC

Execute an n8n workflow by ID or name with advanced options and monitoring

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoInput data for the workflow (optional)
workflowIdYesThe workflow ID or name to execute
waitForCompletionNoWait for workflow completion before returning

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. 'Execute' implies triggering a workflow with side effects, but the description never says what happens on success (execution ID returned?), whether it runs synchronously by default, or what monitoring actually entails beyond the schema's waitForCompletion flag.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted preamble. However, 'advanced options and monitoring' is vague filler that does not earn its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For an execution-triggering tool with no output schema, the description should explain what executing returns and how to follow up (e.g., poll get_execution_status), plus async vs sync behavior. None of that is present.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3. The description echoes the ID-or-name dual lookup and vaguely alludes to 'advanced options' without adding syntax or format detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Execute') and resource ('n8n workflow') and notes ID-or-name lookup. It is distinguishable from siblings like list_workflows or activate_workflow, though it does not explicitly name those alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance on when to execute versus when to use get_execution_status, activate_workflow, or list_executions. The phrase 'advanced options and monitoring' gestures at context but gives no condition that selects this tool.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_execution_statusB

Get the status and details of a workflow execution with performance metrics

ParametersJSON Schema
NameRequiredDescriptionDefault
executionIdYesThe execution ID

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the transparency burden. 'Get' implies a read-only operation and it discloses the returned content (status, details, performance metrics), but it says nothing about execution state transitions, whether repeated polling is expected, permissions, or rate limits.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no filler. It is efficient, though the trailing 'with performance metrics' clause is slightly tacked on rather than integrated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a single-parameter read tool with no output schema, the description hints at the returned fields (status, details, metrics) but leaves 'details' undefined and gives no guidance on the volatile nature of execution status. Adequate but with clear gaps.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% and there is only one parameter, so the schema already fully documents executionId. The description adds no format, source, or lookup guidance beyond what the schema provides, which is the expected baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb ('Get') plus resource ('status and details of a workflow execution'), with the added payload of performance metrics as a distinguishing element from list_executions. It does not explicitly state how it differs from the sibling list_executions, which is the main gap.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use guidance, no conditions or prerequisites stated, and no reference to alternatives such as list_executions or execute_workflow. The agent must infer that this is for polling a single known executionId.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_workflowB

Get detailed information about a specific workflow including nodes and connections

ParametersJSON Schema
NameRequiredDescriptionDefault
workflowIdYesThe workflow ID

TDQS

B3.2/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden, yet it only implies a read via the verb 'Get'. It says nothing about safety/reversibility, authorization needs, or behavior when the workflowId does not exist, leaving meaningful gaps for a zero-annotation tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single efficient sentence with the action and resource front-loaded and no filler. It is appropriately sized, though it could have used one clause to route against list_workflows.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no output schema, the description usefully names what is returned (nodes and connections). However, for a zero-annotation tool it omits error behavior and sibling differentiation, so it is only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

There is a single parameter with 100% schema description coverage, which sets the baseline at 3. The description adds no syntax, format, or sourcing guidance for workflowId beyond what the schema already states.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb ('Get') and resource ('a specific workflow') plus the scope of returned content (nodes and connections). An agent can distinguish this from list_workflows by the singular 'specific workflow' phrasing, but the description never names that sibling explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Usage is only implied: 'a specific workflow' hints at fetching one by ID versus listing many, but there is no explicit when-to-use statement, no pointer to list_workflows, and no prerequisites or exclusions given.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_executionsB

List recent workflow executions with filtering, pagination, and statistics

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum number of executions to return
offsetNoNumber of executions to skip
statusNoFilter by execution status (optional)
workflowIdNoFilter by specific workflow ID (optional)

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It does not mention whether this requires authentication, what the return format looks like (e.g., list of execution objects), or any rate limits. The brief mention of 'statistics' is vague and not elaborated.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, efficient sentence that front-loads the core action and lists capabilities. It is appropriately sized and contains no unnecessary words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a list tool with no annotations and no output schema, the description is incomplete. It does not explain the return structure, whether results are sorted, or what 'statistics' entails. It also lacks any usage context relative to sibling tools.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so all parameters are fully documented in the schema. The description adds no additional meaning beyond what the schema provides, such as default values or filter behavior. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'List' and the resource 'workflow executions', which distinguishes it from siblings like list_workflows and get_execution_status. However, it doesn't explicitly differentiate its scope from get_execution_status, which also deals with executions.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description mentions filtering and pagination, implying the tool is for browsing multiple executions, but it does not provide explicit when-to-use guidance or name alternatives like get_execution_status for single-execution queries. Usage is only implied.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_workflowsC

List all available workflows with filtering and pagination

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoFilter by tags (optional)
limitNoMaximum number of workflows to return
activeNoFilter by active status (optional)
offsetNoNumber of workflows to skip

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full behavioral burden. It does not state that the operation is read-only, whether it requires auth, the default page size (50) or 200 cap, or the ordering of results — all relevant for a paginated list tool.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

A single front-loaded sentence with no wasted words. It is efficient, though the extreme brevity contributes to the gaps in the other dimensions.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With no annotations and no output schema, the description should carry more of the load — return shape, default/cap values, and result ordering are all absent. For a four-parameter paginated list tool this leaves the agent underinformed.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the four parameters are already fully documented, setting a baseline of 3. The phrase 'filtering and pagination' generically maps to the tags/active and limit/offset params but adds no syntax, format, or default detail beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (List) and resource (workflows) with scope 'all available', which implicitly contrasts with the singular get_workflow sibling. However, it never names a sibling or otherwise disambiguates itself from list_executions or get_workflow explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use or when-not-to-use guidance is given. 'with filtering and pagination' hints at the caller's workflow but does not tell the agent when this tool is preferable to get_workflow or list_executions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

update_nodeC

Update an existing node in a workflow

ParametersJSON Schema
NameRequiredDescriptionDefault
nodeIdYesThe node ID to update
updatesYesNode updates to apply
workflowIdYesThe workflow ID

TDQS

C2.9/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden of behavioral disclosure. It indicates a mutation ('update') but does not explain partial-update semantics, required permissions, reversibility, or side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is a single, front-loaded sentence with no wasted words. It is appropriately concise, though its brevity leaves gaps that other dimensions measure.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema is rich with full parameter coverage and nested object details, which compensates for the sparse description on parameter semantics. However, for a mutation tool with no annotations and no output schema, the lack of behavioral context (e.g., partial updates, error conditions) leaves it only minimally complete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all parameters, including nested update fields. The description adds no additional meaning beyond what the schema provides, yielding the baseline score of 3.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a clear verb+resource: 'Update an existing node in a workflow.' It implicitly contrasts with create_node/delete_node via the verb 'update,' but does not explicitly name or differentiate from siblings.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no guidance on when to use this tool versus alternatives like create_node or delete_node. The only implied usage is that it applies to existing nodes, which is minimal context.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 12 tool updatesv2.0.0
    • First observedactivate_workflow
    • First observedcreate_connection
    • First observedcreate_node
    • First observedcreate_webhook
    • First observeddelete_connection
    • First observeddelete_node
    • First observedexecute_workflow
    • First observedget_execution_status
    • First observedget_workflow
    • First observedlist_executions
    • First observedlist_workflows
    • First observedupdate_node

TDQS

B3.2/5.0

Scored across 12 tools

Disambiguation4/5

Most tools target clearly distinct resources and actions: nodes, connections, workflows, and executions. create_webhook slightly overlaps with create_node since a webhook is a node type in n8n, but the descriptions clarify the specialized intent.

Naming Consistency5/5

All tools use a consistent snake_case verb_noun pattern such as create_node, update_node, list_workflows, and execute_workflow. Minor plural/singular variations are conventional and readable.

Tool Count5/5

12 tools is well within a reasonable range for an n8n connector, covering key node, connection, workflow, and execution operations without obvious bloat. Each tool appears to earn its place.

Completeness3/5

Core node and connection operations are present, but the workflow lifecycle is incomplete: there is no create_workflow, update_workflow, or delete_workflow, and no update_connection. These gaps may force agents to work around missing fundamental workflow management operations.

Maintenance

ActivityInactive
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    A Model Context Protocol server that enables AI assistants to interact with n8n workflows through natural language, supporting actions like listing, creating, updating, executing and monitoring workflows.
    329 npm
    1,635
    MIT
  • A
    license
    A
    quality
    A
    maintenance
    A Model Context Protocol server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations for effective workflow automation.
    28
    77,070 npm
    22,876
    MIT