MCP server for building n8n workflows
The server registers 14 tools with explicit Zod schemas and descriptions. All tools have names following verb_noun patterns (create_workflow, list_workflows, etc.), which is strong. However, most tools have minimal or missing parameter descriptions beyond a surface-level phrase. Input schemas are present but lack depth, many object/array parameters have no nested field documentation. Output schemas are not documented anywhere in the provided code. Error handling is not visible in the tool implementations. Descriptions range from adequate (list_available_nodes at ~250 chars) to generic (list_workflows: 'List all workflows', only 18 chars). The parameter 'workspace_dir' in create_workflow is described as 'Absolute path to the project root directory where workflow_data will be stored' but contains no validation guidance (must it exist? must it be writable?). The connect_main_chain tool accepts an idempotency_key but there is no visible implementation of idempotency semantics. Critical pattern gaps: no recovery guidance in error responses (pattern:recovery-guide), no documented output schemas (pattern:tool), no dry-run confirmation for destructive operations like delete_node (pattern:confirmation-request), no permission gates (pattern:permission-gate), no audit trails visible (pattern:audit-trail).
Automatically add AI-specific connections to a workflow
Add a connection between two nodes in a workflow
Add a node to a workflow
Compose an AI workflow with specified components
Build a minimal main path through AI workflow nodes (Trigger → Model → Memory → Embeddings → Doc Loader → Vector Store → Vector Tool → Agent)
Create a new n8n workflow
Output schemas are not documented. Tools return results but callers cannot see what fields to expect, forcing LLMs to guess or fail at parsing responses.
Destructive tool delete_node has no dry-run, confirmation request, or recovery guidance. An agent error could delete workflow nodes irreversibly with no undo path.
Many parameter descriptions are under 20 characters and lack actionable guidance. 'The name of the workflow' (24 chars) doesn't explain format constraints, whether names can have spaces, or max length. LLMs cannot infer these rules.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-21 | D | 58 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 48 | - | v1 |
Delete a node from a workflow
Edit a node in a workflow
Get information about the n8n version and supported features
Get details of a specific workflow
List available node types. Supports tag-style synonym search and multi-token queries. By default, multiple terms use OR logic (e.g., 'webhook trigger' matches either). Set token_logic='and' to require all tokens. Disable synonyms with tags=false. Tips: search 'langchain', roles like 'agent', 'lmChat/llm', 'tool', 'memory', or provider names like 'qdrant', 'weaviate', 'milvus', 'openai', 'anthropic'.
List available workflow template examples
List all workflows
Validate a workflow file against known node schemas. Enhanced with strict_main_chain option and structured error responses.
Object and array parameters lack nested field documentation. 'node_position' in add_node is described as 'The position of the node in the workflow' but doesn't specify required subfields (x, y? x, y, z?), units, or ranges. 'components' in compose_ai_workflow is 'List of AI components to compose', what is the schema of each component?
No visible error handling, recovery guidance, or error classification. Patterns like recovery-guide (tell LLM what to do on failure) and error-classification (retryable vs fatal) are absent from tool implementations. If a tool fails, agents have no guidance.
No permission gates or scope declarations. Tools like delete_node should gate on user authority (pattern:permission-gate), and each tool should declare minimum required permissions for audit and least-privilege configuration (pattern:scope-declaration).
connect_main_chain accepts an idempotency_key parameter but there is no visible idempotent operation implementation. If the tool is not truly idempotent, the parameter is misleading and could allow agents to mistakenly assume duplicate calls are safe.
list_workflows and list_available_nodes return unbounded results or unspecified limits. Without documented pagination (limit, offset, next_cursor) and result caps, large result sets could exceed context windows. Baseline: cap results at 20-50, add limit/offset params.
Tool descriptions vary widely in depth. list_available_nodes (95 chars + detailed search guidance) is excellent; list_workflows ('List all workflows', 18 chars) is minimal. Inconsistent coverage means agents have unclear selection criteria for similar tools.