Full-power MCP Server for n8n with workflow management, credential handling, template operations, backup/restore, and workflow validation
Server demonstrates solid fundamentals with 31 well-named tools covering n8n workflow management. Tool naming follows verb_noun conventions (backup_workflow, create_credential, list_workflows). Descriptions are present and moderately detailed (average ~150 chars, within production range of 34-392 chars). Input schemas are comprehensive with properties and required fields explicitly defined. However, several critical gaps emerge: output schemas are NOT documented anywhere in the provided code, parameter descriptions are present but some lack constraint details (e.g., no enum for 'method' in trigger_webhook despite having enum in schema, no format specifications for IDs), and error handling patterns are absent from the tool definitions themselves. Security considerations around credential handling appear to be in the design (avoid exposing secrets as params) but are not explicitly enforced in the visible code. The server covers workflow composition well (tools chain properly, get_workflow returns data that update_workflow consumes) and parameter naming is generally consistent. The backup, credential, validation, and workflow tool families are cohesive. Major weakness: no visible output schema documentation, no error recovery guidance in descriptions, no per-tool permission declarations.
Activate or deactivate a workflow
Create a backup snapshot of a workflow before making changes
Create a new credential with automatic validation against schema
Create a new workflow
Delete a credential with safety checks (blocks if in use unless forced)
Delete a workflow
Compare two workflow backup versions to see what changed (nodes added/removed/modified)
Output schemas NOT documented. No tool provides a documented response schema, field definitions, or data structures returned to the LLM. This forces the LLM to infer output structure, risking misuse of returned data and failed downstream tool chains.
Error handling guidance absent from tool definitions. Tool descriptions do not explain what errors are possible, how to recover, or what actions to take if the tool fails. This leaves the LLM without recovery strategies.
No pagination or result limits documented. list_workflows, list_credentials, list_executions, list_node_types lack limit/offset parameters and response count documentation. The rubric baseline expects pagination to prevent context window exhaustion. list_executions has a default limit of 20 (good), but others are open-ended.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 62 | <=2025-11-25 | v2 |
| 2026-03-09 | D | 52 | 2024-11-05+ | v1 |
Manually trigger a workflow
Export workflow as JSON template (safe for sharing)
Get required fields and structure for a credential type before creating it
Get full details of a specific execution for debugging
Get the parameter schema for a specific n8n node type. Use this to understand what inputs/options a node accepts.
Get full workflow JSON for a template
Get detailed information about a workflow (nodes, connections, settings)
Import template as new workflow with dependency resolution
Lint workflow for best practices. Checks: orphaned nodes, missing error handling, generic node names, hardcoded secrets, and loops without limits. Returns score (0-100) and list of issues.
List all credentials available in n8n (parsed from workflows + database fallback)
List recent workflow executions to check status
List available node types in this n8n instance
List all backup versions for a workflow with metadata (timestamp, size, description)
List all workflows in n8n
Restore a workflow to a previous backup version (auto-backups current state first)
Search n8n.io template library for workflow templates
Analyze workflow and suggest improvements. Identifies: missing Set nodes for data transformation, missing error handling, slow loops, hardcoded values that should use credentials, missing triggers, and opportunities for merge nodes.
Test credential validity by creating a temporary workflow (heavy operation - use sparingly)
Trigger a webhook endpoint for testing
Update an existing credential (name, data, or node access)
Update an existing workflow
Validate workflow credentials before deployment. Checks: credential IDs exist, credential types match node requirements, and optionally tests credential validity.
Validate n8n expressions {{ }} in workflow. Checks: syntax errors in expressions, valid variable references ($json, $node, $vars), and warns about complex logic that should use Code node.
Validate workflow structure before creation/deployment to catch errors early. Checks for: required fields, unique node IDs/names, valid node types, valid connections, circular dependencies, trigger nodes, and disabled node warnings.
Parameter constraints incomplete. 'credentialType' in get_credential_schema has no enum or pattern; 'nodeName' in get_node_schema lacks format guidance; 'method' in trigger_webhook has enum in schema but not documented in description. LLMs cannot parse JSON Schema enums reliably, descriptions must include valid choices.
No permission or scope declarations. Tools like delete_workflow, delete_credential, and execute_workflow are destructive but do not declare required permissions. No audit trail guidance. This violates pattern:scope-declaration and pattern:audit-trail.
list_node_types description is minimal ('List available node types in this n8n instance', ~52 chars). By rubric baseline (p10=34, avg=194), this is at the lower bound and lacks context for when/why an LLM should call it. No explanation of what fields the response includes.
Missing idempotency guidance. create_workflow, create_credential, backup_workflow, and others do not declare idempotency guarantees. An agent retrying after a network failure could create duplicates. Idempotent hints or documentation are needed.
Natural identifiers not fully supported. Most tools accept IDs but descriptions do not indicate whether human-friendly names (workflow names, credential names, node names) are also accepted. This may force extra lookup calls if an agent only has a display name.
Confirmation/dry-run pattern missing for destructive operations. delete_workflow and delete_credential have no dry-run, confirmation, or undo mechanism. Per pattern:confirmation-request, agents should confirm before irreversible actions.
Parameter dependency documentation missing. In import_template, 'credentialMapping' is optional but only meaningful if the template requires credentials. In trigger_webhook, 'body' and 'query_params' are both optional but semantics of using both together are not clarified.