n8n-admin-mcp
This server provides administrative control over n8n workflows, including backup/rollback, CRUD, patching, schema derivation, payload replay, and safety checks.
Workflow management: list, get by ID/name, create, duplicate, update, and set active state.
Backup & rollback: export workflow JSON, list backups, duplicate as immutable baseline, and roll back to a baseline snapshot.
Safety policy: read the active write-safety policy; mutations require baseline duplication and confirm in production.
Node-level operations: patch node parameters and merge or replace workflow JSON.
Schema & payload tools: derive candidate tool schemas, inspect node output shape, validate output types, and parse/normalize sample payloads.
Provides tools for administering n8n workflows, including backup and rollback, replaying sample payloads, deriving tool schemas, patching node parameters, duplicating workflows, and workflow CRUD operations.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@n8n-admin-mcpBack up the 'Invoice Generator' workflow before making changes."
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
n8n Admin MCP Server
An MCP server that exposes n8n workflow administration: backup and rollback, replaying sample payloads, deriving tool schemas, patching node parameters, and workflow duplication/CRUD.
Write-Safety
Every mutation requires a pre-duplication baseline. In a production environment, mutations also require confirm=true.
Related MCP server: n8n MCP Server
Requirements
Node.js 20+
A running n8n instance with API access
Install
git clone https://github.com/mattmaas/n8n-admin-mcp.git
cd n8n-admin-mcp
npm install
npm start # node n8n-admin-mcp.mjsEnvironment Variables
Variable | Required | Description |
| yes | Base URL of your n8n instance |
| yes | n8n API key |
Use N8N_ADMIN_CONFIG_FILE to load settings from a local JSON file instead.
MCP Client Configuration
Add this server to your MCP client's config:
{
"mcpServers": {
"n8n-admin": {
"command": "node",
"args": ["<path>/n8n-admin-mcp/n8n-admin-mcp.mjs"],
"env": {
"N8N_API_BASE_URL": "http://localhost:5678",
"N8N_API_KEY": "your-api-key"
}
}
}
}Tools
Tool | Description |
| Read the active write-safety policy |
| List workflows from the n8n API |
| Get a workflow by ID |
| Find a workflow by exact name |
| Export workflow JSON to a local backup |
| Whether a workflow is active |
| Derive candidate IO schema from node parameters |
| Inspect a node's output type shape |
| Validate tool output against an expected type |
| Parse and normalize a sample payload |
| Create a new inactive workflow |
| Duplicate a workflow as an immutable baseline |
| Update a workflow (merge or replace) |
| Patch parameters on a named node |
| Set workflow active state |
| Roll back to a baseline snapshot |
| List backup records made by this tool |
Usage
Ask your agent, for example:
"Show me all my n8n workflows" →
list_workflows"Back up the 'order-processing' workflow before I edit it" →
duplicate_workflowthenexport_workflow_json"Change the webhook URL on node 'HTTP Request'" →
patch_node_params(workflow_id=..., node_name="HTTP Request", params={...})
License
MIT
Available Tools
17 toolscreate_workflowC
Creates a new inactive workflow and exports a local source backup
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| workflow | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does disclose two valuable, non-obvious behaviors: the workflow is created inactive, and a local source backup is exported as a side effect. It omits permissions needed, what the 'confirm' flag does, and whether the backup is overwritten or appended.
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?
A single tight sentence with the core action front-loaded and the side effect trailing. No waste, though there is room to add the missing parameter guidance without bloat.
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 a required nested object at 0% schema coverage, no annotations, and no output schema, the description should explain the workflow payload shape and the confirm flag. It leaves an agent unable to construct a correct call from the definition alone.
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 0% for two parameters, one of which is a required nested object ('workflow'). The description says nothing about the structure of that object or the meaning of 'confirm', so it fails to compensate for the schema gap.
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?
States a specific verb and resource ('Creates a new inactive workflow') and adds a distinguishing detail (inactive) that separates it from set_workflow_active. However it does not differentiate from the close sibling duplicate_workflow, which an agent could easily confuse it with.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus duplicate_workflow, update_workflow_json, or rollback_workflow, and no mention of prerequisites. The agent is left to infer that 'create' means a brand-new workflow rather than a copy of an existing one.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
derive_tool_schemaC
Derives candidate IO schema from workflow node parameters
| Name | Required | Description | Default |
|---|---|---|---|
| node_name | No | ||
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It does not state whether derivation is deterministic, whether it writes anything, what permissions are needed, or how the candidate schema is returned or selected. 'Derives' implies a read/compute but that is left implicit.
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?
A single, efficient sentence with the core purpose front-loaded. No wasted words, though it is terse to the point of under-specification rather than true conciseness.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with two parameters at 0% schema coverage, no annotations, and no output schema, the definition is too thin. It should clarify input semantics, when to use it versus siblings, and what 'candidate' output means.
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 0%, so the description must compensate. It implies that workflow_id (and/or node_name) provide the source parameters for derivation, which adds minimal meaning, but it does not explain the role of node_name versus workflow_id or what happens when node_name is omitted.
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 'Derives' and resource 'candidate IO schema' with a source 'workflow node parameters', which is concrete and reasonably distinguishable from siblings like inspect_node_output_shape or validate_tool_io. However, it does not explicitly contrast with those siblings, so it stops short of a 5.
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?
There is no when-to-use guidance, no prerequisites, and no mention of alternatives. Given siblings such as inspect_node_output_shape and validate_tool_io that sound adjacent, this omission leaves the agent guessing which tool to pick.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
duplicate_workflowC
Duplicates a workflow as immutable baseline
| Name | Required | Description | Default |
|---|---|---|---|
| reason | No | ||
| confirm | No | ||
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Immutable baseline' hints that the resulting copy cannot be modified, but the description says nothing about whether this is a mutation of server state, whether it affects the active workflow, what the 'reason' and 'confirm' parameters do, or whether the operation is reversible. Most of the behavioral surface is undisclosed.
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?
It is a single, front-loaded sentence with no filler, which is structurally good. The terseness tips into under-specification rather than true conciseness, so it is only adequate.
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 3-parameter mutation tool with no annotations and no output schema, the description leaves too much unspecified: no return-value expectation, no parameter guidance, and no context on immutability semantics or side effects. It is materially incomplete for correct 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 description coverage is 0% across 3 parameters, and the description never mentions workflow_id, reason, or confirm. Nothing beyond the parameter names is conveyed — notably the purpose of 'reason' and whether 'confirm' is required for a destructive/irreversible duplication is left entirely unexplained.
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 verb and resource ('Duplicates a workflow'), which distinguishes it from create_workflow and update_workflow_json. However, the qualifying phrase 'as immutable baseline' is ambiguous — it's unclear whether the tool creates a named baseline copy, a backup snapshot, or something else, and no sibling (e.g. list_backups, rollback_workflow) is referenced to disambiguate.
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?
There is no when-to-use guidance, no when-not-to-use guidance, and no mention of alternatives such as create_workflow or the backup/rollback siblings. An agent gets no basis for choosing this tool over creating or exporting a workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_workflow_jsonC
Exports workflow JSON to local backup file
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden, and it does disclose the key hidden side effect: this writes to a local backup file rather than returning data in-band. However, it omits critical behavioral details such as the target path, overwrite behavior, whether it fails on existing files, and whether a backup record is registered for rollback.
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?
A single short sentence with the action and destination front-loaded and no wasted words. It is efficient, though the terseness is part of why behavioral and parameter detail are missing.
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 no annotations and no output schema, the description should explain the returned result and the destination of the exported file, but it only gestures at 'local backup file'. For a tool that mutates local state, the omission of path, return value, and error behavior leaves the agent under-informed.
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 0% and the single workflow_id parameter has no description, minLength-only validation, and no format hints. The description does not compensate, saying nothing about where the id comes from or what form it takes beyond the implied workflow reference.
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?
States a specific verb (Exports) and resource (workflow JSON) plus the destination (local backup file), which is more than a restatement of the name. It does not explicitly distinguish itself from siblings like update_workflow_json, list_backups, or rollback_workflow, so it falls short of a 5.
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 offers no when-to-use guidance, no prerequisites, and never mentions the related siblings (list_backups, rollback_workflow, update_workflow_json) that an agent would have to choose between. The agent must infer the role of this tool purely from its name.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_active_stateC
Returns whether workflow is active
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, yet it only states the return meaning. It does not disclose that this is a non-mutating read, what happens with an invalid or unknown workflow_id, or whether the result is a boolean vs status string.
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?
A single efficient, front-loaded sentence with no waste. However, its brevity reflects under-specification rather than tightness, leaving key context unstated.
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 trivial one-parameter getter with no output schema and no annotations, stating what is returned is the minimum viable content. It omits return type/format and error behavior, which an agent would want for correct 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?
The single workflow_id parameter has 0% schema description coverage and the description adds no meaning about it (identifier source, format, or behavior on missing values). It fails to compensate for the coverage gap, though the parameter name is largely self-explanatory.
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?
States a specific verb ('Returns') and resource ('whether workflow is active'), so an agent knows it is a read of the active/inactive flag. It is somewhat distinguishable from set_workflow_active (mutating counterpart), but does not clarify how it differs from get_workflow, which likely also surfaces active status.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance and no mention of any alternative. The description never tells an agent to prefer this over get_workflow or get_workflow_by_name when it only needs the active flag.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_policyC
Returns active write safety policy
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden, and it discloses almost nothing. It does not state whether this is auth-dependent, whether the policy is global or scoped, or what the caller should do with the result. Only the word 'active' hints that a non-active or historical variant might exist.
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?
A single front-loaded sentence with no filler. It is arguably too terse for an undocumented domain term, but there is no wasted text.
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 no output schema and no annotations, the description is the only source of information about what the agent receives, yet it never describes the return shape or the meaning of the policy fields. For a read tool with no other documentation, this leaves a real gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so there is nothing for the description to disambiguate; the baseline for a no-parameter tool applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a verb plus resource ('Returns active write safety policy'), which is specific enough to distinguish it from all listed siblings, none of which deal with policy. However, 'write safety policy' is undefined domain jargon, so an agent cannot tell what content the policy actually governs.
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?
There is no guidance on when to call this tool, in what circumstances the policy matters, or how it relates to alternatives. It relies entirely on the name being self-explanatory.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflowC
Gets a workflow by ID
| Name | Required | Description | Default |
|---|---|---|---|
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not say whether the call is read-only, what happens if the workflow_id does not exist (error vs. null), whether a draft/active distinction applies, or what the response contains. For a retrieval tool with zero annotations this is a significant gap.
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 short sentence, well front-loaded, with no waste. It is concise, but conciseness here reflects under-specification rather than efficiency; there is no structural information to organize.
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?
A retrieval tool with no annotations, no output schema, undocumented parameters, and several closely-related siblings (get_workflow_by_name, list_workflows). The description leaves the agent without return-value expectations, ID sourcing, or error behavior, so completeness is inadequate for the context.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Only one parameter (workflow_id), and schema coverage is 0% – the schema gives a type and minLength but no description. However, the parameter name is self-explanatory and the description at least connects the tool to 'by ID'. With 0 params the baseline would be 4, but here one undocumented param with no format/source guidance keeps this at baseline-adequate.
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?
States a clear verb+resource ('Gets a workflow') but the only qualifier is 'by ID', which is a vague differentiator. Siblings get_workflow_by_name and list_workflows exist, and the description does not explain how this differs from the by-name lookup or from listing. Purpose is understandable but not sharpened against 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?
No when-to-use guidance, no conditions, no mention of the alternative get_workflow_by_name. The agent must infer that this tool is for ID-based retrieval while the by-name sibling exists, which is left unstated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_workflow_by_nameC
Finds a workflow by exact name
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries full behavioral burden. It doesn't state whether the lookup is case-sensitive, what happens on no match, or whether multiple workflows can share a name. 'Exact name' hints at strict matching but leaves behavior largely unspecified.
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?
A single efficient sentence with no wasted words. It is appropriately short for a one-parameter lookup, though it could use one clause of usage context.
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 no annotations, no output schema, and 0% parameter coverage, this simple retrieval tool leaves key facts open: exact-match semantics, error/empty behavior, and how it differs from get_workflow. More is needed for reliable selection.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the single undocumented parameter. 'Exact name' adds a useful matching hint, but it does not document format, case sensitivity, or constraints beyond what a string type implies.
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?
States a specific verb (Finds) and resource (workflow) with a discriminating detail (by exact name). It reasonably distinguishes itself from the sibling get_workflow, which presumably fetches by id, though the description doesn't explicitly name that sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this versus get_workflow, list_workflows, or get_policy. The 'exact name' hint implies a lookup condition but no when-not-to-use or alternative is named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
inspect_node_output_shapeC
Inspects output type shape for a node sample
| Name | Required | Description | Default |
|---|---|---|---|
| sample_output | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden of behavioral disclosure. 'Inspects' implies a read-only operation, but there is no mention of permissions, side effects, output format, or what happens with malformed sample_output.
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, front-loaded sentence with no wasted words. Its brevity is appropriate, though the same brevity contributes to gaps captured in other dimensions.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with an empty parameter schema, no annotations, and no output schema, the description is too thin. An agent lacks enough detail about input expectations, return shape, and intended usage context to invoke the tool reliably.
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 single parameter sample_output has no schema description, no type, and no constraints, while the description only loosely refers to a 'node sample'. It does not compensate for the 0% schema coverage by explaining what sample_output should contain or what format it expects.
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 verb and a resource ('Inspects output type shape'), but it largely restates the tool name and does not clarify what 'output type shape' means in practice or how it differs from siblings like derive_tool_schema or validate_tool_io. It is minimally informative but not distinct enough for confident selection.
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?
There is no guidance on when to use this tool versus alternatives. Sibling tools such as derive_tool_schema and validate_tool_io appear related, yet the description provides no context, prerequisites, or exclusion criteria.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_backupsC
Lists backup records made by this admin tool
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| workflow_id | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full behavioral burden. It hints that only backups created by this admin tool are returned, but discloses nothing about pagination, ordering, default result size, or whether limit truncates results.
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?
A single short sentence with no filler and the resource front-loaded after the verb. Efficient, though the trailing qualifier is mildly redundant.
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 list tool with two undocumented filter/limit parameters, no annotations, and no output schema, the description should explain what the parameters do and what the records contain. It leaves too much for the agent to guess.
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 0% for both parameters, and the description adds no meaning for 'limit' or 'workflow_id'. It neither states that limit caps results nor that workflow_id filters backups to a single workflow, leaving both params undocumented end to end.
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?
States a specific verb ('Lists') and resource ('backup records') with a scope qualifier ('made by this admin tool'). It is unambiguous, though the qualifier is slightly redundant and there is no sibling tool competing for the backup-listing function to differentiate from.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus any alternative, no preconditions, and no mention of how it relates to the workflow-oriented siblings. The agent must infer usage entirely.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_workflowsC
Lists workflows from n8n API
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| active | No | ||
| name_contains | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It says nothing about pagination, result size, default limit, or ordering—all critical for a list endpoint with a 'limit' cap of 250. Only the API source is disclosed.
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?
A single, front-loaded sentence with no filler. It's concise but underwritten rather than optimally informative.
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?
A list tool with three undocumented parameters, no annotations, and no output schema needs substantially more guidance than one sentence. Nothing about return shape, pagination, or filtering semantics is provided.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the three parameters (limit, active, name_contains) have no documentation anywhere. The description mentions none of them, leaving the agent to guess whether 'name_contains' is a substring match or whether 'active' filters active-only or inactive-only.
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?
States a specific verb ('Lists') and resource ('workflows') and names the source (n8n API), so the agent knows this is a collection retrieval. It doesn't distinguish itself from siblings like get_workflow or get_workflow_by_name, though the plural 'list' vs singular 'get' implies scope difference.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use context, no mention of alternatives. The agent cannot tell from the description when to prefer list_workflows over get_workflow_by_name or get_workflow.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
patch_node_paramsC
Patches parameters on a named workflow node
| Name | Required | Description | Default |
|---|---|---|---|
| merge | No | ||
| params | Yes | ||
| confirm | No | ||
| node_name | Yes | ||
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not explain that this is a mutation, whether changes are reversible, what permissions are required, or what the confirm parameter does. For a mutation tool with zero annotation coverage, this is a significant gap.
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?
A single efficient sentence with no wasted words. However, its brevity contributes to the lack of detail elsewhere, though conciseness itself is good.
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 5-parameter mutation tool with nested objects, no annotations, and no output schema, the description is too thin. It does not cover parameter behavior (merge, confirm) or any return or error information.
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 0%, so the description must compensate. It mentions 'parameters' and 'named workflow node', which hint at the params and node_name parameters, but the merge and confirm parameters are completely unexplained. With five parameters and no schema descriptions, the description is inadequate.
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?
States a specific verb (patches) and resource (parameters on a named workflow node), which is clear and distinguishable from sibling tools like update_workflow_json or set_workflow_active. It does not explicitly differentiate from those siblings, but the scope to node-level parameters is reasonably specific.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No guidance on when to use this tool versus alternatives like update_workflow_json. No mention of prerequisites such as the workflow being inactive, or conditions under which patching node params is appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
replay_sample_payloadC
Parses and normalizes a sample payload
| Name | Required | Description | Default |
|---|---|---|---|
| payload_json | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden and largely fails it. It does not say whether the tool is read-only, whether the transformed payload is returned or persisted, how it handles malformed input, or how 'normalization' affects the data.
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?
A single short, front-loaded sentence with no filler or redundancy. It is efficient, though the brevity comes at the cost of the missing detail scored elsewhere.
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 no output schema and no annotations, the description should explain what the tool returns and what 'normalized' means. A payload-parsing tool whose result format is entirely undocumented is not callable with confidence.
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 0% and the only parameter, payload_json, has just a minLength constraint. The description adds nothing about expected format (raw JSON string, escaped JSON, envelope object, size limits) or whether it must correspond to a node's output shape.
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 names a specific verb pair ('parses and normalizes') and a resource ('sample payload'), so the mechanical action is clear. However, the tool name uses 'replay' while the description never explains the replay use case, and it does not distinguish this from siblings like validate_tool_io or inspect_node_output_shape, which also deal with payload/IO shapes.
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?
There is no guidance on when to call this versus validate_tool_io, inspect_node_output_shape, or derive_tool_schema. No prerequisites, no context about where the 'sample payload' comes from, and no mention of what a caller gains by invoking it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
rollback_workflowC
Rolls back a workflow to a baseline workflow snapshot
| Name | Required | Description | Default |
|---|---|---|---|
| confirm | No | ||
| workflow_id | Yes | ||
| keep_active_state | No | ||
| baseline_workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It states the rollback target but omits that this is a destructive state-changing operation, whether the current state is discarded or preserved, whether confirmation is required, and whether the rollback is reversible.
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?
A single, front-loaded sentence with no filler or repetition. It is efficient, though the brevity here reflects under-specification rather than disciplined economy.
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?
A state-mutating tool with no annotations, no output schema, and 4 undocumented parameters needs substantially more than one sentence. Critical details about confirmation, state retention, and reversibility are absent.
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 0% across 4 parameters, so the description must compensate and does not. It implies the baseline concept but never explains confirm, keep_active_state (default true), or the relationship between workflow_id and baseline_workflow_id.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clear specific verb+resource: rolling back a workflow to a baseline snapshot. An agent can distinguish this from siblings like create_workflow, duplicate_workflow, or update_workflow_json. It does not explicitly name an alternative, but the action is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
No when-to-use guidance, no prerequisites, and no mention of alternatives (e.g. list_backups, replay_sample_payload). The agent is told what it does but not when to reach for it or what must hold true beforehand.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
set_workflow_activeD
Sets workflow active state
| Name | Required | Description | Default |
|---|---|---|---|
| active | Yes | ||
| confirm | No | ||
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden of behavioral disclosure, and it discloses nothing. It does not say whether the change is reversible, what permissions are needed, what the confirm parameter does, or what happens to a running workflow when deactivated.
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 words are technically concise, but this is under-specification rather than economy — the single fragment earns its brevity only by omitting everything an agent needs.
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?
This is a state-mutating tool with no annotations, no output schema, and fully undocumented parameters. For that complexity profile the description is completely inadequate; it should at minimum explain the confirm flag and the effect of toggling active.
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 0% for three parameters, including an undocumented confirm flag whose purpose is entirely non-obvious. The description explains none of active, confirm, or workflow_id, so the agent must guess at the confirm/active interaction.
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?
"Sets workflow active state" largely restates the tool name set_workflow_active rather than defining the operation. It gives a verb and resource but no scope, effect, or distinction from siblings like get_active_state or update_workflow_json.
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?
There is no indication of when to call this versus alternatives such as update_workflow_json, rollback_workflow, or get_active_state. No prerequisites, exclusions, or context are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_workflow_jsonC
Updates workflow with full or partial workflow object
| Name | Required | Description | Default |
|---|---|---|---|
| mode | No | merge | |
| confirm | No | ||
| workflow | Yes | ||
| workflow_id | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full behavioral burden. It does not disclose whether this is destructive (replace_updatable presumably overwrites data), whether changes are reversible via rollback_workflow, what confirm does, or what permission is required. For a mutation tool with a nested 'workflow' object, this is a serious gap.
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?
A single short sentence with no padding, so it is concise. However, brevity here reflects under-specification rather than efficient communication — the sentence is front-loaded but omits everything an agent needs beyond the bare verb and resource.
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 mutation tool with a nested object parameter, an enum mode, a confirm flag, no annotations, and no output schema, the description is far too thin. It offers a faint hint of the merge/replace duality but omits destructive-behavior disclosure, mode selection guidance, and any parameter meaning.
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 0% across 4 parameters. The phrase 'full or partial workflow object' loosely gestures at the merge/replace_updatable distinction, but the description never names mode, confirm, or workflow_id and adds no format or constraint detail. It compensates only marginally for the complete absence of schema documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description names a verb ('Updates') and resource ('workflow'), which is adequate but generic. It does not differentiate this tool from siblings like patch_node_params, duplicate_workflow, or rollback_workflow, all of which also modify workflow state. An agent cannot tell from this sentence why it would use update_workflow_json over those alternatives.
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?
There is no guidance about when to use this tool versus patch_node_params, duplicate_workflow, or create_workflow. Critically, the mode parameter offers 'merge' vs 'replace_updatable' semantics, and the description gives no indication of when each applies, despite 'full or partial' hinting at exactly this distinction. No prerequisites or exclusions are stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_tool_ioC
Validates tool output type against expectation
| Name | Required | Description | Default |
|---|---|---|---|
| sample_output | Yes | ||
| expected_output_type | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the full burden. It does not say whether validation is a pure read, what happens on a mismatch (error vs. boolean result), or what the response looks like, which matters for a validation tool whose entire value is its verdict.
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?
A single short sentence is front-loaded and wastes no words. It is terse to the point of under-specification, but structurally there is nothing superfluous to trim.
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 tool is simple (2 params, one enum), but with no annotations, no output schema, and 0% parameter coverage, the description leaves the return semantics and mismatch behavior entirely undefined. An agent cannot confidently predict what calling it produces.
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 0% for both parameters, so the description must compensate. 'output type against expectation' loosely hints that sample_output pairs with expected_output_type, but it never explains the expected type domain or whether sample_output is a value, a type string, or a serialized payload.
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 verb (validates) and the subject (tool output type against an expectation), so the general intent is inferable. However, 'expectation' is vague and it does nothing to distinguish itself from the closely related sibling inspect_node_output_shape, leaving the agent to guess which check tool to use.
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?
There is no indication of when this tool should be invoked versus alternatives such as inspect_node_output_shape or replay_sample_payload, nor any preconditions. The agent gets no routing guidance at all.
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.
17 tool updates
v1.0.0- First observed
create_workflow - First observed
derive_tool_schema - First observed
duplicate_workflow - First observed
export_workflow_json - First observed
get_active_state - First observed
get_policy - First observed
get_workflow - First observed
get_workflow_by_name - First observed
inspect_node_output_shape - First observed
list_backups - First observed
list_workflows - First observed
patch_node_params - First observed
replay_sample_payload - First observed
rollback_workflow - First observed
set_workflow_active - First observed
update_workflow_json - First observed
validate_tool_io
TDQS
Scored across 17 tools
Most tools have clearly distinct purposes (get_workflow by ID vs get_workflow_by_name, patch_node_params vs update_workflow_json). Minor overlap between get_active_state and get_workflow (which likely returns active state anyway), and the four IO/schema tools form a related cluster, but descriptions keep them distinguishable.
Consistent verb_noun snake_case throughout (get_policy, list_workflows, create_workflow, update_workflow_json, patch_node_params, rollback_workflow). Minor word-order variance in set_workflow_active does not break the predictable pattern.
17 tools is reasonable for an admin server covering workflow CRUD, state management, backups, and IO schema analysis, though it sits near the upper end of comfortably scannable.
Strong lifecycle coverage: create, get, update, patch, activate, duplicate, rollback, export, and backup listing. No delete_workflow and no execution/run tooling, which are minor gaps for a full n8n admin surface.
Maintenance
Related MCP Connectors
Security scanner for n8n workflows + live MCP Trust-Check. 18 rules, OWASP mapped. Paid x402 API.
26 pay-per-call AI agent tools for marketing, sales, content, research, verification, and integration testing. Agents pay per call via x402 micropayments (USDC on Base), raw JSON in and out. Includes delivery-acceptance receipts (ACCEPT/REJECT/REVIEW), a webhook capture/replay/conformance lab, and n8n workflow validation with bounded JSON-Patch repair.
Know when your n8n workflows, URLs, and AI apps break, before your customers do.
n8n MCP — query your own n8n instance (BYO).
Related MCP Servers
- FlicenseNot gradedqualityCmaintenanceEnables orchestration and management of n8n workflows through tools for creating, updating, diagnosing failed executions, auto-fixing workflows, and installing community nodes.-
- AlicenseAqualityDmaintenanceEnables full workflow automation management in n8n through 40+ tools covering workflows, executions, credentials, tags, variables, projects, users, and source control operations.5249 npmMIT
- AlicenseBqualityDmaintenanceA comprehensive MCP server that provides full control over n8n automation workflows through natural language. It offers 43 tools for managing workflows, executions, credentials, and data tables, with safety features like write-mode protection and double-validated workflow creation.431MIT
- AlicenseAqualityAmaintenanceProvides ops-focused n8n tools for MCP-compatible agents, enabling listing, inspecting, triggering, validating, managing tags, running security audits, and safely editing n8n workflows with auto-backup and confirm gates.2042 npm1MIT