Bridges n8n's workflow automation platform with AI models, providing access to 543 n8n nodes, workflow templates, and AI-capable automation tools.
100K+
42 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Bridges n8n's workflow automation platform with AI models, providing access to 543 n8n nodes, workflow templates, and AI-capable automation tools.
| Attribute | Details |
|---|---|
| Docker Image | mcp/n8n |
| Author | czlonkowski |
| Repository | https://github.com/czlonkowski/n8n-mcp |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/czlonkowski/n8n-mcp/blob/1bbfaabbc20f4989d81bc8a2cfc9f16795134ed8/Dockerfile |
| Commit | 1bbfaabbc20f4989d81bc8a2cfc9f16795134ed8 |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/n8n --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
get_database_statistics | Node stats: 525 total, 263 AI tools, 104 triggers, 87% docs coverage. |
get_node_as_tool_info | How to use ANY node as AI tool. |
get_node_documentation | Get readable docs with examples/auth/patterns. |
get_node_essentials | Get node essential info with optional real-world examples from templates. |
get_node_info | Get full node documentation. |
get_property_dependencies | Shows property dependencies and visibility rules. |
get_template | Get template by ID. |
get_templates_for_task | Curated templates by task. |
list_ai_tools | List 263 AI-optimized nodes. |
list_node_templates | Find templates using specific nodes. |
list_nodes | List n8n nodes. |
list_tasks | List task templates by category: HTTP/API, Webhooks, Database, AI, Data Processing, Communication. |
list_templates | List all templates with minimal data (id, name, description, views, node count). |
n8n_autofix_workflow | Automatically fix common workflow validation errors. |
n8n_create_workflow | Create workflow. |
n8n_delete_execution | Delete an execution record. |
n8n_delete_workflow | Permanently delete a workflow. |
n8n_diagnostic | Diagnose n8n API config. |
n8n_get_execution | Get execution details with smart filtering. |
n8n_get_workflow | Get a workflow by ID. |
n8n_get_workflow_details | Get workflow details with metadata, version, execution stats. |
n8n_get_workflow_minimal | Get minimal info: ID, name, active status, tags. |
n8n_get_workflow_structure | Get workflow structure: nodes and connections only. |
n8n_health_check | Check n8n instance health and API connectivity. |
n8n_list_available_tools | List available n8n tools and capabilities. |
n8n_list_executions | List workflow executions (returns up to limit). |
n8n_list_workflows | List workflows (minimal metadata only). |
n8n_trigger_webhook_workflow | Trigger workflow via webhook. |
n8n_update_full_workflow | Full workflow update. |
n8n_update_partial_workflow | Update workflow incrementally with diff operations. |
n8n_validate_workflow | Validate workflow by ID. |
n8n_workflow_versions | Manage workflow version history, rollback, and cleanup. |
search_node_properties | Find specific properties in a node (auth, headers, body, etc). |
search_nodes | Search n8n nodes by keyword with optional real-world examples. |
search_templates | Search templates by name/description keywords. |
search_templates_by_metadata | Search templates by AI-generated metadata. |
tools_documentation | Get documentation for n8n MCP tools. |
validate_node_minimal | Check n8n node required fields. |
validate_node_operation | Validate n8n node configuration. |
validate_workflow | Full workflow validation: structure, connections, expressions, AI tools. |
validate_workflow_connections | Check workflow connections only: valid nodes, no cycles, proper triggers, AI tool links. |
validate_workflow_expressions | Validate n8n expressions: syntax {{}}, variables ($json/$node), references. |
get_database_statisticsNode stats: 525 total, 263 AI tools, 104 triggers, 87% docs coverage. Verifies MCP working.
get_node_as_tool_infoHow to use ANY node as AI tool. Shows requirements, use cases, examples. Works for all nodes, not just AI-marked ones.
| Parameters | Type | Description |
|---|---|---|
nodeType | string | Full node type WITH prefix: "nodes-base.slack", "nodes-base.googleSheets", etc. |
get_node_documentationGet readable docs with examples/auth/patterns. Better than raw schema! 87% coverage. Format: "nodes-base.slack"
| Parameters | Type | Description |
|---|---|---|
nodeType | string | Full type with prefix: "nodes-base.slack" |
get_node_essentialsGet node essential info with optional real-world examples from templates. Pass nodeType as string with prefix. Example: nodeType="nodes-base.slack". Use includeExamples=true to get top 3 template configs.
| Parameters | Type | Description |
|---|---|---|
nodeType | string | Full type: "nodes-base.httpRequest" |
includeExamples | booleanoptional | Include top 3 real-world configuration examples from popular templates (default: false) |
get_node_infoGet full node documentation. Pass nodeType as string with prefix. Example: nodeType="nodes-base.webhook"
| Parameters | Type | Description |
|---|---|---|
nodeType | string | Full type: "nodes-base.{name}" or "nodes-langchain.{name}". Examples: nodes-base.httpRequest, nodes-base.webhook, nodes-base.slack |
get_property_dependenciesShows property dependencies and visibility rules. Example: sendBody=true reveals body fields. Test visibility with optional config.
| Parameters | Type | Description |
|---|---|---|
nodeType | string | The node type to analyze (e.g., "nodes-base.httpRequest") |
config | objectoptional | Optional partial configuration to check visibility impact |
get_templateGet template by ID. Use mode to control response size: nodes_only (minimal), structure (nodes+connections), full (complete workflow).
| Parameters | Type | Description |
|---|---|---|
templateId | number | The template ID to retrieve |
mode | stringoptional | Response detail level. nodes_only: just node list, structure: nodes+connections, full: complete workflow JSON. |
get_templates_for_taskCurated templates by task. Returns paginated results sorted by popularity.
| Parameters | Type | Description |
|---|---|---|
task | string | The type of task to get templates for |
limit | numberoptional | Maximum number of results. Default 10. |
offset | numberoptional | Pagination offset. Default 0. |
list_ai_toolsList 263 AI-optimized nodes. Note: ANY node can be AI tool! Connect any node to AI Agent's tool port. Community nodes need N8N_COMMUNITY_PACKAGES_ALLOW_TOOL_USAGE=true.
list_node_templatesFind templates using specific nodes. Returns paginated results. Use FULL types: "n8n-nodes-base.httpRequest".
| Parameters | Type | Description |
|---|---|---|
nodeTypes | array | Array of node types to search for (e.g., ["n8n-nodes-base.httpRequest", "n8n-nodes-base.openAi"]) |
limit | numberoptional | Maximum number of templates to return. Default 10. |
offset | numberoptional | Pagination offset. Default 0. |
list_nodesList n8n nodes. Common: list_nodes({limit:200}) for all, list_nodes({category:'trigger'}) for triggers. Package: "n8n-nodes-base" or "@n8n/n8n-nodes-langchain". Categories: trigger/transform/output/input.
| Parameters | Type | Description |
|---|---|---|
category | stringoptional | trigger |
developmentStyle | stringoptional | Usually "programmatic" |
isAITool | booleanoptional | Filter AI-capable nodes |
limit | numberoptional | Max results (default 50, use 200+ for all) |
package | stringoptional | "n8n-nodes-base" (core) or "@n8n/n8n-nodes-langchain" (AI) |
list_tasksList task templates by category: HTTP/API, Webhooks, Database, AI, Data Processing, Communication.
| Parameters | Type | Description |
|---|---|---|
category | stringoptional | Filter by category (optional) |
list_templatesList all templates with minimal data (id, name, description, views, node count). Optionally include AI-generated metadata for smart filtering.
| Parameters | Type | Description |
|---|---|---|
includeMetadata | booleanoptional | Include AI-generated metadata (categories, complexity, setup time, etc.). Default false. |
limit | numberoptional | Number of results (1-100). Default 10. |
offset | numberoptional | Pagination offset. Default 0. |
sortBy | stringoptional | Sort field. Default: views (popularity). |
n8n_autofix_workflowAutomatically fix common workflow validation errors. Preview fixes or apply them. Fixes expression format, typeVersion, error output config, webhook paths.
| Parameters | Type | Description |
|---|---|---|
id | string | Workflow ID to fix |
applyFixes | booleanoptional | Apply fixes to workflow (default: false - preview mode) |
confidenceThreshold | stringoptional | Minimum confidence level for fixes (default: medium) |
fixTypes | arrayoptional | Types of fixes to apply (default: all) |
maxFixes | numberoptional | Maximum number of fixes to apply (default: 50) |
n8n_create_workflowCreate workflow. Requires: name, nodes[], connections{}. Created inactive. Returns workflow with ID.
| Parameters | Type | Description |
|---|---|---|
connections | object | Workflow connections object. Keys are source node IDs, values define output connections |
name | string | Workflow name (required) |
nodes | array | Array of workflow nodes. Each node must have: id, name, type, typeVersion, position, and parameters |
settings | objectoptional | Optional workflow settings (execution order, timezone, error handling) |
n8n_delete_executionDelete an execution record. This only removes the execution history, not any data processed.
| Parameters | Type | Description |
|---|---|---|
id | string | Execution ID to delete |
n8n_delete_workflowPermanently delete a workflow. This action cannot be undone.
| Parameters | Type | Description |
|---|---|---|
id | string | Workflow ID to delete |
n8n_diagnosticDiagnose n8n API config. Shows tool status, API connectivity, env vars. Helps troubleshoot missing tools.
| Parameters | Type | Description |
|---|---|---|
verbose | booleanoptional | Include detailed debug information (default: false) |
n8n_get_executionGet execution details with smart filtering. RECOMMENDED: Use mode='preview' first to assess data size. Examples:
id|string|Execution ID
includeData|booleanoptional|Legacy: Include execution data. Maps to mode=summary if true (deprecated, use mode instead)
includeInputData|booleanoptional|Include input data in addition to output (default: false)
itemsLimit|numberoptional|Items per node: 0=structure only, 2=default, -1=unlimited (for filtered mode)
mode|stringoptional|Data retrieval mode: preview=structure only, summary=2 items, filtered=custom, full=all data
nodeNames|arrayoptional|Filter to specific nodes by name (for filtered mode)n8n_get_workflowGet a workflow by ID. Returns the complete workflow including nodes, connections, and settings.
| Parameters | Type | Description |
|---|---|---|
id | string | Workflow ID |
n8n_get_workflow_detailsGet workflow details with metadata, version, execution stats. More info than get_workflow.
| Parameters | Type | Description |
|---|---|---|
id | string | Workflow ID |
n8n_get_workflow_minimalGet minimal info: ID, name, active status, tags. Fast for listings.
| Parameters | Type | Description |
|---|---|---|
id | string | Workflow ID |
n8n_get_workflow_structureGet workflow structure: nodes and connections only. No parameter details.
| Parameters | Type | Description |
|---|---|---|
id | string | Workflow ID |
n8n_health_checkCheck n8n instance health and API connectivity. Returns status and available features.
n8n_list_available_toolsList available n8n tools and capabilities.
n8n_list_executionsList workflow executions (returns up to limit). Check hasMore/nextCursor for pagination.
| Parameters | Type | Description |
|---|---|---|
cursor | stringoptional | Pagination cursor from previous response |
includeData | booleanoptional | Include execution data (default: false) |
limit | numberoptional | Number of executions to return (1-100, default: 100) |
projectId | stringoptional | Filter by project ID (enterprise feature) |
status | stringoptional | Filter by execution status |
workflowId | stringoptional | Filter by workflow ID |
n8n_list_workflowsList workflows (minimal metadata only). Returns id/name/active/dates/tags. Check hasMore/nextCursor for pagination.
| Parameters | Type | Description |
|---|---|---|
active | booleanoptional | Filter by active status |
cursor | stringoptional | Pagination cursor from previous response |
excludePinnedData | booleanoptional | Exclude pinned data from response (default: true) |
limit | numberoptional | Number of workflows to return (1-100, default: 100) |
projectId | stringoptional | Filter by project ID (enterprise feature) |
tags | arrayoptional | Filter by tags (exact match) |
n8n_trigger_webhook_workflowTrigger workflow via webhook. Must be ACTIVE with Webhook node. Method must match config.
| Parameters | Type | Description |
|---|---|---|
webhookUrl | string | Full webhook URL from n8n workflow (e.g., https://n8n.example.com/webhook/abc-def-ghi) |
data | objectoptional | Data to send with the webhook request |
headers | objectoptional | Additional HTTP headers |
httpMethod | stringoptional | HTTP method (must match webhook configuration, often GET) |
waitForResponse | booleanoptional | Wait for workflow completion (default: true) |
n8n_update_full_workflowFull workflow update. Requires complete nodes[] and connections{}. For incremental use n8n_update_partial_workflow.
| Parameters | Type | Description |
|---|---|---|
id | string | Workflow ID to update |
connections | objectoptional | Complete connections object (required if modifying workflow structure) |
name | stringoptional | New workflow name |
nodes | arrayoptional | Complete array of workflow nodes (required if modifying workflow structure) |
settings | objectoptional | Workflow settings to update |
n8n_update_partial_workflowUpdate workflow incrementally with diff operations. Types: addNode, removeNode, updateNode, moveNode, enable/disableNode, addConnection, removeConnection, updateSettings, updateName, add/removeTag. See tools_documentation("n8n_update_partial_workflow", "full") for details.
| Parameters | Type | Description |
|---|---|---|
id | string | Workflow ID to update |
operations | array | Array of diff operations to apply. Each operation must have a "type" field and relevant properties for that operation type. |
continueOnError | booleanoptional | If true, apply valid operations even if some fail (best-effort mode). Returns applied and failed operation indices. Default: false (atomic) |
validateOnly | booleanoptional | If true, only validate operations without applying them |
n8n_validate_workflowValidate workflow by ID. Checks nodes, connections, expressions. Returns errors/warnings/suggestions.
| Parameters | Type | Description |
|---|---|---|
id | string | Workflow ID to validate |
options | objectoptional | Validation options |
n8n_workflow_versionsManage workflow version history, rollback, and cleanup. Six modes:
mode|string|Operation mode
confirmTruncate|booleanoptional|REQUIRED: Must be true to truncate all versions (truncate mode only)
deleteAll|booleanoptional|Delete all versions for workflow (delete mode only)
limit|numberoptional|Max versions to return in list mode
maxVersions|numberoptional|Keep N most recent versions (prune mode only)
validateBefore|booleanoptional|Validate workflow structure before rollback
versionId|numberoptional|Version ID (required for get mode and single version delete, optional for rollback)
workflowId|stringoptional|Workflow ID (required for list, rollback, delete, prune)search_node_propertiesFind specific properties in a node (auth, headers, body, etc). Returns paths and descriptions.
| Parameters | Type | Description |
|---|---|---|
nodeType | string | Full type with prefix |
query | string | Property to find: "auth", "header", "body", "json" |
maxResults | numberoptional | Max results (default 20) |
search_nodesSearch n8n nodes by keyword with optional real-world examples. Pass query as string. Example: query="webhook" or query="database". Returns max 20 results. Use includeExamples=true to get top 2 template configs per node.
| Parameters | Type | Description |
|---|---|---|
query | string | Search terms. Use quotes for exact phrase. |
includeExamples | booleanoptional | Include top 2 real-world configuration examples from popular templates (default: false) |
limit | numberoptional | Max results (default 20) |
mode | stringoptional | OR=any word, AND=all words, FUZZY=typo-tolerant |
search_templatesSearch templates by name/description keywords. Returns paginated results. NOT for node types! For nodes use list_node_templates.
| Parameters | Type | Description |
|---|---|---|
query | string | Search keyword as string. Example: "chatbot" |
fields | arrayoptional | Fields to include in response. Default: all fields. Example: ["id", "name"] for minimal response. |
limit | numberoptional | Maximum number of results. Default 20. |
offset | numberoptional | Pagination offset. Default 0. |
search_templates_by_metadataSearch templates by AI-generated metadata. Filter by category, complexity, setup time, services, or audience. Returns rich metadata for smart template discovery.
| Parameters | Type | Description |
|---|---|---|
category | stringoptional | Filter by category (e.g., "automation", "integration", "data processing") |
complexity | stringoptional | Filter by complexity level |
limit | numberoptional | Maximum number of results. Default 20. |
maxSetupMinutes | numberoptional | Maximum setup time in minutes |
minSetupMinutes | numberoptional | Minimum setup time in minutes |
offset | numberoptional | Pagination offset. Default 0. |
requiredService | stringoptional | Filter by required service (e.g., "openai", "slack", "google") |
targetAudience | stringoptional | Filter by target audience (e.g., "developers", "marketers", "analysts") |
tools_documentationGet documentation for n8n MCP tools. Call without parameters for quick start guide. Use topic parameter to get documentation for specific tools. Use depth='full' for comprehensive documentation.
| Parameters | Type | Description |
|---|---|---|
depth | stringoptional | Level of detail. "essentials" (default) for quick reference, "full" for comprehensive docs. |
topic | stringoptional | Tool name (e.g., "search_nodes") or "overview" for general guide. Leave empty for quick reference. |
validate_node_minimalCheck n8n node required fields. Pass nodeType as string and config as empty object {}. Example: nodeType="nodes-base.webhook", config={}
| Parameters | Type | Description |
|---|---|---|
config | object | Configuration object. Always pass {} for empty config |
nodeType | string | Node type as string. Example: "nodes-base.slack" |
validate_node_operationValidate n8n node configuration. Pass nodeType as string and config as object. Example: nodeType="nodes-base.slack", config={resource:"channel",operation:"create"}
| Parameters | Type | Description |
|---|---|---|
config | object | Configuration as object. For simple nodes use {}. For complex nodes include fields like {resource:"channel",operation:"create"} |
nodeType | string | Node type as string. Example: "nodes-base.slack" |
profile | stringoptional | Profile string: "minimal", "runtime", "ai-friendly", or "strict". Default is "ai-friendly" |
validate_workflowFull workflow validation: structure, connections, expressions, AI tools. Returns errors/warnings/fixes. Essential before deploy.
| Parameters | Type | Description |
|---|---|---|
workflow | object | The complete workflow JSON to validate. Must include nodes array and connections object. |
options | objectoptional | Optional validation settings |
validate_workflow_connectionsCheck workflow connections only: valid nodes, no cycles, proper triggers, AI tool links. Fast structure validation.
| Parameters | Type | Description |
|---|---|---|
workflow | object | The workflow JSON with nodes array and connections object. |
validate_workflow_expressionsValidate n8n expressions: syntax {{}}, variables ($json/$node), references. Returns errors with locations.
| Parameters | Type | Description |
|---|---|---|
workflow | object | The workflow JSON to check for expression errors. |
{
"mcpServers": {
"n8n": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"N8N_API_URL",
"-e",
"N8N_API_KEY",
"mcp/n8n"
],
"env": {
"N8N_API_URL": "http://host.docker.internal:5678",
"N8N_API_KEY": "n8n_api_****"
}
}
}
}