n8n-MCP
The n8n-MCP server enhances AI assistants' ability to interact with n8n by providing comprehensive access to node documentation, workflow management, and validation capabilities.
Node Information & Discovery: Search nodes by keywords, category, or package; list AI-capable nodes; retrieve detailed or essential node documentation and properties; and get pre-configured settings for common tasks.
Workflow Design & Validation: Validate individual node configurations (required fields, operations, types) and complete workflows (structure, connections, expressions) to catch errors before deployment.
n8n Instance Management: Directly interact with n8n instances to create, retrieve, update, and delete workflows; trigger webhooks; manage executions; and perform API health checks.
Utilities: Access comprehensive tool documentation, view database statistics, search community workflow templates, and get guidance on using nodes as AI tools.
Supports access to LangChain nodes within n8n, providing documentation and configuration assistance for AI-powered workflow automation using LangChain components.
Provides comprehensive access to n8n's workflow automation platform, including node documentation, properties validation, and workflow management capabilities. Enables AI assistants to understand, create, and manage workflows with over 530 automation nodes.
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 fetch data from an API"
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,691 workflow automation nodes (832 core + 1,859 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,691 n8n nodes - 832 core nodes + 1,859 community nodes (1,539 verified)
Node properties - 99% coverage with detailed schemas
Node operations - 66.5% coverage of available actions
Documentation - 86% coverage from official n8n docs (including AI nodes)
AI tools - 267 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
💼 Need it built for you? Work with AiAdvisors — n8n automation audits, builds, and operations, run by the author of n8n-mcp and n8n-skills.
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.
n8n Agents and Instance-Level MCP (Optional)
To use n8n_manage_agents, n8n_explore_node_resources, and the project fallback in n8n_list_catalog, set:
N8N_MCP_ACCESS_TOKEN- MCP API key from n8n Settings → Instance-level MCP → set MCP status to Enabled. This is a separate secret fromN8N_API_KEYand should be stored the same way. The MCP endpoint is derived fromN8N_API_URL; instances that serve MCP from a split host (N8N_MCP_BASE_URL) are not supported.
See Connecting n8n-mcp to n8n's instance-level MCP server for the full setup walkthrough, including how to get the token from the n8n UI, prerequisites, and troubleshooting.
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 (21 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- Version history, diff and rollback over two histories:source: 'local'(the snapshots n8n-mcp takes before it changes a workflow, the default) andsource: 'native'(n8n's own workflow history, including UI edits — needsN8N_MCP_ACCESS_TOKENand the workflow's "Available in MCP" setting)n8n_deploy_template- Deploy templates from n8n.io directly to your instance with auto-fix
Node Resource Discovery
n8n_explore_node_resources- Resolve a node's dynamic dropdown (loadOptions) or resource-locator search (listSearch) values — Slack channels, Google Sheets tabs, model lists — using a real credential, so workflow configs use existing IDs instead of invented ones. RequiresN8N_MCP_ACCESS_TOKEN(see Official MCP Setup)
Execution Management
n8n_test_workflow- Run a workflow.method: 'auto'(default) triggers it over HTTP through its webhook/form/chat trigger;method: 'prepare'/'pinned'/'direct'run workflows that have no such trigger through n8n's own MCP server (needsN8N_MCP_ACCESS_TOKENand the workflow's "Available in MCP" setting)n8n_executions- Unified execution management (list, get, delete)n8n_evaluations- Run and read evaluation test runs (list runs, aggregated metrics, per-case results on n8n 2.30+; trigger and cancel on 2.32+)
Folder Management
n8n_manage_folders- Manage workflow folders (create, list, get, rename, move, delete; n8n 2.19+). Place workflows into folders vian8n_create_workflow'sparentFolderIdorn8n_update_partial_workflow'smoveToFolderoperation (n8n 2.32+)
Data Table Management
n8n_manage_datatable- Manage n8n data tables, rows and columns (list, get, create, update, delete;addColumn/deleteColumn/renameColumnchange an existing table's columns through n8n's own MCP server and needN8N_MCP_ACCESS_TOKEN)
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
Agents
n8n_manage_agents- Manage n8n Agents (persisted assistants with a model, instructions, tools, skills, tasks, memory and channels) through n8n's instance-level MCP server. RequiresN8N_MCP_ACCESS_TOKENand n8n 2.34+ with the agents module (see Official MCP Setup). This is not the AI Agent workflow node — useget_nodefor that
System Tools
n8n_health_check- Check n8n API connectivity and features, includingofficialMcpstatus whenN8N_MCP_ACCESS_TOKENis configuredn8n_list_catalog- List instance-level projects or tags; falls back to n8n's instance-level MCP server for team projects when the Public API doesn't expose them
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. Use this instead of a full DISABLED_TOOLS entry where the tool's read operations are acceptable — the n8n_manage_datatable and n8n_test_workflow entries below are the alternative to removing those tools entirely as above. The example names every write operation of every tool that has one:
DISABLED_TOOL_OPERATIONS=n8n_executions:delete;n8n_test_workflow:auto,trigger,pinned,direct,expose;n8n_evaluations:run,cancel;n8n_manage_folders:create,rename,move,delete;n8n_workflow_versions:delete,rollback,prune,expose;n8n_manage_agents:create,mutate,call,publish,unpublish,revert,delete,update_integration;n8n_manage_datatable:createTable,updateTable,deleteTable,insertRows,updateRows,upsertRows,deleteRows,addColumn,deleteColumn,renameColumnTwo details are easy to miss when writing your own list. For n8n_test_workflow, all four of auto, trigger, pinned and direct run the workflow (an omitted or blank method counts as auto), leaving only the read-only prepare. And expose is not a value of any operation parameter: it is the exposeToMcp consent write of n8n_test_workflow and n8n_workflow_versions, which enables a workflow's "Available in MCP" setting. Omitting expose leaves that write reachable.
Combine 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
Official MCP Setup - Connect n8n-mcp to n8n's instance-level MCP server for Agents and node resource discovery
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 — n8n automation audits, builds, and operations, run by the author of n8n-mcp and n8n-skills.
Available Tools
28 toolsget_nodeARead-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?
Annotations already declare readOnlyHint and idempotentHint. Description adds substantial behavioral context: token estimates for detail levels, mode behaviors, and default values. No contradiction 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?
Three sentences, front-loaded with purpose, then detail and mode explanations, ending with usage tips. Every sentence adds value; no 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?
Covers key output characteristics (token estimates) and mode behaviors. Could mention response format or structure, but given read-only nature and no output schema, it is sufficiently complete for an info-retrieval 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 coverage is 100%, so baseline is 3. Description adds value by clarifying token estimates for detail levels and usage advice for modes (e.g., 'standard=essential properties (recommended)'), exceeding minimal schema info.
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 'Get node info' with specific verb and resource. It distinguishes from sibling tools like search_nodes and validate_node by focusing on retrieving schema info with detail levels and modes.
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?
Provides explicit guidance for mode usage: 'Use format="docs" for readable documentation, mode="search_properties" with propertyQuery for finding specific fields.' Does not explicitly exclude scenarios, but context is clear.
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?
Annotations declare readOnlyHint and idempotentHint, indicating safe, read-only behavior. The description adds detail about mode options, which is consistent and useful beyond what schema provides.
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: first states purpose, second explains mode. No redundancy, front-loaded, and every word adds value.
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?
For a simple retrieval tool with two parameters and no output schema, the description is adequate. It covers purpose and parameter usage. Could mention permissions or return format, but not critical given annotations.
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 descriptions. The description adds a concise summary of mode options with their meanings, supplementing the enum descriptions.
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 retrieves a template by ID, with a specific verb and resource. It distinguishes from sibling tools like n8n_deploy_template or validate_workflow, which have different purposes.
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 guidance on using the 'mode' parameter to control response size, but does not explicitly state when to use this tool over alternatives. However, the purpose is clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_audit_instanceARead-onlyIdempotent
Security audit of n8n instance. Combines n8n's built-in audit API (credentials, database, nodes, instance, filesystem risks) with deep workflow scanning (hardcoded secrets via 50+ regex patterns, unauthenticated webhooks, error handling gaps, data retention risks). Returns actionable markdown report with remediation steps using n8n_manage_credentials and n8n_update_partial_workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| categories | No | Built-in audit categories to check (default: all 5) | |
| customChecks | No | Specific custom checks to run (default: all 4) | |
| includeCustomScan | No | Run deep workflow scanning for secrets, webhooks, error handling (default: true) | |
| daysAbandonedWorkflow | No | Days threshold for abandoned workflow detection (default: 90) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations confirm read-only, idempotent, and non-destructive behavior. The description adds value by detailing the deep workflow scanning (50+ regex patterns), checks (unauthenticated webhooks, etc.), and output format (markdown report). 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 two sentences long, front-loaded with the tool's purpose, and provides specific details without unnecessary words. Every sentence adds value.
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 4 parameters, no output schema, and a complex tool, the description covers the audit scope, checks, and output type. It mentions remediation using sibling tools, which aids completeness. Could include more on output structure, but sufficient for an audit 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?
All 4 parameters have schema descriptions (100% coverage). The description mentions 'all 5' and 'all 4' default checks, which is already in the schema. It does not add significant meaning beyond the schema, earning the baseline 3.
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 'Security audit of n8n instance' and lists specific areas (credentials, database, nodes, instance, filesystem) and custom checks. It distinguishes from sibling tools by focusing on auditing and remediation, not workflow management or creation.
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 mentions returning an actionable markdown report with remediation steps using sibling tools, implying when to use it (for security audit). However, it does not explicitly state when not to use it or provide alternatives, though the read-only nature suggests safe usage anytime.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_autofix_workflowAIdempotent
Automatically fix common workflow validation errors. Preview fixes or apply them. Fixes expression format, typeVersion, error output config, webhook paths, connection structure issues (numeric keys, invalid types, ID-to-name, duplicates, out-of-bounds indices).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to fix | |
| fixTypes | No | Types of fixes to apply (default: all) | |
| maxFixes | No | Maximum number of fixes to apply (default: 50) | |
| applyFixes | No | Apply fixes to workflow (default: false - preview mode) | |
| confidenceThreshold | No | Minimum confidence level for fixes (default: medium) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate idempotentHint=true and destructiveHint=false, consistent with a non-destructive fixer. The description adds that fixes can be previewed or applied, and lists specific issue types. No contradictions.
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, front-loading the action and purpose in a single short paragraph. Every sentence adds value 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?
The description covers what the tool does and lists fix types, but does not describe the output format or return value. Given no output schema, this is a gap for agents needing to parse results.
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 baseline 3. The description lists fixTypes but does not add significant meaning beyond the enum values. Parameters are adequately described in the schema.
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 automatically fixes common workflow validation errors, with explicit examples of fix types (expression format, typeVersion, etc.). It distinguishes from sibling tools like validate_workflow by mentioning both preview and apply modes.
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 implies usage for fixing validation errors but does not provide explicit when-to-use vs when-not-to-use guidance or compare with alternatives like manual updates via n8n_update_*. No exclusions mentioned.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_create_workflowA
Create workflow. Requires: name, nodes[], connections{}. Created inactive. Returns workflow with ID.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Workflow name (required) | |
| nodes | Yes | Array of workflow nodes. Each node must have: id, name, type, typeVersion, position, and parameters | |
| settings | No | Optional workflow settings (execution order, timezone, error handling). Any other key the n8n Public API accepts is forwarded as well, e.g. availableInMCP (expose the workflow to n8n's instance-level MCP server), callerPolicy, callerIds. | |
| projectId | No | Optional project ID to create the workflow in (enterprise feature) | |
| nodeGroups | No | Optional canvas groups (n8n 2.28+): named frames around a connected run of non-trigger nodes. Members are node IDs from nodes[]. Dropped automatically on older n8n. | |
| connections | Yes | Workflow connections object. Keys are source node names (the name field, not id), values define output connections | |
| parentFolderId | No | Optional folder ID to place the workflow in (n8n 2.32+). Omit for the project root. Find or create folders with n8n_manage_folders. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description meaningfully supplements the annotations: it states the workflow is created inactive, requires the three core fields up front so an agent won't attempt degenerate calls, and notes the ID is returned. It also preserves schema nuances like nodeGroups being dropped on older versions in the schema itself. No contradiction with annotations (readOnlyHint=false, destructiveHint=false).
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 terse and front-loaded: the verb, the object, and the essential requirements appear in the opening sentence, with the outcome (inactive, gets ID) in a single follow-up. Every sentence earns its place; no redundant prose.
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?
For a create action with a rich input schema and clear annotations, the description plus schema fully cover what an agent needs: required fields, optional settings, folder placement, enterprise projectId, behavior (inactive), return value, and version-specific caveats like nodeGroups and parentFolderId. No output schema is present, but the description explicitly states the returned workflow includes an ID, which is sufficient for a create call.
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 itself mostly recaps the required names, while the schema already explains nodes, settings, projectId, nodeGroups, parentFolderId, and connections. The only added context is 'Created inactive' and the return of the workflow ID. The schema does the heavy lifting, so no more than a 3 is warranted.
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 states a clear verb and resource ('Create workflow') and enumerates requirements, which distinguishes it from update/delete/list siblings. It lacks an explicit differentiator naming which sibling to use instead, but the action is unambiguous enough for an agent to route correctly.
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 implies when to use: when creating a new workflow, and the schema clarifies required fields. It doesn't explicitly contrast with n8n_update_full_workflow or n8n_update_partial_workflow, nor mention validation steps like validate_workflow. Context is present but exclusions/alternatives are left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_delete_workflowADestructive
Permanently delete a workflow. This action cannot be undone.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to delete |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description reinforces the destructive hint from annotations by stating 'cannot be undone', but adds no new behavioral details beyond what annotations already provide.
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?
Extremely concise with two sentences, no superfluous information, and the key point is front-loaded.
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?
For a simple deletion tool with one parameter and annotations covering destructiveness, the description is adequate; however, it does not specify return value or confirmation behavior.
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% and the description adds no extra meaning to the single parameter (id) beyond its schema documentation.
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 action (permanently delete) and the resource (workflow), distinguishing it from sibling tools like creation or listing.
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?
No guidance on when to use this tool versus alternatives, no conditions or prerequisites mentioned, and no indication of when deletion is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_deploy_templateA
Deploy a workflow template from n8n.io directly to your n8n instance. Deploys first, then auto-fixes common issues (expression format, typeVersions). Returns workflow ID, required credentials, and fixes applied.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Custom workflow name (default: template name) | |
| autoFix | No | Auto-apply fixes after deployment for expression format issues, missing = prefix, etc. (default: true) | |
| templateId | Yes | Template ID from n8n.io (required) | |
| stripCredentials | No | Remove credential references from nodes - user configures in n8n UI (default: true) | |
| autoUpgradeVersions | No | Automatically upgrade node typeVersions to latest supported (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations indicate it's a write operation (readOnlyHint: false) and not destructive. The description adds context: deploys first then auto-fixes common issues, and returns workflow ID, required credentials, and fixes applied. This adds value beyond 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?
Description is concise with two sentences: first states the main action, second summarizes key feature and output. No unnecessary 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 five parameters and no output schema, the description lacks details on parameter behavior (e.g., what happens if autoFix is false), error cases, or prerequisites. It covers the core but leaves gaps.
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% and each parameter is well-described in the schema. The description does not add meaningful detail beyond what the schema provides, so 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?
Description clearly states the tool deploys a workflow template from n8n.io to the instance, with specific verb 'deploy' and resource 'workflow template from n8n.io'. It distinguishes from siblings like n8n_create_workflow or n8n_update_full_workflow by focusing on marketplace templates.
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 implies usage for deploying marketplace templates but does not explicitly state when to use this versus n8n_create_workflow or other sibling tools. No guidance on prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_evaluationsADestructive
Run and read evaluation test runs for a workflow. Reading requires n8n >= 2.30, run/cancel require n8n >= 2.32, and the API key must be created on the matching release to carry the testRun scopes; run/cancel also need the key owner to hold workflow:execute on the workflow. Actions: list_runs=list runs for a workflow, get_run=single run with aggregated metrics, list_cases=per-case results (paginate - cases can be large), run=trigger a run on a workflow with an evaluation trigger, cancel=stop a running run.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Results per page (1-250). Defaults: n8n server default (100) for list_runs, 20 for list_cases (per-case inputs/outputs can be large) | |
| runId | No | Test run ID (required for action=get_run, list_cases, or cancel) | |
| action | Yes | Operation: list_runs=list test runs, get_run=run details with metrics, list_cases=per-case results, run=trigger a run, cancel=stop a running run | |
| cursor | No | Pagination cursor from previous response | |
| status | No | For action=list_runs: filter by run status | |
| workflowId | Yes | Workflow ID the test runs belong to (required) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=true), the description discloses version gating, API key scope requirements, the need for workflow:execute permission, and a performance warning for list_cases ('paginate - cases can be large'). It also explains what cancel does ('stop a running run'). No contradiction 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, front-loaded with a clear summary and then requirements and an action list. Every sentence carries substantive information (prerequisites, action semantics, pagination warning) with no filler or repetition.
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 no output schema, the description explains key return concepts: 'aggregated metrics' for get_run, 'per-case results' for list_cases, and 'list runs for a workflow' for list_runs. It also covers prerequisites, action semantics, and pagination guidance. This is complete for a multi-action tool with six parameters.
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 baseline is 3. The description adds value by explaining run requires an evaluation trigger, get_run returns aggregated metrics, and list_cases can be large and needs pagination, which enriches the meaning of the action parameter and relates to limit/cursor. It does not cover all parameters, but it goes beyond the schema.
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 opens with 'Run and read evaluation test runs for a workflow,' which is a specific verb+resource statement. It clearly distinguishes this tool from siblings like n8n_executions and n8n_test_workflow by focusing on 'evaluation' test runs, and then enumerates the five actions.
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 the tool can be used, including version requirements (n8n >= 2.30 for reading, >= 2.32 for run/cancel) and permission requirements (API key scope, workflow:execute). It does not name alternative tools for exclusion, but the 'evaluation' qualifier and action list make the intended use clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_executionsADestructive
Manage workflow executions: get details, list, or delete. Use action='get' with id for execution details, action='list' (the default) for listing executions, action='delete' to remove execution record.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Execution ID. Required for action=delete; for action=get, omitting it lists executions instead | |
| mode | No | For action=get: preview=structure only, summary=2 items (default), filtered=custom, full=all data, error=optimized error debugging | |
| limit | No | For action=list: number of executions to return (1-100, default: 100) | |
| action | No | Operation: get=get execution details, list=list executions (default), delete=delete execution | list |
| cursor | No | For action=list: pagination cursor from previous response | |
| status | No | For action=list: filter by execution status | |
| nodeNames | No | For action=get with mode=filtered: filter to specific nodes by name | |
| projectId | No | For action=list: filter by project ID (enterprise feature) | |
| itemsLimit | No | For action=get with mode=filtered: items per node (0=structure, 2=default, -1=unlimited) | |
| workflowId | No | For action=list: filter by workflow ID | |
| includeData | No | For action=list: include execution data (default: false) | |
| fetchWorkflow | No | For action=get with mode=error: fetch workflow for accurate upstream detection (default: true) | |
| errorItemsLimit | No | For action=get with mode=error: sample items from upstream node (default: 2, max: 100) | |
| includeInputData | No | For action=get: include input data in addition to output (default: false) | |
| includeStackTrace | No | For action=get with mode=error: include full stack trace (default: false, shows truncated) | |
| includeExecutionPath | No | For action=get with mode=error: include execution path leading to error (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive behavior and non-read-only status. The description adds value by specifying that delete 'removes the execution record' and clarifying the get/list/delete semantics. It does not contradict annotations, though it could further explain consequences like irreversibility.
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: two sentences front-load the core purpose and then give the primary action routing. Every sentence earns its place without 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?
Given the high schema coverage and the tool's moderate complexity, the description is largely complete. It could add a note about response shape or mention that the delete action is irreversible, but the schema supplies the major parameter details and the description covers action selection.
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?
All 16 parameters have thorough descriptions in the schema, including enum values and per-action meaning, so the baseline is 3. The tool description itself does not add parameter-level detail beyond the action mapping, which the schema already covers.
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 identifies the resource (workflow executions) and enumerates the supported operations: get details, list, and delete. It also maps each action to its purpose, making the tool's scope unambiguous and distinct from sibling workflow management 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 gives explicit guidance on when to use each action, including the default action and the role of 'id'. It does not explicitly compare against sibling tools or state when not to use this tool, but the action-level routing is clear and actionable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_explore_node_resourcesARead-only
Resolve the real options behind a node's dynamic dropdown (loadOptions) or resource-locator search (listSearch) using one of the instance's credentials — Slack channels, Google Sheets tabs, model lists — so workflow configs use existing IDs instead of invented ones. Requires N8N_MCP_ACCESS_TOKEN. Find methodName/methodType in get_node output (dynamicOptions on a property) and the credentialId with n8n_manage_credentials list.
| Name | Required | Description | Default |
|---|---|---|---|
| filter | No | Search text (listSearch only) | |
| version | Yes | Node typeVersion | |
| nodeType | Yes | Full node type, e.g. n8n-nodes-base.slack | |
| timeoutMs | No | Request timeout in ms (default 30000) | |
| methodName | Yes | loadOptionsMethod or searchListMethod name from the property definition | |
| methodType | Yes | ||
| credentialId | Yes | ID of an existing credential of that type | |
| credentialType | Yes | Credential type the node uses, e.g. slackApi | |
| paginationToken | No | Token from a previous page (listSearch only) | |
| currentNodeParameters | No | Parameters the method depends on (loadOptionsDependsOn), e.g. {documentId: {...}} |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false. The description adds useful behavioral context beyond this by noting that it uses an instance credential, that it requires N8N_MCP_ACCESS_TOKEN, and that it calls live resource resolution rather than returning static definitions. No contradiction 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 two dense, purposeful sentences. It front-loads the core action and examples, then immediately gives prerequisite lookup instructions. There is no filler or redundant repetition of the schema.
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 (10 parameters, no output schema), the description is quite complete: it names the credential requirement, the two resolution modes, and the source tools for required parameters. It could go slightly further by describing the response shape (label/value items) and pagination behavior, but the schema covers paginationToken and the purpose is unambiguous.
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 around 90%, so the schema carries most paramater meanings. The description adds value by explaining where to find methodName/methodType and credentialId, and by connecting currentNodeParameters to loadOptionsDependsOn with an example. This goes beyond the raw schema.
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?
Description names a specific verb and resource: 'Resolve the real options behind a node's dynamic dropdown (loadOptions) or resource-locator search (listSearch)'. It distinguishes itself from get_node by explaining that this tool resolves live options rather than returning the node definition, and gives concrete examples including Slack channels and Google Sheets tabs.
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?
It clearly conveys when to use the tool (when workflow configs need real IDs behind dynamic dropdowns/listSearch) and tells the agent where to obtain prerequisites: methodName/methodType from get_node output and credentialId from n8n_manage_credentials list. However, it doesn't explicitly state when-not-to-use or compare against alternative tools beyond these references.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_get_workflowARead-onlyIdempotent
Get workflow by ID with different detail levels. n8n has a draft/publish model: the workflow body holds the draft (latest edits); use mode='active' to see the published graph that is actually running. Modes: 'full' (draft + metadata), 'details' (full + execution stats), 'active' (published graph only), 'structure' (nodes/connections topology), 'filtered' (full config of only the nodes named in nodeNames - use to read one heavy node without the whole workflow), 'minimal' (id/name/active/tags).
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID | |
| mode | No | Detail level: full=draft + metadata (activeVersionId pointer kept, heavy activeVersion payload stripped), details=full+execution stats, active=published graph (errors if workflow has no live version), structure=nodes/connections topology, filtered=full config of only the nodes listed in nodeNames, minimal=metadata only | full |
| nodeNames | No | For mode='filtered': node names or node IDs to return with full config. Returns only matching nodes (avoids client-side truncation on large workflows with long Code-node source). Discover names with mode='structure' first. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, openWorldHint, idempotentHint. The description adds valuable context: explains the n8n draft/publish model, what each mode returns, and that active mode requires a live version. 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 a single paragraph with no wasted sentences. It is well-organized, starting with the core purpose, then explaining the draft/publish model, then listing modes compactly. Every sentence adds value.
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 (multiple modes, draft/publish model), the description covers key aspects. It explains what each mode returns, though a brief example of the output structure would enhance completeness. No output schema exists, but the description adequately hints at return types.
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 has 100% coverage, so baseline is 3. The description adds meaning beyond schema: explains the draft/publish model, clarifies that mode='active' returns published graph, and suggests using mode='structure' first to discover node names for mode='filtered'.
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 'Get workflow by ID with different detail levels.' It specifies the verb (Get), resource (workflow), and the key differentiator (different detail levels). This distinguishes it from sibling tools like get_node or get_template.
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 each mode (e.g., 'use mode='active' to see the published graph', 'use mode='filtered' to read one heavy node'). It also warns that mode='active' errors if no live version. It could be improved with a more explicit 'use this when... and not when...' but is still clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_health_checkARead-onlyIdempotent
Check n8n instance health and API connectivity. Use mode='diagnostic' for detailed troubleshooting with env vars and tool status.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Mode: "status" (default) for quick health check, "diagnostic" for detailed debug info including env vars and tool status | status |
| verbose | No | Include extra details in diagnostic mode (default: false) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and no destructive effects. Description adds minimal extra behavioral context beyond purpose, but does not contradict 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?
Two sentences, front-loaded with key purpose, no unnecessary 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?
No output schema, and description does not mention return values. For a health check tool, missing output details reduces completeness, but basic usage is clear.
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% and well-described. Description adds value by explaining diagnostic mode includes env vars and tool status, but does not elaborate further, keeping it at baseline level.
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 the tool checks n8n instance health and API connectivity. Distinguishes two modes. No sibling tool with similar purpose.
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 recommends using diagnostic mode for detailed troubleshooting, providing context for when to choose that mode. However, no guidance on when not to use the tool or alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_list_catalogARead-only
List instance-level catalog entries: projects (with the personal project marked, needed as projectId for agents and data tables) or tags. Reads the Public API first; when team projects are not licensed there, falls back to n8n's MCP server if N8N_MCP_ACCESS_TOKEN is set.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | Yes | ||
| limit | No | ||
| query | No | Case-insensitive name filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful behavioral detail beyond these: it reads the Public API first and falls back to n8n's MCP server only when team projects are not licensed and N8N_MCP_ACCESS_TOKEN is set. This documents an important environment-dependent behavior.
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 no filler. The main action and scope are front-loaded, and the second sentence provides the fallback behavior without unnecessary wording. 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?
For a read-only list tool with three simple parameters, annotations covering safety, and no output schema, the description is complete. It covers what is listed, why projects matter, and the auth/fallback path an agent needs to anticipate. An agent can correctly select and invoke this tool with the information provided.
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 only 33%, so the description must compensate. It does add useful semantics for 'kind' by explaining that projects include the personal project marker and are needed as projectId for agents/data tables. The 'query' parameter is already described in the schema, and 'limit' has clear bounds. This is partial but adequate compensation.
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 uses a specific verb ('List') and resource ('instance-level catalog entries'), then enumerates exactly what is returned: projects or tags. It also clarifies why projects are useful ('needed as projectId for agents and data tables'), distinguishing this from siblings like n8n_list_workflows or n8n_manage_datatable.
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 gives clear context: use this to obtain project IDs or tags at the instance level. It does not explicitly name an alternative tool or state when not to use it, but the 'instance-level' scope and projectId use case provide enough guidance for an agent to select it appropriately.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_list_workflowsARead-onlyIdempotent
List workflows (minimal metadata only). Returns id/name/active/dates/tags. Check hasMore/nextCursor for pagination.
| Name | Required | Description | Default |
|---|---|---|---|
| tags | No | Filter by tags (exact match) | |
| limit | No | Number of workflows to return (1-100, default: 100) | |
| active | No | Filter by active status | |
| cursor | No | Pagination cursor from previous response | |
| projectId | No | Filter by project ID (enterprise feature) | |
| excludePinnedData | No | Exclude pinned data from response (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide readOnlyHint and idempotentHint. The description adds value by clarifying the minimal metadata return and pagination behavior (hasMore/nextCursor). No contradictions.
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 concise sentences, front-loaded with the main purpose. Every sentence adds value with 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?
For a read-only list tool with no output schema, the description fully covers return fields, pagination, and metadata scope. No additional details are needed.
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 descriptions for all 6 parameters. The description does not add new parameter details beyond what the schema provides, so 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?
The description clearly states it lists workflows with minimal metadata, specifies returned fields (id/name/active/dates/tags), and mentions pagination. This distinguishes it from sibling tools like n8n_get_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?
The description implies usage for listing workflows with limited data and pagination, but does not explicitly state when to avoid or use alternatives. The mention of minimal metadata helps agents infer appropriate context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_manage_agentsADestructive
Manage n8n Agents (persisted assistants with a model, instructions, tools, skills, tasks, memory and channels) through n8n's instance-level MCP server. Requires N8N_MCP_ACCESS_TOKEN (MCP API key from n8n Settings → Instance-level MCP) and n8n >= 2.34 with the agents module. Actions: reference, search, get, create, mutate, validate, call, publish, unpublish, revert, versions, delete, discover_assets, verify_mcp_server, update_integration. Start with action=reference (config shape and mutate operations), then discover_assets → create → mutate (one resource at a time, always with the latest configHash) → validate. publish only when the user explicitly asks. call runs the agent with real credentials and tools and may return approvals[] that need a human decision — never approve on the user's behalf. This is not the AI Agent workflow node; use get_node for that.
| Name | Required | Description | Default |
|---|---|---|---|
| args | No | Arguments for the action, forwarded to n8n verbatim. See tools_documentation("n8n_manage_agents", "full") for the per-action fields. | |
| action | Yes | Operation to perform | |
| timeoutMs | No | Request timeout in ms. Default 30000; 180000 for action=call. The agent run continues in n8n even if this expires. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this as destructive and open-world, but the description adds crucial context: required N8N_MCP_ACCESS_TOKEN, n8n >= 2.34, real credentials and tools for call, and the approvals[] human-decision requirement. No contradiction with annotations exists.
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 dense but front-loaded with purpose and prerequisities, followed by action list, workflow, and safety caveats. The action enum is partially redundant with the schema, but each sentence contributes actionable guidance.
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?
For a tool with 15 actions and no output schema, it covers auth, version requirements, invocation order, destructive and publish caveats, call behavior, and sibling differentiation. The instruction to start with reference makes the tool effectively self-documenting for remaining details.
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 the baseline is 3; the description adds value by explaining action semantics (e.g., 'call runs the agent with real credentials', 'always with the latest configHash'). However, per-action args are deferred to tools_documentation, so it doesn't fully document all parameters.
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?
Description states a specific verb and resource: 'Manage n8n Agents' and clarifies what an Agent is. It explicitly distinguishes itself from the AI Agent workflow node with 'This is not the AI Agent workflow node; use get_node for that.' This makes sibling differentiation clear.
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?
Provides an explicit recommended sequence: reference → discover_assets → create → mutate → validate. Also gives conditional guidance such as 'publish only when the user explicitly asks' and warns against approving approvals[] on the user's behalf, plus an explicit alternative for the AI Agent node.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_manage_credentialsA
Manage n8n credentials. Actions: list, get, create, update, delete, getSchema. Use getSchema to discover required fields before creating. For list, page beyond 100 results with cursor (from the previous response's nextCursor). NOTE: list/get need an n8n deployment whose public API permits credential reads — older n8n versions, restricted API keys, or instance settings can reject them, returning NOT_SUPPORTED (create, delete, getSchema — and update where the API version supports it — still work). SECURITY: credential data values are never logged.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | Credential ID (required for get, update, delete) | |
| data | No | Credential data fields - use getSchema to discover required fields (required for create, optional for update) | |
| name | No | Credential name (required for create) | |
| type | No | Credential type e.g. httpHeaderAuth, httpBasicAuth, oAuth2Api (required for create, getSchema) | |
| limit | No | For list: max results per page (1-100, default 100). Ignored when includeUsage is true. | |
| action | Yes | Action to perform | |
| cursor | No | For list: pagination cursor from a previous response's nextCursor. Ignored when includeUsage is true. | |
| includeUsage | No | For list/get: also return workflows that reference each credential (id, name, active). On list, triggers a full scan of all credential pages (up to 5000 credentials; ignores cursor/limit, no nextCursor returned). Slower on large instances. Default: false. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description includes delete action, which is destructive, but annotations set destructiveHint: false. This contradiction undermines transparency. However, the description itself is otherwise detailed about behaviors like NOT_SUPPORTED errors and security logging.
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?
Single paragraph with key info front-loaded. Somewhat dense but efficient for the complexity. Could benefit from bullet points but still readable.
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?
Covers usage guidelines, edge cases (NOT_SUPPORTED), pagination, security, and parameter interactions. Lacks output format details but no output schema exists. Adequately complete for a multi-action 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 coverage is 100%, yet description adds significant value: explains cursor origin, includeUsage behavior (full scan, ignores limits), getSchema for data fields. This goes well beyond the schema descriptions.
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 manages n8n credentials and lists all actions (list, get, create, update, delete, getSchema). It differentiates from sibling tools which handle templates, health, workflows, etc., making the purpose distinct and 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?
Provides explicit guidance: use getSchema before create, pagination with cursor for list, and notes on deployment compatibility affecting list/get. Does not explicitly state when not to use the tool, but contextual hints are sufficient.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_manage_datatableADestructive
Manage n8n data tables, rows and columns. Actions: createTable, listTables, getTable, updateTable, deleteTable, getRows, insertRows, updateRows, upsertRows, deleteRows, addColumn, deleteColumn, renameColumn. The column actions run through n8n's own MCP server (N8N_MCP_ACCESS_TOKEN, n8n 2.34+) because the public API cannot change a table's columns after creation; everything else uses the public API.
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | For insertRows: array of row objects. For updateRows/upsertRows: object with column values. | |
| name | No | For createTable: table name. For updateTable: new table name. For renameColumn: new column name. | |
| limit | No | For listTables/getRows: max results (1-100) | |
| action | Yes | Operation to perform. addColumn/deleteColumn/renameColumn need N8N_MCP_ACCESS_TOKEN. | |
| column | No | For addColumn: the column to add. Name must start with a letter, contain only letters, digits and underscores, and be at most 63 characters. | |
| cursor | No | For listTables/getRows: pagination cursor | |
| dryRun | No | For updateRows/upsertRows/deleteRows: preview without applying (default: false) | |
| filter | No | For getRows/updateRows/upsertRows/deleteRows: {type?: "and"|"or", filters: [{columnName, condition, value}]} | |
| search | No | For getRows: text search across string columns | |
| sortBy | No | For getRows: "columnName:asc" or "columnName:desc" | |
| columns | No | For createTable (required, at least one): column definitions. Change columns later with addColumn/deleteColumn/renameColumn. | |
| tableId | No | Data table ID (required for all actions except createTable and listTables) | |
| columnId | No | For deleteColumn/renameColumn: ID of the column (from getTable). | |
| projectId | No | For createTable: project ID to create the table in. If omitted, uses the default project. For the column actions: the project owning the table - resolved automatically when the instance has exactly one accessible project, otherwise required (the error lists the candidates). | |
| timeoutMs | No | For the column actions: client timeout in ms (5000-600000, default 30000). | |
| returnData | No | For updateRows/upsertRows/deleteRows: return affected rows (default: false) | |
| returnType | No | For insertRows: what to return (default: count) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already flag destructiveHint=true and readOnlyHint=false, and the description adds meaningful behavioral context: the public API cannot change table columns after creation, so those operations are routed through n8n's own MCP server with a token and version requirement. This gives the agent useful constraints beyond the structured 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 compact and front-loaded: it states the scope, lists all actions, then explains the key API split. The action list is long but necessary for a multi-action tool, and there is no 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?
For a 13-action, 17-parameter tool, the description is adequate at an overview level and the schema fills in parameter details. However, with no output schema, it does not explain return formats, error behavior, or broader usage boundaries, so the agent still has to infer several operational details.
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%, with every parameter already documented in the input schema. The description itself adds no parameter-level meaning beyond the schema, so the baseline 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 states the resource ('n8n data tables, rows and columns') and enumerates 13 concrete actions, so an agent can see this is a broad CRUD hub for data tables. 'Manage' is generic, but the action list and resource make the purpose clear and distinguish it from sibling tools like n8n_manage_folders or n8n_manage_credentials.
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 gives an important internal routing rule: column actions require N8N_MCP_ACCESS_TOKEN and n8n 2.34+, while all other actions use the public API. However, it does not explicitly state when to prefer this tool over alternatives or when not to use it, leaving usage mostly implicit in the tool's name and description.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_manage_foldersADestructive
Manage workflow folders (n8n 2.19+; folders need a registered Community instance or higher). Actions: create, list, get, rename, move, delete. projectId defaults to 'personal' (the calling user's personal project). Place workflows into folders via n8n_create_workflow's parentFolderId or the moveToFolder operation of n8n_update_partial_workflow (both n8n 2.32+). Note: n8n's API cannot report which folder a workflow is in - folder contents are visible only as counts.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | For create: folder name (required). For rename: new name (required). | |
| skip | No | For list: items to skip for pagination (default 0) | |
| take | No | For list: items to return (default 50, max 100) | |
| action | Yes | Operation: create=new folder, list=folders in a project (with workflow/subfolder counts), get=folder details with recursive totals, rename=change name, move=re-parent under another folder or the project root, delete=remove folder | |
| sortBy | No | For list: sort order (default: updatedAt:desc) | |
| folderId | No | Folder ID (required for get, rename, move, delete) | |
| projectId | No | Project containing the folder(s). Defaults to 'personal' - resolved to the calling user's personal project. Pass a real project ID on multi-project (enterprise) instances. | |
| nameFilter | No | For list: filter folders by name (contains match) | |
| parentFolderId | No | For create: optional parent folder to nest under. For move: target parent folder ID, or null to move to the project root (required). For list: only return direct children of this folder. | |
| transferToFolderId | No | For delete: move contained workflows and sub-folders into this folder first ('0' = project root). If omitted, workflows are moved to the project root AND ARCHIVED, and sub-folders are deleted. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate destructive behavior (destructiveHint=true) and non-read-only. The description adds n8n version requirements, the projectId default to 'personal', and the critical limitation that folder contents are only visible as counts. No contradiction 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 four information-dense sentences, front-loaded with purpose and version requirements. Every sentence adds value and there is no filler or repetition.
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?
For a complex 10-parameter tool with no output schema, the description plus schema covers actions, requirements, defaults, cross-tool relationships, and a key API limitation. Minor omissions like error handling or permission requirements are not critical given the schema's richness.
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 3. The description repeats the projectId default and mentions parentFolderId in other tools, but adds no new parameter semantics beyond what the schema already provides.
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 manages workflow folders and enumerates six specific actions (create, list, get, rename, move, delete). The note that the API cannot report which folder a workflow is in further distinguishes this tool's scope from sibling workflow-management 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?
It explicitly directs workflow-folder placement to n8n_create_workflow and n8n_update_partial_workflow, clarifying the boundary between folder management and workflow-to-folder association. It also gives version/instance requirements and warns about the API limitation, providing strong context. It could be more explicit about 'when not to use' but the guidance is solid.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_test_workflowADestructive
Run a workflow. method=auto (default) triggers it over HTTP through its webhook/form/chat trigger. Workflows without such a trigger need n8n's MCP server: method=prepare lists the nodes that need pinned data, method=pinned runs the workflow with that data, method=direct starts a run with optional inputs. The official methods need N8N_MCP_ACCESS_TOKEN and the workflow's "Available in MCP" setting (exposeToMcp: true enables it after you confirm with the user).
| Name | Required | Description | Default |
|---|---|---|---|
| data | No | Input data/payload for webhook, form fields, or execution data | |
| method | No | How to run it. auto (default): trigger over HTTP when the workflow has a webhook/form/chat trigger, otherwise report that it cannot be triggered - auto never runs through n8n's MCP server. trigger: force the HTTP path. prepare: list the nodes needing pinned data (read-only). pinned: run with pinData through n8n's MCP server. direct: start a run through n8n's MCP server, with optional inputs. | |
| headers | No | Custom HTTP headers | |
| message | No | For chat: message to send (required for chat triggers) | |
| pinData | No | For method=pinned (required, non-empty): pinned trigger data keyed by node name. Each value is an array of ITEMS, and every item must be wrapped as { "json": { ... } } - e.g. {"Webhook": [{"json": {"id": "123"}}]}, never a flat object. Get the node list from method=prepare. | |
| timeout | No | Timeout in ms (default: 120000). HTTP trigger path only (method auto/trigger) — the official methods (prepare/pinned/direct) use timeoutMs instead. | |
| sessionId | No | For chat: session ID for conversation continuity | |
| timeoutMs | No | Client-side deadline for the official call (default: 30000 for prepare, 300000 for pinned/direct) | |
| httpMethod | No | For webhook: HTTP method (default: from workflow config or POST) | |
| workflowId | Yes | Workflow ID to execute (required) | |
| exposeToMcp | No | For the official methods: enable the workflow's persistent "Available in MCP" setting when n8n refuses the call. Confirm with the user first. | |
| triggerType | No | Trigger type. Auto-detected if not specified. Workflow must have a matching trigger node. | |
| webhookPath | No | For webhook: override the webhook path | |
| executionMode | No | For method=direct: manual (default) runs it as a manual execution; production runs it through the production execution path. Both execute the workflow's nodes for real - this only changes the execution context. Never chosen implicitly. | |
| triggerNodeName | No | For method=pinned/direct: which trigger node to start from. Defaults to the detected trigger node. Required by n8n when inputs are given. | |
| waitForResponse | No | Wait for workflow completion (default: true) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations only flag non-read-only, open-world, and potentially destructive behavior; the description adds the auth prerequisite (N8N_MCP_ACCESS_TOKEN), the side effect of toggling the persistent 'Available in MCP' setting with explicit user confirmation, the read-only nature of prepare, and the failure mode where auto reports that it cannot be triggered. No contradiction with annotations — the per-method read-only qualifier is consistent with a whole-tool destructiveHint=true.
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?
Three sentences carry the whole method model, the default behavior, and the auth prerequisite, front-loading 'Run a workflow' and method=auto. The middle sentence is dense with three methods packed into one clause, but for a 16-param, 5-method tool every clause earns its place and nothing is wasted.
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?
For a tool this complex, the description plus a 100%-covered schema resolve almost every invocation decision: method selection, auth, prerequisites, and side-effect confirmation are all present. The notable gap is return-value semantics — with no output schema, the agent never learns what a run returns (execution ID? result data? error shape?), which matters when a workflow run starts a chained task.
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 every parameter already carries a precise semantic description, including pinData's wrapping rule, the timeout vs timeoutMs scoping, and executionMode's 'never chosen implicitly' caveat. The description adds the connecting glue — the method model and auth context — but the schema does the heavy lifting, so baseline 3 applies.
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?
'Run a workflow' pairs a specific verb with a clear resource and is immediately differentiated from the 28 siblings (create/get/update/delete/list workflows). The method breakdown makes explicit that this tool executes, never manages, workflow definitions, and the trigger/HTTP vs MCP-server distinction removes ambiguity about what 'run' means here.
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 gives explicit routing logic: workflows with webhook/form/chat triggers use auto/trigger over HTTP, while triggerless workflows require prepare/pinned/direct through n8n's MCP server. It also states the fallback behavior (use exposeToMcp when n8n refuses) and the prepare-first requirement before pinned. It doesn't name exclusion conditions against sibling tools, but within the tool the when-to-use decision is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_update_full_workflowAIdempotent
Full workflow update. Requires complete nodes[] and connections{}. For incremental use n8n_update_partial_workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to update | |
| name | No | New workflow name | |
| nodes | No | Complete array of workflow nodes (required if modifying workflow structure) | |
| settings | No | Workflow settings to update | |
| nodeGroups | No | Canvas groups (n8n 2.28+). Omit to keep the existing groups; pass [] to ungroup everything. Members are node IDs. | |
| connections | No | Complete connections object (required if modifying workflow structure) | |
| parentFolderId | No | Move the workflow into this folder (n8n 2.32+): folder ID = move there, null = move to project root, omit = leave the current folder unchanged. For a move without other changes prefer the moveToFolder operation of n8n_update_partial_workflow. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description implies a full replacement behavior by requiring complete nodes and connections, which adds some context beyond annotations. However, it does not elaborate on side effects, return values, or error scenarios. Annotations cover read-only and destructive hints, so the bar is lowered, but the description still contributes limited behavioral detail.
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 front-loads the purpose, states the key requirement, and names the alternative. Every word adds value with 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?
Given the tool's 7 parameters and nested objects, the description is brief, but the schema provides rich parameter details and the description successfully conveys the critical distinction from the partial update tool. It lacks explicit mention of return behavior and the effect of omitting optional fields, but overall it is sufficiently complete for an agent given the schema richness.
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?
The schema has 100% parameter coverage with descriptive text for each field, including 'Complete array of workflow nodes' and 'Complete connections object'. The description merely repeats the completeness requirement without adding new meaning, so it stays at the baseline 3.
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 identifies the action as a 'Full workflow update' and specifies the resource. It explicitly distinguishes itself from the sibling tool by naming n8n_update_partial_workflow, making its purpose unambiguous and distinct.
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?
It provides explicit guidance by stating 'Requires complete nodes[] and connections{}' and directing users to the partial update tool for incremental changes. This gives clear when-to-use and when-not-to-use context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_update_partial_workflowAIdempotent
Update workflow incrementally with diff operations. Types: addNode, removeNode, updateNode, patchNodeField, moveNode, enable/disableNode, addConnection, removeConnection, rewireConnection, cleanStaleConnections, replaceConnections, updateSettings, updateName, setNodeGroups, add/removeTag, activate/deactivateWorkflow, transferWorkflow, moveToFolder. patchNodeField requires fieldPath (dot path, e.g. "parameters.jsCode") and patches: [{find, replace}]. setNodeGroups replaces all canvas groups: [{name, nodeNames|nodeIds}] (or [] to ungroup). moveToFolder moves the workflow into a folder (n8n 2.32+): {parentFolderId: folder ID or null for project root}. See tools_documentation("n8n_update_partial_workflow", "full") for details.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to update | |
| operations | Yes | Array of diff operations to apply. Each operation must have a "type" field and relevant properties for that operation type. | |
| validateOnly | No | If true, only validate operations without applying them | |
| continueOnError | No | If true, apply valid operations even if some fail (best-effort mode). Returns applied and failed operation indices. Default: false (atomic) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by enumerating all operation types and detailing specific requirements for patchNodeField, setNodeGroups, and moveToFolder (including version note). This enriches the behavioral profile significantly, though it omits return format and potential side effects of removal operations. The annotation destructiveHint=false is not directly contradicted because the description does not explicitly claim non-destructive behavior.
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 dense but well-structured: one clear opening sentence, a list of operation types, and three specific clarifications. Every sentence adds value, and the final pointer to tools_documentation avoids redundancy. It is slightly long but appropriate for the tool's complexity.
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?
For a tool this complex, the description covers the main operation categories and critical constraints, including version requirements. However, it lacks specification of return values and error/atomicity behavior (though continueOnError is in the schema). The explicit reference to tools_documentation for full details partially compensates, but the absence of output description is a gap.
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%, giving baseline 3, but the description markedly enhances parameter understanding: it clarifies that operations must have a 'type' field and provides concrete shapes for key operations (e.g., patchNodeField with fieldPath and patches, setNodeGroups with name/nodeNames). This is far more informative than the generic array description in the schema.
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 starts with 'Update workflow incrementally with diff operations,' clearly stating the specific verb (update), resource (workflow), and mode (incremental diff). This distinguishes it from sibling tools like n8n_update_full_workflow and n8n_create_workflow, making its purpose immediately obvious.
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 phrase 'incrementally' implies usage for partial changes, contrasting with full replacement, but the description does not explicitly state when to use this tool over n8n_update_full_workflow or provide exclusions. It conveys clear context without naming alternatives or when-not cases.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_validate_workflowBRead-onlyIdempotent
Validate workflow by ID. Checks nodes, connections, expressions. Returns errors/warnings/suggestions.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID to validate | |
| options | No | Validation options |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already provide read-only, open-world, and idempotent hints. Description adds that it returns errors/warnings/suggestions but does not elaborate on response structure or edge cases.
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 concise sentences conveying core purpose and output. No redundant information, well front-loaded.
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?
No output schema, so description should detail return format. Lacks explanation of validation profiles, which are documented only via enum values. Does not address potential confusion with sibling 'validate_workflow'.
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 property descriptions. Description restates the parameters' purpose without adding new meaning or examples.
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?
Description clearly states it validates a workflow by ID, checking nodes, connections, expressions, and returning results. However, it does not differentiate from the sibling 'validate_workflow', which may cause confusion.
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?
No guidance on when to use this tool versus alternatives like n8n_audit_instance or n8n_health_check. Does not specify prerequisites or when not to use.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
n8n_workflow_versionsADestructive
Manage workflow version history, rollback, comparison, and cleanup. Six modes:
list: Show version history for a workflow
get: Get details of a specific version
rollback: Restore workflow to a previous version (creates backup first)
diff: Compare two versions
delete: Delete specific version or all versions for a workflow
prune: Manually trigger pruning to keep N most recent versions
Two sources:
source: 'local' (default) - snapshots n8n-mcp takes before it changes a workflow. Scoped to your n8n instance, works on any n8n version, and covers only changes made through n8n-mcp. Old backups are pruned automatically (10 most recent per workflow, plus an age-based retention window).
source: 'native' - n8n's own workflow history, the same list the n8n UI shows, including edits made by people in the UI. Needs an n8n MCP access token and the workflow's "Available in MCP" setting; supports list, get, rollback and diff only. Native rollback is not pre-validated.
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | Operation mode (default: list) | list |
| limit | No | Max versions to return in list mode (native: capped at 50) | |
| offset | No | Skip this many versions in native list mode | |
| source | No | Which history to read: 'local' (n8n-mcp snapshots, default) or 'native' (n8n's own version history). delete and prune are local-only. | local |
| deleteAll | No | Delete all versions for workflow (delete mode only) | |
| timeoutMs | No | Client deadline for the native call (default 30000) | |
| versionId | No | Version ID. local: numeric snapshot id (number or numeric string); native: n8n's version id string. Required for get and diff, for a single-version delete, and for native rollback; optional for local rollback. | |
| workflowId | No | Workflow ID (required for list, rollback, delete, prune, diff; required for every native mode) | |
| exposeToMcp | No | Native only. When n8n refuses the workflow because it is not available in MCP, enable that setting on the workflow and retry once. This is a visible, persistent workflow setting - confirm with the user first. | |
| maxVersions | No | Keep N most recent versions (prune mode only) | |
| toVersionId | No | The second version to compare against in diff mode (same id format as versionId) | |
| validateBefore | No | Validate workflow structure before rollback (local only; accepted and ignored for native) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructive behavior, and the description goes further by disclosing side effects: rollback creates a backup first, delete and prune are local-only, prune retains 10 most recent versions automatically, and exposeToMcp is a visible persistent workflow setting requiring user confirmation. This exceeds what annotations alone provide and helps agents anticipate consequences.
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 well-structured with a clear first sentence, a compact mode list, and a source comparison section. It is longer than average, but the tool has 12 parameters and multiple modes, and every sentence contributes operational detail without repetition 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 modes, sources, prerequisites, side effects, and source-specific constraints, which is strong for a complex tool. It does not describe return value shapes or error conditions, and with no output schema present, some of that burden falls on the description; however, the core invocation context is nearly complete.
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 input schema already documents all 12 parameters, including mode-specific behavior and defaults. The description adds high-level source semantics but does not meaningfully enrich individual parameter meanings beyond what the schema provides, so the baseline 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 opens with a specific verb and resource: 'Manage workflow version history, rollback, comparison, and cleanup.' It then enumerates six precise modes, making the tool's scope unmistakable. This clearly distinguishes it from sibling workflow tools like n8n_create_workflow or n8n_update_partial_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?
The description provides clear context for when to use the tool via its six modes and explains the critical distinction between the 'local' and 'native' sources. It does not explicitly name sibling alternatives or state when not to use this tool, but the mode breakdown leaves little ambiguity about intended usage.
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 declare readOnlyHint and idempotentHint, which the description aligns with by describing a read-only search operation. The description adds value by specifying the maximum result limit (20) and the token impact of includeOperations ('~100-300 tokens per result'), going beyond what annotations provide. No contradictions.
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 short sentences that front-load the main purpose, provide example usage, and state key behavior. Every sentence is necessary and informative with zero waste.
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?
There is no output schema, so the description should explain the return structure. It only mentions 'Returns max 20 results' but does not specify what fields each result contains (e.g., node name, description, type). Given the tool has 6 parameters, this lack of return value detail makes it somewhat incomplete.
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 contributes little extra meaning beyond the schema; it gives an example query ('query="webhook"') and mentions the token cost for includeOperations, but these are minor additions. Adequate but not exceptional.
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, provides example queries, and distinguishes itself from siblings like get_node (which retrieves a specific node) and search_templates (which searches templates). The verb 'Search' with resource 'n8n nodes' is specific and unambiguous.
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 gives clear usage instructions: pass a query string, returns up to 20 results, and explains when to use optional parameters like includeExamples and includeOperations. It provides context for when to use this tool versus alternatives (e.g., search vs. get_node), though it does not explicitly state 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 indicate readOnlyHint and idempotentHint, which the description supports. It adds behavioral context like 'lightweight workflow pattern summaries mined from 2700+ templates,' without contradicting 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 two sentences, front-loaded with the main purpose, and efficiently covers five modes without waste. Every sentence adds value.
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?
No output schema is provided, and the description does not detail return values beyond mentioning 'lightweight workflow pattern summaries' for one mode. While parameters specify filtering, the response format is unclear, leaving some gaps.
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%, and the description adds value by explaining how parameters are used in different modes (e.g., 'task' for by_task vs patterns). This supplements the schema descriptions well.
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 'Search templates with multiple modes' and enumerates five distinct modes, making the tool's purpose specific and differentiating it from sibling tools like search_nodes.
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 lists when to use each search mode (e.g., 'use searchMode=''keyword'' for text search'), providing clear context for selection. It does not explicitly state when not to use this tool, but the guidance is sufficient.
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 tool is safe. The description adds context about parameter effects (quick start vs specific docs, depth levels), which goes beyond annotations and helps the agent understand behavior.
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?
Three sentences, no wasted words. The first sentence states the purpose, followed by usage guidance. Perfectly front-loaded and concise.
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 purpose and usage but does not mention the output format (e.g., returns text/markdown). However, given the tool's simplicity and no required parameters, it is mostly complete. An explicit note about return type would raise it to 5.
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 both parameters documented. The description adds usage patterns: 'Call without parameters for quick start guide' and specific parameter uses, enriching the schema meaning with real-world invocation scenarios.
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 uses the specific verb 'Get documentation' for 'n8n MCP tools', clearly defining the tool's purpose. It distinguishes from sibling tools by being a meta-documentation tool, not a node or workflow tool.
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 clear usage patterns: 'Call without parameters for quick start guide', 'Use topic parameter to get documentation for specific tools', and 'Use depth="full" for comprehensive documentation'. It doesn't explicitly state when not to use this tool or mention alternatives, but the guidance is sufficient for typical use.
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 declare readOnlyHint and idempotentHint, so safety is clear. The description adds behavioral context by explaining the modes and profiles, and includes an example. No contradictions. It could mention that it doesn't modify state, but annotations already cover that.
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 and an example. First sentence states purpose, second gives usage guidance. No redundancy. The example is placed at the end for reference. Every part 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 existence of an output schema (not shown) and the detailed parameter descriptions, the description is largely complete. It explains modes and profiles. It could mention the output structure (errors/warnings/suggestions) but that is covered by the output schema. Overall sufficient for the complexity.
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 adds an example and hints about simple vs complex nodes, but the schema already provides detailed descriptions for each parameter. The added value is moderate.
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 validates n8n node configuration, specifies two modes (full/minimal), and provides a concrete example. This distinguishes it from sibling validation tools like validate_workflow by focusing on node-level validation.
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 gives explicit guidance on when to use each mode ('full' for comprehensive, 'minimal' for quick check). It does not explicitly exclude alternatives or state when not to use it, but the context implies it's for node config vs workflow validation. A clear use case is provided.
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 declare readOnlyHint and idempotentHint, indicating safe, repeatable usage. The description adds value by stating that it returns errors/warnings/fixes, providing behavioral context beyond 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?
Two sentences that are front-loaded with the purpose, clearly stating the scope, return type, and usage context. Every sentence earns its place with no waste.
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 (nested parameters, output schema), the description covers the core purpose, validation scope, and return type. It could mention validation profiles but that is covered by the schema, so overall complete.
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 descriptions for all parameters. The description lists validated categories (structure, connections, expressions, AI tools) which map to the schema's options but adds no essential meaning beyond what the schema provides.
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 starts with 'Full workflow validation' and specifies the validated aspects: structure, connections, expressions, AI tools. It clearly distinguishes from sibling tools like deploy or health check by stating 'Essential before deploy'.
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 clear context by stating 'Essential before deploy', guiding the agent to use this tool before deployment. It does not explicitly state when not to use or list alternatives, but the context is sufficient.
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.
2 tool updates
v2.79.0- Changed
n8n_executions4 fields changed- added
Input schema / properties / action / defaultAdded value: +"list" - changed
Input schema / properties / action / descriptionPrevious value: -"Operation: get=get execution details, list=list executions, delete=delete execution"New value: +"Operation: get=get execution details, list=list executions (default), delete=delete execution" - changed
Input schema / properties / id / descriptionPrevious value: -"Execution ID (required for action=get or action=delete)"New value: +"Execution ID. Required for action=delete; for action=get, omitting it lists executions instead" - removed
Input schema / requiredRemoved value: -[ - "action" -]
- Changed
n8n_workflow_versions3 fields changed- added
Input schema / properties / mode / defaultAdded value: +"list" - changed
Input schema / properties / mode / descriptionPrevious value: -"Operation mode"New value: +"Operation mode (default: list)" - removed
Input schema / requiredRemoved value: -[ - "mode" -]
7 tool updates
v2.77.0- Changed
n8n_create_workflow2 fields changed- changed
Input schema / properties / settings / descriptionPrevious value: -"Optional workflow settings (execution order, timezone, error handling)"New value: +"Optional workflow settings (execution order, timezone, error handling). Any other key the n8n Public API accepts is forwarded as well, e.g. availableInMCP (expose the workflow to n8n's instance-level MCP server), callerPolicy, callerIds." - added
Input schema / properties / settings / properties / availableInMCPAdded value: +{ + "description": "Expose the workflow to n8n's instance-level MCP server (n8n 1.119+)", + "type": "boolean" +}
- Added
n8n_explore_node_resources - Added
n8n_list_catalog - Added
n8n_manage_agents - Changed
n8n_manage_datatable8 fields changed- changed
Input schema / properties / action / descriptionPrevious value: -"Operation to perform"New value: +"Operation to perform. addColumn/deleteColumn/renameColumn need N8N_MCP_ACCESS_TOKEN." - changed
Input schema / properties / action / enumPrevious value: -[ - "createTable", - "listTables", - "getTable", - "updateTable", - "deleteTable", - "getRows", - "insertRows", - "updateRows", - "upsertRows", - "deleteRows" -]New value: +[ + "createTable", + "listTables", + "getTable", + "updateTable", + "deleteTable", + "getRows", + "insertRows", + "updateRows", + "upsertRows", + "deleteRows", + "addColumn", + "deleteColumn", + "renameColumn" +] - added
Input schema / properties / columnAdded value: +{ + "description": "For addColumn: the column to add. Name must start with a letter, contain only letters, digits and underscores, and be at most 63 characters.", + "properties": { + "name": { + "type": "string" + }, + "type": { + "enum": [ + "string", + "number", + "boolean", + "date" + ], + "type": "string" + } + }, + "required": [ + "name", + "type" + ], + "type": "object" +} - added
Input schema / properties / columnIdAdded value: +{ + "description": "For deleteColumn/renameColumn: ID of the column (from getTable).", + "type": "string" +} - changed
Input schema / properties / columns / descriptionPrevious value: -"For createTable (required, at least one): column definitions. Schema is immutable after creation via public API."New value: +"For createTable (required, at least one): column definitions. Change columns later with addColumn/deleteColumn/renameColumn." - changed
Input schema / properties / name / descriptionPrevious value: -"For createTable: table name. For updateTable: new name (rename only — schema is immutable after creation)"New value: +"For createTable: table name. For updateTable: new table name. For renameColumn: new column name." - changed
Input schema / properties / projectId / descriptionPrevious value: -"For createTable: project ID to create the table in. If omitted, uses the default project."New value: +"For createTable: project ID to create the table in. If omitted, uses the default project. For the column actions: the project owning the table - resolved automatically when the instance has exactly one accessible project, otherwise required (the error lists the candidates)." - added
Input schema / properties / timeoutMsAdded value: +{ + "description": "For the column actions: client timeout in ms (5000-600000, default 30000).", + "maximum": 600000, + "minimum": 5000, + "type": "integer" +}
- Changed
n8n_test_workflow7 fields changed- added
Input schema / properties / executionModeAdded value: +{ + "description": "For method=direct: manual (default) runs it as a manual execution; production runs it through the production execution path. Both execute the workflow's nodes for real - this only changes the execution context. Never chosen implicitly.", + "enum": [ + "manual", + "production" + ], + "type": "string" +} - added
Input schema / properties / exposeToMcpAdded value: +{ + "description": "For the official methods: enable the workflow's persistent \"Available in MCP\" setting when n8n refuses the call. Confirm with the user first.", + "type": "boolean" +} - added
Input schema / properties / methodAdded value: +{ + "description": "How to run it. auto (default): trigger over HTTP when the workflow has a webhook/form/chat trigger, otherwise report that it cannot be triggered - auto never runs through n8n's MCP server. trigger: force the HTTP path. prepare: list the nodes needing pinned data (read-only). pinned: run with pinData through n8n's MCP server. direct: start a run through n8n's MCP server, with optional inputs.", + "enum": [ + "auto", + "trigger", + "prepare", + "pinned", + "direct" + ], + "type": "string" +} - added
Input schema / properties / pinDataAdded value: +{ + "description": "For method=pinned (required, non-empty): pinned trigger data keyed by node name. Each value is an array of ITEMS, and every item must be wrapped as { \"json\": { ... } } - e.g. {\"Webhook\": [{\"json\": {\"id\": \"123\"}}]}, never a flat object. Get the node list from method=prepare.", + "type": "object" +} - changed
Input schema / properties / timeout / descriptionPrevious value: -"Timeout in ms (default: 120000)"New value: +"Timeout in ms (default: 120000). HTTP trigger path only (method auto/trigger) — the official methods (prepare/pinned/direct) use timeoutMs instead." - added
Input schema / properties / timeoutMsAdded value: +{ + "description": "Client-side deadline for the official call (default: 30000 for prepare, 300000 for pinned/direct)", + "maximum": 600000, + "minimum": 5000, + "type": "integer" +} - added
Input schema / properties / triggerNodeNameAdded value: +{ + "description": "For method=pinned/direct: which trigger node to start from. Defaults to the detected trigger node. Required by n8n when inputs are given.", + "type": "string" +}
- Changed
n8n_workflow_versions11 fields changed- added
Input schema / properties / exposeToMcpAdded value: +{ + "description": "Native only. When n8n refuses the workflow because it is not available in MCP, enable that setting on the workflow and retry once. This is a visible, persistent workflow setting - confirm with the user first.", + "type": "boolean" +} - changed
Input schema / properties / limit / descriptionPrevious value: -"Max versions to return in list mode"New value: +"Max versions to return in list mode (native: capped at 50)" - changed
Input schema / properties / mode / enumPrevious value: -[ - "list", - "get", - "rollback", - "delete", - "prune" -]New value: +[ + "list", + "get", + "rollback", + "delete", + "prune", + "diff" +] - added
Input schema / properties / offsetAdded value: +{ + "description": "Skip this many versions in native list mode", + "minimum": 0, + "type": "number" +} - added
Input schema / properties / sourceAdded value: +{ + "default": "local", + "description": "Which history to read: 'local' (n8n-mcp snapshots, default) or 'native' (n8n's own version history). delete and prune are local-only.", + "enum": [ + "local", + "native" + ], + "type": "string" +} - added
Input schema / properties / timeoutMsAdded value: +{ + "description": "Client deadline for the native call (default 30000)", + "maximum": 600000, + "minimum": 5000, + "type": "integer" +} - added
Input schema / properties / toVersionIdAdded value: +{ + "description": "The second version to compare against in diff mode (same id format as versionId)" +} - changed
Input schema / properties / validateBefore / descriptionPrevious value: -"Validate workflow structure before rollback"New value: +"Validate workflow structure before rollback (local only; accepted and ignored for native)" - changed
Input schema / properties / versionId / descriptionPrevious value: -"Version ID (required for get mode and single version delete, optional for rollback)"New value: +"Version ID. local: numeric snapshot id (number or numeric string); native: n8n's version id string. Required for get and diff, for a single-version delete, and for native rollback; optional for local rollback." - removed
Input schema / properties / versionId / typeRemoved value: -"number" - changed
Input schema / properties / workflowId / descriptionPrevious value: -"Workflow ID (required for list, rollback, delete, prune)"New value: +"Workflow ID (required for list, rollback, delete, prune, diff; required for every native mode)"
4 tool updates
v2.68.0- Changed
n8n_create_workflow1 field changed- added
Input schema / properties / parentFolderIdAdded value: +{ + "description": "Optional folder ID to place the workflow in (n8n 2.32+). Omit for the project root. Find or create folders with n8n_manage_folders.", + "type": "string" +}
- Changed
n8n_evaluations3 fields changed- changed
Input schema / properties / action / descriptionPrevious value: -"Operation: list_runs=list test runs, get_run=run details with metrics, list_cases=per-case results"New value: +"Operation: list_runs=list test runs, get_run=run details with metrics, list_cases=per-case results, run=trigger a run, cancel=stop a running run" - changed
Input schema / properties / action / enumPrevious value: -[ - "list_runs", - "get_run", - "list_cases" -]New value: +[ + "list_runs", + "get_run", + "list_cases", + "run", + "cancel" +] - changed
Input schema / properties / runId / descriptionPrevious value: -"Test run ID (required for action=get_run or action=list_cases)"New value: +"Test run ID (required for action=get_run, list_cases, or cancel)"
- Added
n8n_manage_folders - Changed
n8n_update_full_workflow1 field changed- added
Input schema / properties / parentFolderIdAdded value: +{ + "description": "Move the workflow into this folder (n8n 2.32+): folder ID = move there, null = move to project root, omit = leave the current folder unchanged. For a move without other changes prefer the moveToFolder operation of n8n_update_partial_workflow.", + "type": [ + "string", + "null" + ] +}
14 tool updates
v2.66.2- Added
get_node - Added
n8n_autofix_workflow - Added
n8n_create_workflow - Added
n8n_delete_workflow - Added
n8n_executions - Added
n8n_get_workflow - Added
n8n_list_workflows - Added
n8n_manage_datatable - Added
n8n_test_workflow - Added
n8n_update_full_workflow - Added
search_nodes - Added
search_templates - Added
tools_documentation - Added
validate_node
12 tool updates
v2.65.2- Added
get_template - Removed
n8n_create_workflow - Removed
n8n_delete_workflow - Added
n8n_evaluations - Removed
n8n_executions - Removed
n8n_list_workflows - Added
n8n_manage_credentials - Removed
n8n_test_workflow - Added
n8n_validate_workflow - Removed
search_templates - Removed
tools_documentation - Added
validate_workflow
11 tool updates
v2.65.1- Removed
get_node - Removed
get_template - Removed
n8n_autofix_workflow - Removed
n8n_get_workflow - Removed
n8n_manage_credentials - Removed
n8n_manage_datatable - Removed
n8n_update_full_workflow - Removed
n8n_validate_workflow - Removed
search_nodes - Removed
validate_node - Removed
validate_workflow
1 tool update
v2.63.0- Removed
n8n_generate_workflow
1 tool update
v2.59.0- Changed
n8n_get_workflow3 fields changed- changed
Input schema / properties / mode / descriptionPrevious value: -"Detail level: full=draft + metadata (activeVersionId pointer kept, heavy activeVersion payload stripped), details=full+execution stats, active=published graph (errors if workflow has no live version), structure=nodes/connections topology, minimal=metadata only"New value: +"Detail level: full=draft + metadata (activeVersionId pointer kept, heavy activeVersion payload stripped), details=full+execution stats, active=published graph (errors if workflow has no live version), structure=nodes/connections topology, filtered=full config of only the nodes listed in nodeNames, minimal=metadata only" - changed
Input schema / properties / mode / enumPrevious value: -[ - "full", - "details", - "structure", - "minimal", - "active" -]New value: +[ + "full", + "details", + "structure", + "minimal", + "active", + "filtered" +] - added
Input schema / properties / nodeNamesAdded value: +{ + "description": "For mode='filtered': node names or node IDs to return with full config. Returns only matching nodes (avoids client-side truncation on large workflows with long Code-node source). Discover names with mode='structure' first.", + "items": { + "type": "string" + }, + "minItems": 1, + "type": "array" +}
TDQS
Most tools target distinct n8n resources and have rich descriptions, but validate_workflow and n8n_validate_workflow are near-duplicates that will confuse an agent. A few other pairs (full vs partial update, test vs executions) are distinguishable only by closely reading the descriptions.
Naming is inconsistent: some tools use the n8n_ prefix (n8n_create_workflow, n8n_manage_credentials) while others do not (search_nodes, get_template, validate_workflow). It also mixes verb_noun names with noun-style names like n8n_executions and n8n_health_check, and includes the inconsistent validate_workflow/n8n_validate_workflow pair.
28 tools is heavy, but the broad n8n domain does justify coverage across workflows, nodes, templates, credentials, agents, executions, data tables, folders, evaluations, and instance administration. The count feels inflated by a duplicate validation tool and a few highly specialized meta-tools, but it is still within a borderline reasonable range for this scope.
The tool surface is remarkably complete: workflow CRUD, validation, testing, autofix, versioning, deployment, node exploration, template search/deploy, credentials, folders, agents, data tables, executions, evaluations, and instance audit/health are all covered. There are no major lifecycle gaps that would strand an agent mid-workflow.
Maintenance
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…
A Model Context Protocol server for Wix AI tools
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
The Mercado Pago MCP Server implements the Model Context Protocol to provide AI agents and LLMs with access to Mercado Pago's APIs and tools within compatible development environments. It acts as an intermediary that translates Mercado Pago resources into executable functions (tools) that AI applications can invoke to perform actions and automate flows. The server simplifies integration, enables using documentation to implement or improve code, and optimizes operations through natural language interactions without manual implementations.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceA Model Context Protocol (MCP) server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations.123,606MIT
- 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.123,60634MIT
- 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.123,606MIT
- AlicenseNot gradedqualityCmaintenanceA Model Context Protocol server that provides AI assistants with comprehensive access to n8n node documentation, properties, and operations.123,606MIT
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/czlonkowski/n8n-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server