Files
n8n-mcp/src/mcp/tool-docs/workflow_management/n8n-create-workflow.ts
czlonkowski 24d775960b refactor: rewrite all MCP tool documentation for AI agent optimization
- Redesigned documentation to be utilitarian and AI-agent focused
- Removed all pleasantries, emojis, and conversational language
- Added concrete numbers throughout (528 nodes, 108 triggers, 264 AI tools)
- Updated all tool descriptions with practical, actionable information
- Enhanced examples with actual return structures and usage patterns
- Made Code node guides prominently featured in overview
- Verified documentation accuracy through extensive testing
- Standardized format across all 30+ tool documentation files

Documentation now optimized for token efficiency while maintaining
clarity and completeness for AI agent consumption.

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-07-17 21:35:01 +02:00

97 lines
3.3 KiB
TypeScript

import { ToolDocumentation } from '../types';
export const n8nCreateWorkflowDoc: ToolDocumentation = {
name: 'n8n_create_workflow',
category: 'workflow_management',
essentials: {
description: 'Create workflow. Requires: name, nodes[], connections{}. Created inactive. Returns workflow with ID.',
keyParameters: ['name', 'nodes', 'connections'],
example: 'n8n_create_workflow({name: "My Flow", nodes: [...], connections: {...}})',
performance: 'Network-dependent',
tips: [
'Workflow created inactive',
'Returns ID for future updates',
'Validate first with validate_workflow'
]
},
full: {
description: 'Creates a new workflow in n8n with specified nodes and connections. Workflow is created in inactive state. Each node requires: id, name, type, typeVersion, position, and parameters.',
parameters: {
name: { type: 'string', required: true, description: 'Workflow name' },
nodes: { type: 'array', required: true, description: 'Array of nodes with id, name, type, typeVersion, position, parameters' },
connections: { type: 'object', required: true, description: 'Node connections. Keys are source node IDs' },
settings: { type: 'object', description: 'Optional workflow settings (timezone, error handling, etc.)' }
},
returns: 'Created workflow object with id, name, nodes, connections, active status',
examples: [
`// Basic webhook to Slack workflow
n8n_create_workflow({
name: "Webhook to Slack",
nodes: [
{
id: "webhook_1",
name: "Webhook",
type: "n8n-nodes-base.webhook",
typeVersion: 1,
position: [250, 300],
parameters: {
httpMethod: "POST",
path: "slack-notify"
}
},
{
id: "slack_1",
name: "Slack",
type: "n8n-nodes-base.slack",
typeVersion: 1,
position: [450, 300],
parameters: {
resource: "message",
operation: "post",
channel: "#general",
text: "={{$json.message}}"
}
}
],
connections: {
"webhook_1": {
"main": [[{node: "slack_1", type: "main", index: 0}]]
}
}
})`,
`// Workflow with settings and error handling
n8n_create_workflow({
name: "Data Processing",
nodes: [...],
connections: {...},
settings: {
timezone: "America/New_York",
errorWorkflow: "error_handler_workflow_id",
saveDataSuccessExecution: "all",
saveDataErrorExecution: "all"
}
})`
],
useCases: [
'Deploy validated workflows',
'Automate workflow creation',
'Clone workflow structures',
'Template deployment'
],
performance: 'Network-dependent - Typically 100-500ms depending on workflow size',
bestPractices: [
'Validate with validate_workflow first',
'Use unique node IDs',
'Position nodes for readability',
'Test with n8n_trigger_webhook_workflow'
],
pitfalls: [
'**REQUIRES N8N_API_URL and N8N_API_KEY environment variables** - tool unavailable without n8n API access',
'Workflows created in INACTIVE state - must activate separately',
'Node IDs must be unique within workflow',
'Credentials must be configured separately in n8n',
'Node type names must include package prefix (e.g., "n8n-nodes-base.slack")'
],
relatedTools: ['validate_workflow', 'n8n_update_partial_workflow', 'n8n_trigger_webhook_workflow']
}
};