AutomateLab n8n MCP
Server Details
Generate and lint n8n workflows, diagnose failed executions, and manage live n8n instances. Built and hosted by AutomateLab. Product and documentation: https://automatelab.tech/products/mcp/n8n-mcp/
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 12 tools
Each tool has a clearly distinct purpose: execution_explain (why a run failed), execution_timeline (when each node ran), execution_list (browse runs), and execution_replay (build a single-node replay) are explicitly contrasted in their descriptions. The workflow_* set cleanly separates generate/create/get/list/activate/diff/lint, and node_scaffold is unique. No meaningful overlap.
Consistent snake_case convention throughout with a predictable domain_action pattern: execution_*, workflow_*, and node_scaffold. Verbs are used uniformly and no camelCase or mixed styles appear.
12 tools is well within the ideal range and each earns its place across two coherent domains (workflow management and execution debugging). No redundancy or padding in the set.
Covers the core lifecycle well: workflow generate/create/get/list/activate/diff/lint and execution list/explain/timeline/replay. Minor gaps exist (no workflow_update/delete or execution retry/stop), but the described 'describe -> deploy -> debug' workflow is largely end-to-end and agents can work around the missing operations.
Available Tools
12 toolsexecution_explainExplain a failed n8n executionARead-onlyIdempotentInspect
Diagnose a failed or surprising n8n execution. Paste the execution JSON (from the n8n UI 'Show details' or GET /executions/:id?includeData=true); returns a per-node summary highlighting nodes that returned 0 items, unresolved ={{ ... }} expressions, errors with hints, and LLM token usage. Hits the most common debugging pain point: items 'silently disappearing' between nodes. Deterministic, rule-based.
| Name | Required | Description | Default |
|---|---|---|---|
| execution | Yes | n8n execution payload (REST `?includeData=true` shape or raw UI export). Object or JSON string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| findings | Yes | Per-node findings extracted from the execution payload. |
| error_count | Yes | Number of error-severity findings. |
| warning_count | Yes | Number of warning-severity findings. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds valuable behavioral context: deterministic, rule-based, returns per-node summary with specific highlighted issues (0 items, unresolved expressions, errors, LLM token usage). No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, no waste. Purpose is front-loaded, input format and output highlights follow. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the simple single-parameter input, annotations covering safety, and the existence of an output schema, the description is complete. It covers input format, output content, and behavioral characteristics, leaving no gaps for correct agent usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema has 100% coverage with a description for the single parameter. The tool description adds extra clarification about the expected format (UI 'Show details' or REST endpoint), which aids correct invocation beyond the schema alone.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb 'Diagnose' and resource 'failed n8n execution', clearly distinguishing it from sibling tools like execution_list or execution_replay which are about listing or replaying executions. It states exactly what it does: returns a per-node summary with specific diagnostic details.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly tells when to use (diagnose failed or surprising executions) and what input to provide (execution JSON from UI or REST API). It implicitly covers when not to use (if execution succeeded or is not surprising). Does not name alternatives explicitly but the context is clear given sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execution_listList recent n8n executionsARead-onlyIdempotentInspect
List recent executions from a live n8n instance (requires N8N_API_URL + N8N_API_KEY). Filter by workflowId, status (success|error|waiting), limit. Pass includeData: true to get the full execution body (large) — pair with execution_explain to diagnose a specific failure.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size (n8n default: 100, max: 250). | |
| status | No | Filter by status: success | error | waiting. | |
| workflowId | No | Filter by workflow ID. | |
| includeData | No | Include full execution data (large). Default false — pair with execution_explain. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of executions returned. |
| executions | Yes | Either trimmed summaries (default) or full execution bodies (includeData=true). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark it as read-only and idempotent; the description adds that it requires API credentials and that includeData returns large data, which is critical behavioral context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with purpose and prerequisites, no redundant information. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given four parameters, annotations, and an output schema, the description covers prerequisites, filters, and special parameter usage, and even suggests a sibling tool pairing, making it fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage, the description adds value by explaining limit as page size, status enum values, and includeData's association with execution_explain, enhancing understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('List') and resource ('executions'), and explicitly mentions the live n8n instance and API requirements, clearly distinguishing this tool from siblings like execution_explain.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explains prerequisites (API URL and key), available filters, and the use of includeData paired with execution_explain. While it doesn't explicitly state when not to use, the context is clear and provides good guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execution_replayBuild a replay workflow for one nodeARead-onlyIdempotentInspect
Build a self-contained replay workflow that exercises a single node from a larger workflow. The replay workflow is Manual Trigger -> Replay Seed (Code node with pinned items) -> target node. Optional inputItems or an execution payload pins what the target sees. Useful for iterating on one stubborn node without re-running the whole pipeline. Returns workflow JSON ready to import or push via workflow_create.
| Name | Required | Description | Default |
|---|---|---|---|
| node | Yes | Name of the node to replay. | |
| workflow | Yes | Original workflow JSON. | |
| execution | No | Optional execution payload — pulls real input the target saw last time. | |
| inputItems | No | Optional explicit input items (each becomes `{ json: ... }`). |
Output Schema
| Name | Required | Description |
|---|---|---|
| workflow | Yes | Full n8n workflow JSON (name, nodes, connections, settings, ...). |
| item_count | Yes | Number of input items the replay seed will feed the target. |
| target_node | Yes | Name of the node being replayed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and idempotentHint=true, and the description adds valuable behavioral context: it explains that the tool generates a new workflow ('Returns workflow JSON'), describes the internal structure ('Manual Trigger -> Replay Seed -> target node'), and clarifies how optional parameters affect behavior ('pins what the target sees'). No contradictions with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise with five sentences, each adding essential information: main purpose, workflow structure, optional params, use case, and return value. No redundant or unnecessary words, and it is front-loaded with the primary action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (4 params, 2 required) and presence of output schema, the description covers the main workflow, parameter effects, and output. It does not mention error scenarios or node existence checks, but for a non-destructive, read-only tool this is acceptable. The description is largely complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds meaning beyond the schema by explaining that inputItems or execution 'pins what the target sees' and that inputItems become '{ json: ... }' items. This clarifies the parameter usage in the context of building a replay workflow.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool builds a self-contained replay workflow for a single node, using the verb 'build' and specifying the resource 'replay workflow'. It distinguishes from siblings like execution_list and workflow_create by focusing on isolating one node for debugging, as stated in 'iterating on one stubborn node without re-running the whole pipeline'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear when-to-use guidance: 'useful for iterating on one stubborn node without re-running the whole pipeline'. However, it does not explicitly state when not to use this tool or name alternative tools from the sibling list, which would strengthen the guidelines.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
execution_timelineRender an execution as a per-node timelineARead-onlyIdempotentInspect
Render an n8n execution as a per-node timeline: start offset, duration, items in/out, error flag. Complements execution_explain — that one surfaces why, this surfaces when. Output is a markdown table sorted by start time. Deterministic.
| Name | Required | Description | Default |
|---|---|---|---|
| execution | Yes | n8n execution payload (must include `data.resultData.runData`). |
Output Schema
| Name | Required | Description |
|---|---|---|
| rows | Yes | Per-node-run timing and item counts, sorted by start_ms. |
| total_ms | Yes | Wall-clock duration of the whole execution in milliseconds. |
| row_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
While annotations already declare readOnlyHint=true and idempotentHint=true, the description adds valuable behavioral context: output is a markdown table sorted by start time, and the tool is deterministic. This goes beyond what annotations inherently provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is extremely concise: two sentences and one word, with no wasted content. It front-loads the core purpose, then provides comparison and output details. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the low complexity (one parameter, rich annotations, and an output schema), the description is fully adequate. It explains the output format, ordering, determinism, and relationship to a sibling tool, leaving no significant gaps.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single parameter 'execution', which already documents the requirement for `data.resultData.runData`. The description does not add additional semantics beyond the schema, so a baseline score of 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the verb 'Render' and the resource 'n8n execution as a per-node timeline' with specific outputs (start offset, duration, items in/out, error flag). It explicitly distinguishes itself from the sibling 'execution_explain' by contrasting 'why' vs 'when', fulfilling the requirement to differentiate from siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides clear context by stating it complements execution_explain and clarifies the differing purposes ('when' vs 'why'). However, it does not explicitly state when to avoid using this tool or mention additional alternatives beyond the named sibling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
node_scaffoldScaffold an n8n custom nodeARead-onlyInspect
Scaffold a TypeScript skeleton for an n8n custom node from a plain-English description. Returns a single TypeScript file implementing INodeType with description, credentials reference, and an execute method stub. Pure code generation — no network, no filesystem writes.
| Name | Required | Description | Default |
|---|---|---|---|
| nodeName | No | Optional PascalCase class name, e.g. 'DiscordRateLimited'. Derived from the description if omitted. | |
| description | Yes | Plain-English description of what the node should do (1+ chars). |
Output Schema
| Name | Required | Description |
|---|---|---|
| source | Yes | The full TypeScript source of the scaffolded node. |
| language | Yes | Always 'typescript' — n8n custom nodes are TS-only. |
| node_name | Yes | PascalCase class name of the generated node. |
| display_name | Yes | Human-readable display name shown in the n8n UI. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark readOnlyHint=true and destructiveHint=false. The description adds that it performs pure code generation (no network, no filesystem writes) and returns a TypeScript file, fully disclosing behavior without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core purpose, and no superfluous words. Every sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With only 2 parameters and an output schema (not shown but referenced), the description adequately covers the tool's inputs and output. It could mention file extension or encoding, but not necessary.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, providing strong baseline. The description adds that nodeName is optional and derived from description if omitted, which enhances understanding beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool scaffolds a TypeScript skeleton for an n8n custom node from a plain-English description. It distinguishes itself from sibling tools (all about executions/workflows) by specifying a unique code-generation function.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains it is pure code generation with no network or filesystem writes, implying safe usage. No explicit when-not-to-use guidance is given, but no conflicting tools exist among siblings, making the context clear enough.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflow_activateActivate or deactivate a workflowAIdempotentInspect
Activate or deactivate a workflow on a live n8n instance (requires N8N_API_URL + N8N_API_KEY). Pass active: false to deactivate. Idempotent — re-activating an already-active workflow is a no-op on n8n's side.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID. | |
| active | No | Defaults to true (activate). Set false to deactivate. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | The workflow ID that was (de)activated. |
| ok | Yes | |
| action | Yes | Which action was performed. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate idempotentHint=true and non-destructive. Description adds 'Idempotent — re-activating an already-active workflow is a no-op', confirming and elaborating on the idempotency. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences pack all necessary info: purpose, requirements, usage, and idempotency. No wasted words; front-loaded with key details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple toggle tool with good schema and annotations, description adds idempotency and environment requirements. Output schema exists, so return values are covered. Complete enough for correct agent invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with clear descriptions for both parameters. Description repeats that 'active: false' deactivates, adding minimal extra meaning beyond the schema. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Title and description clearly state 'activate or deactivate a workflow' with specific verb and resource. Distinguishes from sibling tools like workflow_create, workflow_get, etc., by focusing on toggling active state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Description specifies prerequisites (N8N_API_URL, N8N_API_KEY) and how to deactivate (active: false). While it doesn't explicitly exclude alternatives, the context is sufficiently clear for an agent to decide when to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflow_createCreate a workflow on a live n8n instanceAInspect
Create a workflow on a live n8n instance (requires N8N_API_URL + N8N_API_KEY). Strips read-only fields (id, active, createdAt, ...) before posting. Workflows are created inactive — call workflow_activate afterward. Pairs with workflow_generate for end-to-end 'describe -> deploy'.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | Workflow JSON to create (typically the output of workflow_generate). Either a parsed object or a JSON string. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | Yes | The ID assigned by n8n to the new workflow. |
| name | Yes | The name of the newly created workflow. |
| workflow | Yes | Full n8n workflow JSON (name, nodes, connections, settings, ...). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Description adds behavioral detail beyond annotations: strips read-only fields before posting and creates workflows inactive. Annotations only show non-destructive and non-idempotent. No contradiction with annotations (readOnlyHint: false is consistent).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, each serving a purpose: purpose+prerequisite, behavioral detail, and usage pairing. No wasted words, front-loaded with essential info.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given single parameter, full schema coverage, and output schema exists, description covers prerequisite, behavioral nuance, post-usage step, and sibling relationship. Sufficient for agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, but description adds value by stating the workflow parameter is 'typically the output of workflow_generate', linking to sibling tool. Also clarifies it can be parsed object or JSON string.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Create a workflow on a live n8n instance' with specific verb and resource. It distinguishes from siblings by mentioning pairing with workflow_generate for 'describe -> deploy'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states prerequisites (N8N_API_URL + N8N_API_KEY) and post-usage instruction (call workflow_activate). Pairs with workflow_generate, indicating when to use it in the workflow lifecycle. No explicit when-not-to-use, 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.
workflow_diffSemantic diff between two n8n workflowsARead-onlyIdempotentInspect
Semantic diff between two workflows. Reports nodes added / removed / modified (with field-level deltas: type, typeVersion, parameters, credentials, disabled, position), connection topology changes, and settings drift. Ignores noise (small position deltas, createdAt/updatedAt). Pair with workflow_get to compare deployed vs local. Deterministic.
| Name | Required | Description | Default |
|---|---|---|---|
| after | Yes | The 'after' workflow JSON. | |
| before | Yes | The 'before' workflow JSON. |
Output Schema
| Name | Required | Description |
|---|---|---|
| changes | Yes | Ordered list of semantic differences. |
| summary | Yes | One-line summary of change counts by kind. |
| change_count | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false, idempotentHint=true. The description adds valuable context: it ignores noise (position deltas, timestamps) and declares deterministic behavior, enhancing the agent's understanding beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise (five sentences) and front-loaded with the core purpose. Every sentence contributes meaningful information: diff scope, noise filtering, pairing guidance, and determinism.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and the description covering diff categories, noise handling, and pairing advice, the tool is fully contextualized for an agent to invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both parameters documented. The description adds minimal semantic value beyond the schema (e.g., 'workflow JSON'), but the baseline of 3 is appropriate as the schema already defines the parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states it performs a semantic diff between two workflows, listing specific diff categories (nodes, connections, settings) and distinguishing itself from siblings by mentioning pairing with workflow_get for deployed vs local comparison.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case ('Pair with workflow_get to compare deployed vs local') but does not explicitly exclude alternatives or state when not to use it. However, the purpose is self-evident for a diff tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflow_generateGenerate an n8n workflow from a descriptionARead-onlyInspect
Generate a valid n8n workflow JSON from a plain-English description. Handles webhook/schedule/RSS triggers, common action nodes (Slack, Google Sheets, Discord, Gmail, Notion, HTTP), and AI Agent setups (LangChain root agent + chat model + memory + optional HTTP tool, wired with ai_languageModel / ai_memory / ai_tool connections). Returns workflow JSON with unique node IDs, connections, positions, and typeVersion on every node. Output is non-deterministic (random node IDs and webhook paths).
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional workflow name. Derived from the first sentence of the description if omitted. | |
| description | Yes | Plain-English workflow description, e.g. 'Stripe webhook -> Slack message + Google Sheets row'. |
Output Schema
| Name | Required | Description |
|---|---|---|
| workflow | Yes | Full n8n workflow JSON (name, nodes, connections, settings, ...). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations mark readOnlyHint=true; description adds non-deterministic output and random IDs, providing context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Single paragraph, front-loaded main purpose, no wasted words, efficiently covers key points.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Describes return value (workflow JSON with fields) and behavior; output schema exists, but error cases not mentioned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage 100%; description adds minor context (name derivation) but schema already documents parameters well.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Generate a valid n8n workflow JSON from a plain-English description' with specific triggers and nodes, distinguishing it from siblings like workflow_create.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Implied usage for generating workflows from text, but no explicit when-not or alternatives among siblings like workflow_create.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
workflow_getFetch a single workflow by IDARead-onlyIdempotentInspect
Fetch a single workflow JSON by id from a live n8n instance (requires N8N_API_URL + N8N_API_KEY). Returns the full nodes/connections payload — pair with workflow_lint to audit a deployed workflow.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Workflow ID. |
Output Schema
| Name | Required | Description |
|---|---|---|
| workflow | Yes | Full n8n workflow JSON (name, nodes, connections, settings, ...). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, destructiveHint, and idempotentHint. The description adds valuable context: the need for N8N_API_URL and N8N_API_KEY, and that it returns the full nodes/connections payload. This goes beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the core action, and every phrase serves a purpose. No wasted words.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter tool with a clear output schema (implied), the description covers purpose, input, output, prerequisites, and a common pairing. It is fully adequate given the tool's complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single 'id' parameter, so baseline is 3. The description does not add semantic detail beyond 'Workflow ID.' No additional clarification is given.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Fetch') and resource ('single workflow JSON by id'), and distinguishes from siblings like 'workflow_list' by focusing on a single workflow. It also mentions the source and a pairing hint with 'workflow_lint'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides a clear use case ('pair with workflow_lint to audit a deployed workflow') and implies that this tool is for retrieving a single workflow by ID. It does not explicitly state when not to use it, 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.
workflow_lintLint an n8n workflow JSONARead-onlyIdempotentInspect
Lint an n8n workflow JSON. Returns concrete errors and warnings: missing credentials, deprecated node types (Function -> Code, spreadsheetFile -> convertToFile/extractFromFile), broken connections, missing or non-numeric typeVersion, duplicate node names or IDs, AI Agent missing ai_languageModel sub-node, Webhook missing webhookId, IF node still on v1 condition schema, rate-sensitive nodes without retries, Code-node sandbox violations, expression staleness ($('NodeName') referencing missing nodes), manualTrigger in active workflows, disabled-but-wired nodes, empty Set nodes, HTTP method/body mismatches, Schedule trigger DST risk, credential drift, webhook test paths in active workflows. Deterministic, rule-based.
| Name | Required | Description | Default |
|---|---|---|---|
| workflow | Yes | n8n workflow as either a parsed object or a JSON string (will be parsed). |
Output Schema
| Name | Required | Description |
|---|---|---|
| issues | Yes | All lint findings, ordered by node. |
| error_count | Yes | Number of error-severity issues. |
| warning_count | Yes | Number of warning-severity issues. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only and idempotent behavior. The description adds value by listing the specific rules and checks performed, and states 'Deterministic, rule-based,' which aligns with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is a single paragraph that front-loads the main purpose and then lists checks. It is informative but could be more structured (e.g., bullet points) for easier scanning.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description covers all necessary aspects: input, examples of checks, deterministic nature. Given that an output schema likely describes return values, no further details are needed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter 'workflow'. The description adds minimal extra meaning beyond the schema's description, essentially restating it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Lint an n8n workflow JSON' and enumerates specific checks, distinguishing it from sibling tools focused on execution, activation, or creation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description does not explicitly state when to use this tool over alternatives. While the context of linting is implied, there is no direct guidance on prerequisites or 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.
workflow_listList workflows on a live n8n instanceARead-onlyIdempotentInspect
List workflows from a live n8n instance (requires N8N_API_URL + N8N_API_KEY env vars). Returns id, name, active, nodeCount, updatedAt, tags. Filter by active, tags, name. Use this when the user asks 'what workflows do I have?' or before workflow_get.
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Filter by exact workflow name. | |
| tags | No | Comma-separated tag names to filter by. | |
| limit | No | Page size (n8n default: 100, max: 250). | |
| active | No | Filter by active status. Omit to return both. |
Output Schema
| Name | Required | Description |
|---|---|---|
| count | Yes | Number of workflows returned. |
| workflows | Yes | Summary of each workflow (id, name, active, nodeCount, ...). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, destructive, idempotent hints. Description adds authentication requirements (env vars) and return fields, which is useful context beyond annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three concise sentences: purpose, return fields, filters, usage guidance. No redundant words, front-loaded with core action.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With output schema and annotations present, description adds auth prereqs, return fields, and usage pattern. Could mention limit pagination or error handling but sufficient for tool usage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so baseline is 3. Description only groups filter parameters ('Filter by active, tags, name') without adding new meaning; each parameter already has description in schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies the verb 'List' and resource 'workflows from a live n8n instance', lists return fields and filters, and distinguishes from sibling tools by suggesting usage before workflow_get or when user asks about workflows.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clearly states when to use (asking about workflows or before workflow_get) but doesn't explicitly list when not to use or alternatives beyond workflow_get; however context is clear.
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.
12 tool updates
- First observed
execution_explain - First observed
execution_list - First observed
execution_replay - First observed
execution_timeline - First observed
node_scaffold - First observed
workflow_activate - First observed
workflow_create - First observed
workflow_diff - First observed
workflow_generate - First observed
workflow_get - First observed
workflow_lint - First observed
workflow_list
Publisher details
- Operator
- AutomateLab · Publisher source
- Operator website
- https://automatelab.tech/ · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://automatelab.tech/products/mcp/n8n-mcp/ · Publisher source
- Trust center
- Not available
- Restrictions
- No authentication is required to connect or discover tools. Live n8n operations require an n8n instance and its credentials. · Publisher source
Related MCP Servers
- AlicenseAqualityCmaintenanceEnables brand visibility monitoring across major AI platforms like ChatGPT, Claude, Gemini, and Perplexity. It allows users to track visibility scores, analyze competitor data, and receive actionable insights to improve AI-generated brand recommendations.1622 npm1MIT
- AlicenseCqualityBmaintenanceCompetitor Monitor AI - MCP server providing AI-powered tools and automation by MEOK AI Labs1114 npm40 PyPIMIT
- AlicenseAqualityCmaintenanceRevnuvo Company Intelligence tells AI agents what changed at a company, with evidence. It observes company websites, technologies, and DNS over time and returns timestamped, confidence-aware changes, signals, and monitoring.9MIT

industrylens-mcpofficial
AlicenseNot gradedqualityBmaintenanceBrowse IndustryLens's published competitive-intelligence reports and head-to-head competitor comparisons from any AI agent — real, source-backed data.MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.