Skip to main content
Glama

n8n-MCP

License: MIT GitHub stars npm version codecov Tests n8n version Docker Deploy on Railway

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 source filter

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:

dashboard.n8n-mcp.com

  • 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 ID

  • N8N_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 from N8N_API_KEY and should be stored the same way. The MCP endpoint is derived from N8N_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:

Add Claude Skills (Optional)

Supercharge your n8n workflow building with specialized skills that teach AI how to build production-ready workflows!

n8n-mcp Skills Setup

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. Use source: 'community'|'verified' for community nodes, includeExamples: true for configs

  • get_node - Unified node information tool with multiple modes:

    • Info mode (default): detail: 'minimal'|'standard'|'full', includeExamples: true

    • Docs mode: mode: 'docs' - Human-readable markdown documentation

    • Property 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 validation

  • search_templates - Unified template search:

    • searchMode: 'keyword' (default) - Text search with query parameter

    • searchMode: 'by_nodes' - Find templates using specific nodeTypes

    • searchMode: 'by_task' - Curated templates for common task types

    • searchMode: 'by_metadata' - Filter by complexity, 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 connections

  • n8n_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 operations

  • n8n_delete_workflow - Delete workflows permanently

  • n8n_list_workflows - List workflows with filtering and pagination

  • n8n_validate_workflow - Validate workflows in n8n by ID

  • n8n_autofix_workflow - Automatically fix common workflow errors

  • n8n_workflow_versions - Version history, diff and rollback over two histories: source: 'local' (the snapshots n8n-mcp takes before it changes a workflow, the default) and source: 'native' (n8n's own workflow history, including UI edits — needs N8N_MCP_ACCESS_TOKEN and 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. Requires N8N_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 (needs N8N_MCP_ACCESS_TOKEN and 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 via n8n_create_workflow's parentFolderId or n8n_update_partial_workflow's moveToFolder operation (n8n 2.32+)

Data Table Management

  • n8n_manage_datatable - Manage n8n data tables, rows and columns (list, get, create, update, delete; addColumn/deleteColumn/renameColumn change an existing table's columns through n8n's own MCP server and need N8N_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. Requires N8N_MCP_ACCESS_TOKEN and n8n 2.34+ with the agents module (see Official MCP Setup). This is not the AI Agent workflow node — use get_node for that

System Tools

  • n8n_health_check - Check n8n API connectivity and features, including officialMcp status when N8N_MCP_ACCESS_TOKEN is configured

  • n8n_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_datatable

For 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,renameColumn

Two 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

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 tools
get_nodeA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOperation mode. info=node schema, docs=readable markdown documentation, search_properties=find specific properties, versions/compare/breaking/migrations=version infoinfo
detailNoInformation detail level. standard=essential properties (recommended), full=everythingstandard
nodeTypeYesFull node type: "nodes-base.httpRequest" or "nodes-langchain.agent"
toVersionNoTarget version for compare mode (e.g., "2.0"). Defaults to latest if omitted.
fromVersionNoSource version for compare/breaking/migrations modes (e.g., "1.0")
propertyQueryNoFor mode=search_properties: search term to find properties (e.g., "auth", "header", "body")
includeExamplesNoInclude real-world configuration examples from templates. Only applies to mode=info with detail=standard. Adds ~200-400 tokens per example.
includeTypeInfoNoInclude type structure metadata (type category, JS type, validation rules). Only applies to mode=info. Adds ~80-120 tokens per property.
maxPropertyResultsNoFor mode=search_properties: max results (default 20)

TDQS

A4.6/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_templateA
Read-onlyIdempotent

Get template by ID. Use mode to control response size: nodes_only (minimal), structure (nodes+connections), full (complete workflow).

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoResponse detail level. nodes_only: just node list, structure: nodes+connections, full: complete workflow JSON.full
templateIdYesThe template ID to retrieve

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_instanceA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
categoriesNoBuilt-in audit categories to check (default: all 5)
customChecksNoSpecific custom checks to run (default: all 4)
includeCustomScanNoRun deep workflow scanning for secrets, webhooks, error handling (default: true)
daysAbandonedWorkflowNoDays threshold for abandoned workflow detection (default: 90)

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_workflowA
Idempotent

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWorkflow ID to fix
fixTypesNoTypes of fixes to apply (default: all)
maxFixesNoMaximum number of fixes to apply (default: 50)
applyFixesNoApply fixes to workflow (default: false - preview mode)
confidenceThresholdNoMinimum confidence level for fixes (default: medium)

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameYesWorkflow name (required)
nodesYesArray of workflow nodes. Each node must have: id, name, type, typeVersion, position, and parameters
settingsNoOptional 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.
projectIdNoOptional project ID to create the workflow in (enterprise feature)
nodeGroupsNoOptional 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.
connectionsYesWorkflow connections object. Keys are source node names (the name field, not id), values define output connections
parentFolderIdNoOptional folder ID to place the workflow in (n8n 2.32+). Omit for the project root. Find or create folders with n8n_manage_folders.

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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

Schema description coverage is 100%, so the baseline is 3. The description 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.

Purpose4/5

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.

Usage Guidelines3/5

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_workflowA
Destructive

Permanently delete a workflow. This action cannot be undone.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWorkflow ID to delete

TDQS

A3.6/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines2/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoCustom workflow name (default: template name)
autoFixNoAuto-apply fixes after deployment for expression format issues, missing = prefix, etc. (default: true)
templateIdYesTemplate ID from n8n.io (required)
stripCredentialsNoRemove credential references from nodes - user configures in n8n UI (default: true)
autoUpgradeVersionsNoAutomatically upgrade node typeVersions to latest supported (default: true)

TDQS

A3.9/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines3/5

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_evaluationsA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoResults per page (1-250). Defaults: n8n server default (100) for list_runs, 20 for list_cases (per-case inputs/outputs can be large)
runIdNoTest run ID (required for action=get_run, list_cases, or cancel)
actionYesOperation: 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
cursorNoPagination cursor from previous response
statusNoFor action=list_runs: filter by run status
workflowIdYesWorkflow ID the test runs belong to (required)

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_executionsA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoExecution ID. Required for action=delete; for action=get, omitting it lists executions instead
modeNoFor action=get: preview=structure only, summary=2 items (default), filtered=custom, full=all data, error=optimized error debugging
limitNoFor action=list: number of executions to return (1-100, default: 100)
actionNoOperation: get=get execution details, list=list executions (default), delete=delete executionlist
cursorNoFor action=list: pagination cursor from previous response
statusNoFor action=list: filter by execution status
nodeNamesNoFor action=get with mode=filtered: filter to specific nodes by name
projectIdNoFor action=list: filter by project ID (enterprise feature)
itemsLimitNoFor action=get with mode=filtered: items per node (0=structure, 2=default, -1=unlimited)
workflowIdNoFor action=list: filter by workflow ID
includeDataNoFor action=list: include execution data (default: false)
fetchWorkflowNoFor action=get with mode=error: fetch workflow for accurate upstream detection (default: true)
errorItemsLimitNoFor action=get with mode=error: sample items from upstream node (default: 2, max: 100)
includeInputDataNoFor action=get: include input data in addition to output (default: false)
includeStackTraceNoFor action=get with mode=error: include full stack trace (default: false, shows truncated)
includeExecutionPathNoFor action=get with mode=error: include execution path leading to error (default: true)

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_resourcesA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
filterNoSearch text (listSearch only)
versionYesNode typeVersion
nodeTypeYesFull node type, e.g. n8n-nodes-base.slack
timeoutMsNoRequest timeout in ms (default 30000)
methodNameYesloadOptionsMethod or searchListMethod name from the property definition
methodTypeYes
credentialIdYesID of an existing credential of that type
credentialTypeYesCredential type the node uses, e.g. slackApi
paginationTokenNoToken from a previous page (listSearch only)
currentNodeParametersNoParameters the method depends on (loadOptionsDependsOn), e.g. {documentId: {...}}

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_workflowA
Read-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).

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWorkflow ID
modeNoDetail 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 onlyfull
nodeNamesNoFor 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

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_checkA
Read-onlyIdempotent

Check n8n instance health and API connectivity. Use mode='diagnostic' for detailed troubleshooting with env vars and tool status.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoMode: "status" (default) for quick health check, "diagnostic" for detailed debug info including env vars and tool statusstatus
verboseNoInclude extra details in diagnostic mode (default: false)

TDQS

A3.9/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_catalogA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
kindYes
limitNo
queryNoCase-insensitive name filter

TDQS

A4.7/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_workflowsA
Read-onlyIdempotent

List workflows (minimal metadata only). Returns id/name/active/dates/tags. Check hasMore/nextCursor for pagination.

ParametersJSON Schema
NameRequiredDescriptionDefault
tagsNoFilter by tags (exact match)
limitNoNumber of workflows to return (1-100, default: 100)
activeNoFilter by active status
cursorNoPagination cursor from previous response
projectIdNoFilter by project ID (enterprise feature)
excludePinnedDataNoExclude pinned data from response (default: true)

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness5/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_agentsA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
argsNoArguments for the action, forwarded to n8n verbatim. See tools_documentation("n8n_manage_agents", "full") for the per-action fields.
actionYesOperation to perform
timeoutMsNoRequest timeout in ms. Default 30000; 180000 for action=call. The agent run continues in n8n even if this expires.

TDQS

A4.8/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness5/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idNoCredential ID (required for get, update, delete)
dataNoCredential data fields - use getSchema to discover required fields (required for create, optional for update)
nameNoCredential name (required for create)
typeNoCredential type e.g. httpHeaderAuth, httpBasicAuth, oAuth2Api (required for create, getSchema)
limitNoFor list: max results per page (1-100, default 100). Ignored when includeUsage is true.
actionYesAction to perform
cursorNoFor list: pagination cursor from a previous response's nextCursor. Ignored when includeUsage is true.
includeUsageNoFor 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

A3.8/5.0
Behavior1/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_datatableA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoFor insertRows: array of row objects. For updateRows/upsertRows: object with column values.
nameNoFor createTable: table name. For updateTable: new table name. For renameColumn: new column name.
limitNoFor listTables/getRows: max results (1-100)
actionYesOperation to perform. addColumn/deleteColumn/renameColumn need N8N_MCP_ACCESS_TOKEN.
columnNoFor addColumn: the column to add. Name must start with a letter, contain only letters, digits and underscores, and be at most 63 characters.
cursorNoFor listTables/getRows: pagination cursor
dryRunNoFor updateRows/upsertRows/deleteRows: preview without applying (default: false)
filterNoFor getRows/updateRows/upsertRows/deleteRows: {type?: "and"|"or", filters: [{columnName, condition, value}]}
searchNoFor getRows: text search across string columns
sortByNoFor getRows: "columnName:asc" or "columnName:desc"
columnsNoFor createTable (required, at least one): column definitions. Change columns later with addColumn/deleteColumn/renameColumn.
tableIdNoData table ID (required for all actions except createTable and listTables)
columnIdNoFor deleteColumn/renameColumn: ID of the column (from getTable).
projectIdNoFor 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).
timeoutMsNoFor the column actions: client timeout in ms (5000-600000, default 30000).
returnDataNoFor updateRows/upsertRows/deleteRows: return affected rows (default: false)
returnTypeNoFor insertRows: what to return (default: count)

TDQS

A3.6/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines3/5

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_foldersA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNoFor create: folder name (required). For rename: new name (required).
skipNoFor list: items to skip for pagination (default 0)
takeNoFor list: items to return (default 50, max 100)
actionYesOperation: 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
sortByNoFor list: sort order (default: updatedAt:desc)
folderIdNoFolder ID (required for get, rename, move, delete)
projectIdNoProject 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.
nameFilterNoFor list: filter folders by name (contains match)
parentFolderIdNoFor 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.
transferToFolderIdNoFor 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

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_workflowA
Destructive

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).

ParametersJSON Schema
NameRequiredDescriptionDefault
dataNoInput data/payload for webhook, form fields, or execution data
methodNoHow 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.
headersNoCustom HTTP headers
messageNoFor chat: message to send (required for chat triggers)
pinDataNoFor 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.
timeoutNoTimeout in ms (default: 120000). HTTP trigger path only (method auto/trigger) — the official methods (prepare/pinned/direct) use timeoutMs instead.
sessionIdNoFor chat: session ID for conversation continuity
timeoutMsNoClient-side deadline for the official call (default: 30000 for prepare, 300000 for pinned/direct)
httpMethodNoFor webhook: HTTP method (default: from workflow config or POST)
workflowIdYesWorkflow ID to execute (required)
exposeToMcpNoFor the official methods: enable the workflow's persistent "Available in MCP" setting when n8n refuses the call. Confirm with the user first.
triggerTypeNoTrigger type. Auto-detected if not specified. Workflow must have a matching trigger node.
webhookPathNoFor webhook: override the webhook path
executionModeNoFor 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.
triggerNodeNameNoFor method=pinned/direct: which trigger node to start from. Defaults to the detected trigger node. Required by n8n when inputs are given.
waitForResponseNoWait for workflow completion (default: true)

TDQS

A4.2/5.0
Behavior5/5

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.

Conciseness4/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_workflowA
Idempotent

Full workflow update. Requires complete nodes[] and connections{}. For incremental use n8n_update_partial_workflow.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWorkflow ID to update
nameNoNew workflow name
nodesNoComplete array of workflow nodes (required if modifying workflow structure)
settingsNoWorkflow settings to update
nodeGroupsNoCanvas groups (n8n 2.28+). Omit to keep the existing groups; pass [] to ungroup everything. Members are node IDs.
connectionsNoComplete connections object (required if modifying workflow structure)
parentFolderIdNoMove 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

A4.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines5/5

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_workflowA
Idempotent

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWorkflow ID to update
operationsYesArray of diff operations to apply. Each operation must have a "type" field and relevant properties for that operation type.
validateOnlyNoIf true, only validate operations without applying them
continueOnErrorNoIf true, apply valid operations even if some fail (best-effort mode). Returns applied and failed operation indices. Default: false (atomic)

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness4/5

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.

Completeness4/5

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.

Parameters5/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_workflowB
Read-onlyIdempotent

Validate workflow by ID. Checks nodes, connections, expressions. Returns errors/warnings/suggestions.

ParametersJSON Schema
NameRequiredDescriptionDefault
idYesWorkflow ID to validate
optionsNoValidation options

TDQS

B3.2/5.0
Behavior3/5

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.

Conciseness5/5

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.

Completeness2/5

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.

Parameters3/5

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.

Purpose4/5

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.

Usage Guidelines2/5

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_versionsA
Destructive

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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOperation mode (default: list)list
limitNoMax versions to return in list mode (native: capped at 50)
offsetNoSkip this many versions in native list mode
sourceNoWhich history to read: 'local' (n8n-mcp snapshots, default) or 'native' (n8n's own version history). delete and prune are local-only.local
deleteAllNoDelete all versions for workflow (delete mode only)
timeoutMsNoClient deadline for the native call (default 30000)
versionIdNoVersion 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.
workflowIdNoWorkflow ID (required for list, rollback, delete, prune, diff; required for every native mode)
exposeToMcpNoNative 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.
maxVersionsNoKeep N most recent versions (prune mode only)
toVersionIdNoThe second version to compare against in diff mode (same id format as versionId)
validateBeforeNoValidate workflow structure before rollback (local only; accepted and ignored for native)

TDQS

A4.4/5.0
Behavior5/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_nodesA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoOR=any word, AND=all words, FUZZY=typo-tolerantOR
limitNoMax results (default 20)
queryYesSearch terms. Use quotes for exact phrase.
sourceNoFilter by node source: all=everything (default), core=n8n base nodes, community=community nodes, verified=verified community nodes onlyall
includeExamplesNoInclude top 2 real-world configuration examples from popular templates (default: false)
includeOperationsNoInclude resource/operation tree per node. Adds ~100-300 tokens per result but saves a get_node round-trip.

TDQS

A4.1/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_templatesA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
taskNoFor searchMode=by_task: the type of task. For searchMode=patterns: optional category filter (omit for overview of all categories).
limitNoMaximum number of results. Default 20.
queryNoFor searchMode=keyword: search keyword (e.g., "chatbot")
fieldsNoFor searchMode=keyword: fields to include in response. Default: all fields.
offsetNoPagination offset. Default 0.
categoryNoFor searchMode=by_metadata: filter by category (e.g., "automation", "integration")
nodeTypesNoFor searchMode=by_nodes: array of node types (e.g., ["n8n-nodes-base.httpRequest", "n8n-nodes-base.slack"])
complexityNoFor searchMode=by_metadata: filter by complexity level
searchModeNoSearch 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 summarieskeyword
targetAudienceNoFor searchMode=by_metadata: filter by target audience (e.g., "developers", "marketers")
maxSetupMinutesNoFor searchMode=by_metadata: maximum setup time in minutes
minSetupMinutesNoFor searchMode=by_metadata: minimum setup time in minutes
requiredServiceNoFor searchMode=by_metadata: filter by required service (e.g., "openai", "slack")

TDQS

A4.3/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness3/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_documentationA
Read-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.

ParametersJSON Schema
NameRequiredDescriptionDefault
depthNoLevel of detail. "essentials" (default) for quick reference, "full" for comprehensive docs.essentials
topicNoTool name (e.g., "search_nodes") or "overview" for general guide. Leave empty for quick reference.

TDQS

A4.4/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters4/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_nodeA
Read-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"}

ParametersJSON Schema
NameRequiredDescriptionDefault
modeNoValidation mode. full=comprehensive validation with errors/warnings/suggestions, minimal=quick required fields check only. Default is "full"full
configYesConfiguration as object. For simple nodes use {}. For complex nodes include fields like {resource:"channel",operation:"create"}
profileNoProfile for mode=full: "minimal", "runtime", "ai-friendly", or "strict". Default is "ai-friendly"ai-friendly
nodeTypeYesNode type as string. Example: "nodes-base.slack"

Output Schema

ParametersJSON Schema
NameRequiredDescription
validYes
errorsNo
summaryNo
nodeTypeYes
warningsNo
displayNameYes
suggestionsNo
workflowNodeTypeNo
missingRequiredFieldsNoOnly present in mode=minimal

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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_workflowA
Read-onlyIdempotent

Full workflow validation: structure, connections, expressions, AI tools. Returns errors/warnings/fixes. Essential before deploy.

ParametersJSON Schema
NameRequiredDescriptionDefault
optionsNoOptional validation settings
workflowYesThe complete workflow JSON to validate. Must include nodes array and connections object.

Output Schema

ParametersJSON Schema
NameRequiredDescription
validYes
errorsNo
summaryYes
warningsNo
suggestionsNo

TDQS

A4.2/5.0
Behavior4/5

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.

Conciseness5/5

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.

Completeness4/5

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.

Parameters3/5

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.

Purpose5/5

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.

Usage Guidelines4/5

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.

  1. 2 tool updatesv2.79.0
    • Changedn8n_executions4 fields changed
      • addedInput schema / properties / action / default
        Added value: +"list"
      • changedInput schema / properties / action / description
        Previous 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"
      • changedInput schema / properties / id / description
        Previous 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"
      • removedInput schema / required
        Removed value: -[
        -  "action"
        -]
    • Changedn8n_workflow_versions3 fields changed
      • addedInput schema / properties / mode / default
        Added value: +"list"
      • changedInput schema / properties / mode / description
        Previous value: -"Operation mode"New value: +"Operation mode (default: list)"
      • removedInput schema / required
        Removed value: -[
        -  "mode"
        -]
  2. 7 tool updatesv2.77.0
    • Changedn8n_create_workflow2 fields changed
      • changedInput schema / properties / settings / description
        Previous 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."
      • addedInput schema / properties / settings / properties / availableInMCP
        Added value: +{
        +  "description": "Expose the workflow to n8n's instance-level MCP server (n8n 1.119+)",
        +  "type": "boolean"
        +}
    • Addedn8n_explore_node_resources
    • Addedn8n_list_catalog
    • Addedn8n_manage_agents
    • Changedn8n_manage_datatable8 fields changed
      • changedInput schema / properties / action / description
        Previous value: -"Operation to perform"New value: +"Operation to perform. addColumn/deleteColumn/renameColumn need N8N_MCP_ACCESS_TOKEN."
      • changedInput schema / properties / action / enum
        Previous 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"
        +]
      • addedInput schema / properties / column
        Added 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"
        +}
      • addedInput schema / properties / columnId
        Added value: +{
        +  "description": "For deleteColumn/renameColumn: ID of the column (from getTable).",
        +  "type": "string"
        +}
      • changedInput schema / properties / columns / description
        Previous 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."
      • changedInput schema / properties / name / description
        Previous 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."
      • changedInput schema / properties / projectId / description
        Previous 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)."
      • addedInput schema / properties / timeoutMs
        Added value: +{
        +  "description": "For the column actions: client timeout in ms (5000-600000, default 30000).",
        +  "maximum": 600000,
        +  "minimum": 5000,
        +  "type": "integer"
        +}
    • Changedn8n_test_workflow7 fields changed
      • addedInput schema / properties / executionMode
        Added 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"
        +}
      • addedInput schema / properties / exposeToMcp
        Added 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"
        +}
      • addedInput schema / properties / method
        Added 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"
        +}
      • addedInput schema / properties / pinData
        Added 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"
        +}
      • changedInput schema / properties / timeout / description
        Previous 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."
      • addedInput schema / properties / timeoutMs
        Added value: +{
        +  "description": "Client-side deadline for the official call (default: 30000 for prepare, 300000 for pinned/direct)",
        +  "maximum": 600000,
        +  "minimum": 5000,
        +  "type": "integer"
        +}
      • addedInput schema / properties / triggerNodeName
        Added 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"
        +}
    • Changedn8n_workflow_versions11 fields changed
      • addedInput schema / properties / exposeToMcp
        Added 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"
        +}
      • changedInput schema / properties / limit / description
        Previous value: -"Max versions to return in list mode"New value: +"Max versions to return in list mode (native: capped at 50)"
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "list",
        -  "get",
        -  "rollback",
        -  "delete",
        -  "prune"
        -]New value: +[
        +  "list",
        +  "get",
        +  "rollback",
        +  "delete",
        +  "prune",
        +  "diff"
        +]
      • addedInput schema / properties / offset
        Added value: +{
        +  "description": "Skip this many versions in native list mode",
        +  "minimum": 0,
        +  "type": "number"
        +}
      • addedInput schema / properties / source
        Added 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"
        +}
      • addedInput schema / properties / timeoutMs
        Added value: +{
        +  "description": "Client deadline for the native call (default 30000)",
        +  "maximum": 600000,
        +  "minimum": 5000,
        +  "type": "integer"
        +}
      • addedInput schema / properties / toVersionId
        Added value: +{
        +  "description": "The second version to compare against in diff mode (same id format as versionId)"
        +}
      • changedInput schema / properties / validateBefore / description
        Previous value: -"Validate workflow structure before rollback"New value: +"Validate workflow structure before rollback (local only; accepted and ignored for native)"
      • changedInput schema / properties / versionId / description
        Previous 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."
      • removedInput schema / properties / versionId / type
        Removed value: -"number"
      • changedInput schema / properties / workflowId / description
        Previous 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)"
  3. 4 tool updatesv2.68.0
    • Changedn8n_create_workflow1 field changed
      • addedInput schema / properties / parentFolderId
        Added 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"
        +}
    • Changedn8n_evaluations3 fields changed
      • changedInput schema / properties / action / description
        Previous 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"
      • changedInput schema / properties / action / enum
        Previous value: -[
        -  "list_runs",
        -  "get_run",
        -  "list_cases"
        -]New value: +[
        +  "list_runs",
        +  "get_run",
        +  "list_cases",
        +  "run",
        +  "cancel"
        +]
      • changedInput schema / properties / runId / description
        Previous 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)"
    • Addedn8n_manage_folders
    • Changedn8n_update_full_workflow1 field changed
      • addedInput schema / properties / parentFolderId
        Added 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"
        +  ]
        +}
  4. 14 tool updatesv2.66.2
    • Addedget_node
    • Addedn8n_autofix_workflow
    • Addedn8n_create_workflow
    • Addedn8n_delete_workflow
    • Addedn8n_executions
    • Addedn8n_get_workflow
    • Addedn8n_list_workflows
    • Addedn8n_manage_datatable
    • Addedn8n_test_workflow
    • Addedn8n_update_full_workflow
    • Addedsearch_nodes
    • Addedsearch_templates
    • Addedtools_documentation
    • Addedvalidate_node
  5. 12 tool updatesv2.65.2
    • Addedget_template
    • Removedn8n_create_workflow
    • Removedn8n_delete_workflow
    • Addedn8n_evaluations
    • Removedn8n_executions
    • Removedn8n_list_workflows
    • Addedn8n_manage_credentials
    • Removedn8n_test_workflow
    • Addedn8n_validate_workflow
    • Removedsearch_templates
    • Removedtools_documentation
    • Addedvalidate_workflow
  6. 11 tool updatesv2.65.1
    • Removedget_node
    • Removedget_template
    • Removedn8n_autofix_workflow
    • Removedn8n_get_workflow
    • Removedn8n_manage_credentials
    • Removedn8n_manage_datatable
    • Removedn8n_update_full_workflow
    • Removedn8n_validate_workflow
    • Removedsearch_nodes
    • Removedvalidate_node
    • Removedvalidate_workflow
  7. 1 tool updatev2.63.0
    • Removedn8n_generate_workflow
  8. 1 tool updatev2.59.0
    • Changedn8n_get_workflow3 fields changed
      • changedInput schema / properties / mode / description
        Previous 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"
      • changedInput schema / properties / mode / enum
        Previous value: -[
        -  "full",
        -  "details",
        -  "structure",
        -  "minimal",
        -  "active"
        -]New value: +[
        +  "full",
        +  "details",
        +  "structure",
        +  "minimal",
        +  "active",
        +  "filtered"
        +]
      • addedInput schema / properties / nodeNames
        Added 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

A3.6/5.0
Disambiguation3/5

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 Consistency2/5

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.

Tool Count3/5

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.

Completeness5/5

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

ActivityActive
ResponsivenessWithin a week

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

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A 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,606
    34
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    A 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,606
    MIT

Latest Blog Posts

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