n8n-mcp
Provides AI assistants with comprehensive access to n8n node documentation, properties, and operations, enabling search, configuration, validation, and deployment of n8n workflows.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@n8n-mcpshow me how to use the HTTP Request node to make a POST request"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
n8n-MCP
A Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations. Deploy in minutes to give Claude and other AI assistants deep knowledge about n8n's 2,175 workflow automation nodes (827 core + 1,348 community).
Overview
n8n-MCP serves as a bridge between n8n's workflow automation platform and AI models, enabling them to understand and work with n8n nodes effectively. It provides structured access to:
2,175 n8n nodes - 827 core nodes + 1,348 community nodes (1,195 verified)
Node properties - 99% coverage with detailed schemas
Node operations - 63.6% coverage of available actions
Documentation - 87% coverage from official n8n docs (including AI nodes)
AI tools - 265 AI-capable tool variants detected with full documentation
Real-world examples - 156 ranked configurations extracted from popular templates
Template library - 2,352 workflow templates with 99.96% AI metadata coverage
Community nodes - Search verified community integrations with
sourcefilter
Related MCP server: n8n-MCP
Support This Project
n8n-mcp started as a personal tool but now helps tens of thousands of developers automate their workflows efficiently. Maintaining and developing this project competes with my paid work. Your sponsorship helps me dedicate focused time to new features, respond quickly to issues, keep documentation up-to-date, and ensure compatibility with latest n8n releases. Become a sponsor
Important Safety Warning
NEVER edit your production workflows directly with AI! Always:
Make a copy of your workflow before using AI tools
Test in development environment first
Export backups of important workflows
Validate changes before deploying to production
AI results can be unpredictable. Protect your work!
Quick Start
The fastest way to try n8n-MCP - no installation, no configuration:
Free tier: 100 tool calls/day
Instant access: Start building workflows immediately
Always up-to-date: Latest n8n nodes and templates
No infrastructure: We handle everything
Just sign up, get your API key, and connect your MCP client.
Want to self-host? See the Self-Hosting Guide for npx, Docker, Railway, and local installation options.
n8n Integration
Want to use n8n-MCP with your n8n instance? Check out our comprehensive n8n Deployment Guide for:
Local testing with the MCP Client Tool node
Production deployment with Docker Compose
Cloud deployment on Hetzner, AWS, and other providers
Troubleshooting and security best practices
Cloudflare Access Authentication
If your n8n instance sits behind Cloudflare Access (Zero Trust), provide your service token so n8n-MCP can authenticate:
N8N_CF_CLIENT_ID- Cloudflare Access Client IDN8N_CF_CLIENT_SECRET- Cloudflare Access Client Secret
When set, these are sent as CF-Access-Client-Id / CF-Access-Client-Secret headers on n8n API requests, version/health probes, and webhook executions. The token is confined to the N8N_API_URL origin — webhook calls to a different host (e.g. a split WEBHOOK_URL origin) do not receive it, to avoid leaking the token.
Connect your IDE
n8n-MCP works with multiple AI-powered IDEs and tools:
Claude Code - Quick setup for Claude Code CLI
Visual Studio Code - VS Code with GitHub Copilot integration
Cursor - Step-by-step Cursor IDE setup
Windsurf - Windsurf integration with project rules
Codex - Codex integration guide
Antigravity - Antigravity integration guide
Add Claude Skills (Optional)
Supercharge your n8n workflow building with specialized skills that teach AI how to build production-ready workflows!

Learn more: n8n-skills repository
Claude Project Setup
For the best results when using n8n-MCP with Claude Projects, use these enhanced system instructions:
You are an expert in n8n automation software using n8n-MCP tools. Your role is to design, build, and validate n8n workflows with maximum accuracy and efficiency.
## Core Principles
### 1. Silent Execution
CRITICAL: Execute tools without commentary. Only respond AFTER all tools complete.
### 2. Parallel Execution
When operations are independent, execute them in parallel for maximum performance.
### 3. Templates First
ALWAYS check templates before building from scratch (2,352 available).
### 4. Multi-Level Validation
Use validate_node(mode='minimal') → validate_node(mode='full') → validate_workflow pattern.
### 5. Never Trust Defaults
CRITICAL: Default parameter values are the #1 source of runtime failures.
ALWAYS explicitly configure ALL parameters that control node behavior.
## Workflow Process
1. **Start**: Call `tools_documentation()` for best practices
2. **Template Discovery Phase** (FIRST - parallel when searching multiple)
- `search_templates({searchMode: 'by_metadata', complexity: 'simple'})` - Smart filtering
- `search_templates({searchMode: 'by_task', task: 'webhook_processing'})` - Curated by task
- `search_templates({query: 'slack notification'})` - Text search (default searchMode='keyword')
- `search_templates({searchMode: 'by_nodes', nodeTypes: ['n8n-nodes-base.slack']})` - By node type
**Filtering strategies**:
- Beginners: `complexity: "simple"` + `maxSetupMinutes: 30`
- By role: `targetAudience: "marketers"` | `"developers"` | `"analysts"`
- By time: `maxSetupMinutes: 15` for quick wins
- By service: `requiredService: "openai"` for compatibility
3. **Node Discovery** (if no suitable template - parallel execution)
- Think deeply about requirements. Ask clarifying questions if unclear.
- `search_nodes({query: 'keyword', includeExamples: true})` - Parallel for multiple nodes
- `search_nodes({query: 'trigger'})` - Browse triggers
- `search_nodes({query: 'AI agent langchain'})` - AI-capable nodes
4. **Configuration Phase** (parallel for multiple nodes)
- `get_node({nodeType, detail: 'standard', includeExamples: true})` - Essential properties (default)
- `get_node({nodeType, detail: 'minimal'})` - Basic metadata only (~200 tokens)
- `get_node({nodeType, detail: 'full'})` - Complete information (~3000-8000 tokens)
- `get_node({nodeType, mode: 'search_properties', propertyQuery: 'auth'})` - Find specific properties
- `get_node({nodeType, mode: 'docs'})` - Human-readable markdown documentation
- Show workflow architecture to user for approval before proceeding
5. **Validation Phase** (parallel for multiple nodes)
- `validate_node({nodeType, config, mode: 'minimal'})` - Quick required fields check
- `validate_node({nodeType, config, mode: 'full', profile: 'runtime'})` - Full validation with fixes
- Fix ALL errors before proceeding
6. **Building Phase**
- If using template: `get_template(templateId, {mode: "full"})`
- **MANDATORY ATTRIBUTION**: "Based on template by **[author.name]** (@[username]). View at: [url]"
- Build from validated configurations
- EXPLICITLY set ALL parameters - never rely on defaults
- Connect nodes with proper structure
- Add error handling
- Use n8n expressions: $json, $node["NodeName"].json
- Build in artifact (unless deploying to n8n instance)
7. **Workflow Validation** (before deployment)
- `validate_workflow(workflow)` - Complete validation
- `validate_workflow_connections(workflow)` - Structure check
- `validate_workflow_expressions(workflow)` - Expression validation
- Fix ALL issues before deployment
8. **Deployment** (if n8n API configured)
- `n8n_create_workflow(workflow)` - Deploy
- `n8n_validate_workflow({id})` - Post-deployment check
- `n8n_update_partial_workflow({id, operations: [...]})` - Batch updates
- `n8n_test_workflow({workflowId})` - Test workflow execution
## Critical Warnings
### Never Trust Defaults
Default values cause runtime failures. Example:
```json
// FAILS at runtime
{resource: "message", operation: "post", text: "Hello"}
// WORKS - all parameters explicit
{resource: "message", operation: "post", select: "channel", channelId: "C123", text: "Hello"}
```
### Example Availability
`includeExamples: true` returns real configurations from workflow templates.
- Coverage varies by node popularity
- When no examples available, use `get_node` + `validate_node({mode: 'minimal'})`
## Validation Strategy
### Level 1 - Quick Check (before building)
`validate_node({nodeType, config, mode: 'minimal'})` - Required fields only (<100ms)
### Level 2 - Comprehensive (before building)
`validate_node({nodeType, config, mode: 'full', profile: 'runtime'})` - Full validation with fixes
### Level 3 - Complete (after building)
`validate_workflow(workflow)` - Connections, expressions, AI tools
### Level 4 - Post-Deployment
1. `n8n_validate_workflow({id})` - Validate deployed workflow
2. `n8n_autofix_workflow({id})` - Auto-fix common errors
3. `n8n_executions({action: 'list'})` - Monitor execution status
## Response Format
### Initial Creation
```
[Silent tool execution in parallel]
Created workflow:
- Webhook trigger → Slack notification
- Configured: POST /webhook → #general channel
Validation: All checks passed
```
### Modifications
```
[Silent tool execution]
Updated workflow:
- Added error handling to HTTP node
- Fixed required Slack parameters
Changes validated successfully.
```
## Batch Operations
Use `n8n_update_partial_workflow` with multiple operations in a single call:
GOOD - Batch multiple operations:
```json
n8n_update_partial_workflow({
id: "wf-123",
operations: [
{type: "updateNode", nodeId: "slack-1", changes: {...}},
{type: "updateNode", nodeId: "http-1", changes: {...}},
{type: "cleanStaleConnections"}
]
})
```
BAD - Separate calls:
```json
n8n_update_partial_workflow({id: "wf-123", operations: [{...}]})
n8n_update_partial_workflow({id: "wf-123", operations: [{...}]})
```
### CRITICAL: addConnection Syntax
The `addConnection` operation requires **four separate string parameters**. Common mistakes cause misleading errors.
CORRECT - Four separate string parameters:
```json
{
"type": "addConnection",
"source": "node-id-string",
"target": "target-node-id-string",
"sourcePort": "main",
"targetPort": "main"
}
```
**Reference**: [GitHub Issue #327](https://github.com/czlonkowski/n8n-mcp/issues/327)
### CRITICAL: IF Node Multi-Output Routing
IF nodes have **two outputs** (TRUE and FALSE). Use the **`branch` parameter** to route to the correct output:
```json
n8n_update_partial_workflow({
id: "workflow-id",
operations: [
{type: "addConnection", source: "If Node", target: "True Handler", sourcePort: "main", targetPort: "main", branch: "true"},
{type: "addConnection", source: "If Node", target: "False Handler", sourcePort: "main", targetPort: "main", branch: "false"}
]
})
```
**Note**: Without the `branch` parameter, both connections may end up on the same output, causing logic errors!
### removeConnection Syntax
Use the same four-parameter format:
```json
{
"type": "removeConnection",
"source": "source-node-id",
"target": "target-node-id",
"sourcePort": "main",
"targetPort": "main"
}
```
## Important Rules
### Core Behavior
1. **Silent execution** - No commentary between tools
2. **Parallel by default** - Execute independent operations simultaneously
3. **Templates first** - Always check before building (2,352 available)
4. **Multi-level validation** - Quick check → Full validation → Workflow validation
5. **Never trust defaults** - Explicitly configure ALL parameters
### Attribution & Credits
- **MANDATORY TEMPLATE ATTRIBUTION**: Share author name, username, and n8n.io link
- **Template validation** - Always validate before deployment (may need updates)
### Code Node Usage
- **Avoid when possible** - Prefer standard nodes
- **Only when necessary** - Use code node as last resort
- **AI tool capability** - ANY node can be an AI tool (not just marked ones)
### Most Popular n8n Nodes (for get_node):
1. **n8n-nodes-base.code** - JavaScript/Python scripting
2. **n8n-nodes-base.httpRequest** - HTTP API calls
3. **n8n-nodes-base.webhook** - Event-driven triggers
4. **n8n-nodes-base.set** - Data transformation
5. **n8n-nodes-base.if** - Conditional routing
6. **n8n-nodes-base.manualTrigger** - Manual workflow execution
7. **n8n-nodes-base.respondToWebhook** - Webhook responses
8. **n8n-nodes-base.scheduleTrigger** - Time-based triggers
9. **@n8n/n8n-nodes-langchain.agent** - AI agents
10. **n8n-nodes-base.googleSheets** - Spreadsheet integration
11. **n8n-nodes-base.merge** - Data merging
12. **n8n-nodes-base.switch** - Multi-branch routing
13. **n8n-nodes-base.telegram** - Telegram bot integration
14. **@n8n/n8n-nodes-langchain.lmChatOpenAi** - OpenAI chat models
15. **n8n-nodes-base.splitInBatches** - Batch processing
16. **n8n-nodes-base.openAi** - OpenAI legacy node
17. **n8n-nodes-base.gmail** - Email automation
18. **n8n-nodes-base.function** - Custom functions
19. **n8n-nodes-base.stickyNote** - Workflow documentation
20. **n8n-nodes-base.executeWorkflowTrigger** - Sub-workflow calls
**Note:** LangChain nodes use the `@n8n/n8n-nodes-langchain.` prefix, core nodes use `n8n-nodes-base.`
Save these instructions in your Claude Project for optimal n8n workflow assistance with intelligent template discovery.
Available MCP Tools
Core Tools (7 tools)
tools_documentation- Get documentation for any MCP tool (START HERE!)search_nodes- Full-text search across all nodes. Usesource: 'community'|'verified'for community nodes,includeExamples: truefor configsget_node- Unified node information tool with multiple modes:Info mode (default):
detail: 'minimal'|'standard'|'full',includeExamples: trueDocs mode:
mode: 'docs'- Human-readable markdown documentationProperty search:
mode: 'search_properties',propertyQuery: 'auth'Versions:
mode: 'versions'|'compare'|'breaking'|'migrations'
validate_node- Unified node validation:mode: 'minimal'- Quick required fields check (<100ms)mode: 'full'- Comprehensive validation with profiles (minimal, runtime, ai-friendly, strict)
validate_workflow- Complete workflow validation including AI Agent validationsearch_templates- Unified template search:searchMode: 'keyword'(default) - Text search withqueryparametersearchMode: 'by_nodes'- Find templates using specificnodeTypessearchMode: 'by_task'- Curated templates for commontasktypessearchMode: 'by_metadata'- Filter bycomplexity,requiredService,targetAudience
get_template- Get complete workflow JSON (modes: nodes_only, structure, full)
n8n Management Tools (16 tools - Requires API Configuration)
These tools require N8N_API_URL and N8N_API_KEY in your configuration.
Workflow Management
n8n_create_workflow- Create new workflows with nodes and connectionsn8n_get_workflow- Unified workflow retrieval (modes: full, details, structure, minimal)n8n_update_full_workflow- Update entire workflow (complete replacement)n8n_update_partial_workflow- Update workflow using diff operationsn8n_delete_workflow- Delete workflows permanentlyn8n_list_workflows- List workflows with filtering and paginationn8n_validate_workflow- Validate workflows in n8n by IDn8n_autofix_workflow- Automatically fix common workflow errorsn8n_workflow_versions- Manage version history and rollbackn8n_deploy_template- Deploy templates from n8n.io directly to your instance with auto-fix
Execution Management
n8n_test_workflow- Test/trigger workflow execution (webhook, form, chat)n8n_executions- Unified execution management (list, get, delete)n8n_evaluations- Read evaluation test runs (list runs, aggregated metrics, per-case results; n8n 2.30+)
Data Table Management
n8n_manage_datatable- Manage n8n data tables and rows (list, get, create, update, delete)
Credential Management
n8n_manage_credentials- Manage n8n credentials (list, get, create, update, delete, getSchema)
Security & Audit
n8n_audit_instance- Security audit combining n8n's built-in audit API with deep workflow scanning
System Tools
n8n_health_check- Check n8n API connectivity and features
Read-Only Deployment
For governance-sensitive environments, use both env vars together. Fully disable tools that are write/destructive or handle sensitive data (n8n_manage_credentials and n8n_manage_datatable also offer read operations, but are removed entirely here because even reads expose sensitive material):
DISABLED_TOOLS=n8n_create_workflow,n8n_update_full_workflow,n8n_update_partial_workflow,n8n_delete_workflow,n8n_autofix_workflow,n8n_deploy_template,n8n_test_workflow,n8n_manage_credentials,n8n_manage_datatableFor tools that bundle read and write operations under one name, block only the destructive operations while keeping list and get:
DISABLED_TOOL_OPERATIONS=n8n_workflow_versions:delete,rollback,prune;n8n_executions:deleteCombine with a read-only n8n API key (Settings → API in your n8n instance) for defence in depth. See Read-Only Deployment Recipe for the full setup guide.
Documentation
Self-Hosting Guide - npx, Docker, Railway, and local installation
Security & Hardening - Trust model, hardening options, workflow restrictions
n8n Deployment Guide - Production deployment with n8n
Database Configuration - SQLite adapters and memory optimization
Privacy & Telemetry - What we collect and how to opt out
Workflow Diff Operations - Token-efficient workflow updates
HTTP Deployment - Remote server setup
Change Log - Complete version history
License
MIT License - see LICENSE for details.
Contributing
See CONTRIBUTING.md for development setup, testing, and contribution guidelines.
Acknowledgments
See Acknowledgments for credits and template attribution.
💼 Need it built for you?
Work with AiAdvisors — automation audits, builds, and operations by the team behind n8n-mcp and n8n-skills.
Available Tools
7 toolsget_nodeBRead-onlyIdempotent
Get node info with progressive detail levels and multiple modes. Detail: minimal (~200 tokens), standard (~1-2K, default), full (~3-8K). Modes: info (default), docs (markdown documentation), search_properties (find properties), versions/compare/breaking/migrations (version info). Use format='docs' for readable documentation, mode='search_properties' with propertyQuery for finding specific fields.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Operation mode. info=node schema, docs=readable markdown documentation, search_properties=find specific properties, versions/compare/breaking/migrations=version info | info |
| detail | No | Information detail level. standard=essential properties (recommended), full=everything | standard |
| nodeType | Yes | Full node type: "nodes-base.httpRequest" or "nodes-langchain.agent" | |
| toVersion | No | Target version for compare mode (e.g., "2.0"). Defaults to latest if omitted. | |
| fromVersion | No | Source version for compare/breaking/migrations modes (e.g., "1.0") | |
| propertyQuery | No | For mode=search_properties: search term to find properties (e.g., "auth", "header", "body") | |
| includeExamples | No | Include real-world configuration examples from templates. Only applies to mode=info with detail=standard. Adds ~200-400 tokens per example. | |
| includeTypeInfo | No | Include type structure metadata (type category, JS type, validation rules). Only applies to mode=info. Adds ~80-120 tokens per property. | |
| maxPropertyResults | No | For mode=search_properties: max results (default 20) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the annotations (readOnlyHint, idempotentHint) by disclosing token estimates for each detail level (minimal ~200 tokens, standard ~1-2K, full ~3-8K) and stating that modes return different content (e.g., docs = markdown documentation). No contradiction with annotations is present, and the extra context helps an agent anticipate response size and content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with two sentences, front-loading the main purpose and then listing details. Every sentence contributes useful information. The minor error ('format' vs 'mode') detracts slightly but the structure is efficient overall.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (9 parameters, multiple modes), the description covers the main modes and detail levels but omits explanations of version-related modes (versions, compare, breaking, migrations) and parameters like includeExamples, includeTypeInfo, maxPropertyResults, toVersion, fromVersion. The schema covers these, but the description could provide more high-level guidance for a complex tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and includes detailed parameter descriptions. The description adds token counts for detail levels and groups modes concisely, but also repeats information already in the schema. The confusing 'format' reference slightly reduces clarity. Overall, the description provides marginal extra value over the schema, meeting the baseline for high coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool gets node info with progressive detail levels and multiple modes, making the purpose well-defined. However, it introduces an inconsistency by saying 'Use format='docs'' when the parameter is actually named 'mode', which could confuse an agent. Still, the overall purpose is distinct from siblings like search_nodes or tools_documentation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description fails to provide explicit guidance on when to use this tool versus sibling tools (e.g., tools_documentation, search_nodes). It does not mention when-not to use it or suggest alternatives. The information on modes and detail levels helps with intra-tool choices but not tool selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_templateARead-onlyIdempotent
Get template by ID. Use mode to control response size: nodes_only (minimal), structure (nodes+connections), full (complete workflow).
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Response detail level. nodes_only: just node list, structure: nodes+connections, full: complete workflow JSON. | full |
| templateId | Yes | The template ID to retrieve |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds value beyond the annotations by explaining the mode parameter's effect on response size, which the annotations (readOnlyHint and idempotentHint) do not cover. It does not contradict the annotations; rather, it complements them. The behavior of controlling output detail is clearly described.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two short sentences that front-load the purpose and then explain the mode parameter. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 parameters, no output schema, no nested objects), the description is sufficiently complete. It covers the core retrieval purpose and the key parameter. However, it could optionally mention that the output is a workflow template JSON, but since mode 'full' implies 'complete workflow', it is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 adds minimal extra meaning beyond the schema—it only summarizes the mode options briefly ('nodes_only (minimal), structure (nodes+connections), full (complete workflow)') but does not provide additional context about templateId beyond what the schema already states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Get' and the resource 'template by ID'. It succinctly distinguishes the tool from siblings like search_templates by specifying retrieval via ID, and it also describes the mode parameter that tailors the response size, which is a key differentiator from other retrieval tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit context for when to use this tool (when you have a template ID) and how to adjust the response size using mode. However, it does not explicitly state when not to use it or provide alternatives, though the sibling tool names (e.g., search_templates) imply that this is for direct ID lookup, not searching.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_nodesARead-onlyIdempotent
Search 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.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | OR=any word, AND=all words, FUZZY=typo-tolerant | OR |
| limit | No | Max results (default 20) | |
| query | Yes | Search terms. Use quotes for exact phrase. | |
| source | No | Filter by node source: all=everything (default), core=n8n base nodes, community=community nodes, verified=verified community nodes only | all |
| includeExamples | No | Include top 2 real-world configuration examples from popular templates (default: false) | |
| includeOperations | No | Include resource/operation tree per node. Adds ~100-300 tokens per result but saves a get_node round-trip. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the safety profile is clear. The description adds behavioral context: max 20 results, default limit, behavior of includeExamples and includeOperations (token cost per result). This exceeds the burden given the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: three sentences that front-load the purpose and immediately provide actionable examples and constraints. Every sentence earns its place without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Despite having no output schema and 6 parameters, the description is complete: it covers query usage, results limit, and the two boolean options. The context signals show high schema coverage and no nested objects, so the description needs to do little else. The sibling differentiation is implicit but sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters are already well-documented. The description adds value by explaining the query parameter further (use quotes for exact phrase) and clarifying includeExamples and includeOperations behaviors beyond their schema descriptions. A small lift above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches n8n nodes by keyword with optional real-world examples. It distinguishes itself from siblings like search_templates or get_node by focusing on node search with template config examples, and from get_node by offering operations inclusion to save round-trips.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implicitly guides usage via example queries and mentions the trade-off of includeOperations (saves a round-trip to get_node). However, it does not explicitly state when to use this tool over siblings like search_templates or get_node, nor when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_templatesARead-onlyIdempotent
Search templates with multiple modes. Use searchMode='keyword' for text search, 'by_nodes' to find templates using specific nodes, 'by_task' for curated task-based templates, 'by_metadata' for filtering by complexity/setup time/services, 'patterns' for lightweight workflow pattern summaries mined from 2700+ templates.
| Name | Required | Description | Default |
|---|---|---|---|
| task | No | For searchMode=by_task: the type of task. For searchMode=patterns: optional category filter (omit for overview of all categories). | |
| limit | No | Maximum number of results. Default 20. | |
| query | No | For searchMode=keyword: search keyword (e.g., "chatbot") | |
| fields | No | For searchMode=keyword: fields to include in response. Default: all fields. | |
| offset | No | Pagination offset. Default 0. | |
| category | No | For searchMode=by_metadata: filter by category (e.g., "automation", "integration") | |
| nodeTypes | No | For searchMode=by_nodes: array of node types (e.g., ["n8n-nodes-base.httpRequest", "n8n-nodes-base.slack"]) | |
| complexity | No | For searchMode=by_metadata: filter by complexity level | |
| searchMode | No | Search mode. keyword=text search (default), by_nodes=find by node types, by_task=curated task templates, by_metadata=filter by complexity/services, patterns=lightweight workflow pattern summaries | keyword |
| targetAudience | No | For searchMode=by_metadata: filter by target audience (e.g., "developers", "marketers") | |
| maxSetupMinutes | No | For searchMode=by_metadata: maximum setup time in minutes | |
| minSetupMinutes | No | For searchMode=by_metadata: minimum setup time in minutes | |
| requiredService | No | For searchMode=by_metadata: filter by required service (e.g., "openai", "slack") |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the tool is safe and idempotent. The description adds behavioral clarity by detailing the five distinct search modes and their parameters (e.g., 'patterns' mode uses 2700+ templates for summaries), without contradicting annotations. The explanation of 'patterns' as lightweight summaries is extra context beyond annotations, but it lacks details on pagination behavior or result format, keeping it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single, well-structured sentence that efficiently enumerates all five modes and their purposes without redundancy. Every clause adds value (e.g., 'lightweight workflow pattern summaries mined from 2700+ templates'), and it's front-loaded with the main action ('Search templates with multiple modes').
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 13 parameters, no output schema, and rich sibling context, the description is remarkably complete. It covers the core behavior (five search modes), when to use each, and hints at return differences (e.g., 'patterns' yields summaries). With readOnlyHint and idempotentHint annotations, no additional safety info is needed. The only minor gap is no explicit mention of result pagination, but the schema's offset/limit parameters suffice.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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. The description adds value by grouping parameters by search mode (e.g., 'query' for keyword, 'nodeTypes' for by_nodes), providing context not in the schema. However, for parameters like 'category' and 'targetAudience', the description only restates what the schema says, offering no deeper semantics, so it doesn't fully reach a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool searches templates with multiple modes, enumerates each mode with its specific use case (e.g., 'searchMode=keyword' for text search, 'by_nodes' to find templates using specific nodes), and distinguishes itself from siblings like search_nodes (which likely searches for nodes, not templates). The explicit listing of five search modes provides a precise scope.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use each mode (e.g., 'Use searchMode=keyword for text search, by_nodes to find templates using specific nodes'), which directly guides the AI agent in selecting the right approach. It implies that for template-related searches this tool is appropriate, while siblings like search_nodes are for node-level searches, providing clear separation of concerns.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
tools_documentationARead-onlyIdempotent
Get 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.
| Name | Required | Description | Default |
|---|---|---|---|
| depth | No | Level of detail. "essentials" (default) for quick reference, "full" for comprehensive docs. | essentials |
| topic | No | Tool name (e.g., "search_nodes") or "overview" for general guide. Leave empty for quick reference. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, so the agent knows this is a safe, read-only operation. The description adds behavioral context beyond annotations: it explains that calling without parameters returns a 'quick start guide,' and that depth='full' provides 'comprehensive documentation.' This clarifies the different response modes. No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is three sentences, each adding value: first sentence states the core purpose, second gives the default behavior, third explains the two optional parameters. It is front-loaded and contains no unnecessary words. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's simplicity (2 optional params, no output schema), the description covers the main use cases well. It explains all invocation modes. However, it does not describe the format of the returned documentation (e.g., markdown, text), which would be helpful for an agent. Still, it is largely complete for a straightforward documentation tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
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 mentions using the 'topic' parameter and 'depth="full"', but this mostly restates the schema's own descriptions. It adds minimal new meaning beyond what the schema already provides. Therefore, a score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Get documentation for n8n MCP tools.' It distinguishes itself from siblings (which deal with templates, nodes, validation) by explicitly focusing on tool documentation. The different invocation modes (no params, topic, depth) are also outlined, making the purpose very specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage guidance: 'Call without parameters for quick start guide. Use topic parameter to get documentation for specific tools. Use depth="full" for comprehensive documentation.' This tells the agent exactly when to use each parameter combination. It does not mention when not to use the tool or alternatives, but the sibling tools are sufficiently different that no further exclusion is needed.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_nodeARead-onlyIdempotent
Validate n8n node configuration. Use mode='full' for comprehensive validation with errors/warnings/suggestions, mode='minimal' for quick required fields check. Example: nodeType="nodes-base.slack", config={resource:"channel",operation:"create"}
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Validation mode. full=comprehensive validation with errors/warnings/suggestions, minimal=quick required fields check only. Default is "full" | full |
| config | Yes | Configuration as object. For simple nodes use {}. For complex nodes include fields like {resource:"channel",operation:"create"} | |
| profile | No | Profile for mode=full: "minimal", "runtime", "ai-friendly", or "strict". Default is "ai-friendly" | ai-friendly |
| nodeType | Yes | Node type as string. Example: "nodes-base.slack" |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| errors | No | |
| summary | No | |
| nodeType | Yes | |
| warnings | No | |
| displayName | Yes | |
| suggestions | No | |
| workflowNodeType | No | |
| missingRequiredFields | No | Only present in mode=minimal |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as readOnlyHint true and idempotentHint true, so the description has less burden. It adds mode parameters and example usage but does not detail return format or success/failure behavior, which is partially covered by the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences with a clear example, no fluff. Could be slightly more compact by integrating the example into the main statement, but it is efficient and front-loaded with purpose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the complexity (4 params, nested objects, output schema) and 100% schema coverage, the description covers the key behavior. The output schema handles return details, so no further explanation needed. The example adds practical context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so baseline is 3. The description provides an example for nodeType and config that goes beyond the schema by showing a practical use case. This adds value, earning a 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it validates n8n node configuration with a specific verb and resource. Provides examples of nodeType and config to distinguish it from sibling tools like 'search_nodes' or 'get_node'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes two validation modes ('full' for comprehensive, 'minimal' for quick checks) and gives usage example. Context suggests siblings like 'validate_workflow' exist but no direct 'when not to use' is stated, though mode distinction sufficiently guides selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_workflowARead-onlyIdempotent
Full workflow validation: structure, connections, expressions, AI tools. Returns errors/warnings/fixes. Essential before deploy.
| Name | Required | Description | Default |
|---|---|---|---|
| options | No | Optional validation settings | |
| workflow | Yes | The complete workflow JSON to validate. Must include nodes array and connections object. |
Output Schema
| Name | Required | Description |
|---|---|---|
| valid | Yes | |
| errors | No | |
| summary | Yes | |
| warnings | No | |
| suggestions | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint, so the safety profile is clear. The description adds that it returns errors/warnings/fixes, which is useful but not extensive. Since annotations carry the behavioral burden, the description adds moderate value.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and scope. Every word adds value. No redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers the tool's purpose and return type. An output schema exists, so return details are documented elsewhere. Slightly missing mention of the optional 'options' parameter, but the schema covers it. Overall adequate for a validation tool with rich structured data.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with detailed descriptions for each parameter. The description mentions the validation categories (structure, connections, expressions) which map to options, but does not add new meaning beyond what the schema already provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear verb+resource: 'Full workflow validation' specifies the action and scope. Lists what is validated (structure, connections, expressions, AI tools) and what is returned (errors/warnings/fixes). Distinguishes from sibling 'validate_node' by being for the entire workflow.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States 'Essential before deploy' which implies when to use it, but does not explicitly mention when not to use it or alternatives like validate_node for single nodes. The context is clear but lacks exclusions.
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. Dates show when Glama detected each change.
7 tool updates
v2.65.1- First observed
get_node - First observed
get_template - First observed
search_nodes - First observed
search_templates - First observed
tools_documentation - First observed
validate_node - First observed
validate_workflow
TDQS
Each tool targets a distinct resource or action: documentation, templates (get and search), nodes (search, get, validate), and workflow validation. There is no overlap between searching templates and validating nodes, for example. Descriptions clearly differentiate purposes.
Most tools follow a verb_noun pattern (get_template, search_nodes, validate_node, etc.), but 'tools_documentation' breaks this pattern as it lacks a verb prefix. Overall, the naming is readable and predictable, with one minor inconsistency.
With 7 tools, the server is well-scoped for an n8n assistant. Each tool addresses a specific need (documentation, template retrieval, node search/validation, workflow validation) without redundancy or unnecessary bloat.
The tool surface covers key aspects: documentation, templates (search and get), nodes (search, get details, validate node config), and full workflow validation. Missing are tools for creating or updating templates/workflows, but for a documentation and validation assistant, the set is largely complete.
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
A comprehensive Model Context Protocol (MCP) server that enables AI assistants to interact with yo…
MCP server that lets AI assistants use all OneSchema features exposed via the public API.
- ZapierOAuthcom.zapier
Hosted MCP server connecting AI assistants to 9,000+ apps and 40,000+ actions via Zapier.
Model Context Protocol server for the Apideck Unified API. Connect any MCP-compatible agent framework to 100+ accounting systems, HRIS platforms, file storage providers, and more through one integration. More information https://www.apideck.com/mcp-server
Related MCP Servers
- AlicenseAqualityAmaintenanceA Model Context Protocol server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations for effective workflow automation.28126,68322,825MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations.126,683MIT
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations, enabling them to understand and work with n8n's 525+ workflow automation nodes.126,68334MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations, enabling them to build and validate workflows.126,683MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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/PCT-BR/n8n-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server