[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-1ca5f476-4527-4563-9500-61fb375d5322":3,"$fS7As4TGXv6RdbniEQSnDgtU7oZvBBu5X98YKITbieaE":43},{"id":4,"title":5,"description":6,"categoryId":7,"moduleId":8,"tags":9,"prompt":10,"icon":11,"source":12,"sourceUrl":13,"authorId":14,"authorName":15,"isPublic":16,"stars":17,"runs":18,"createdAt":19,"updatedAt":19,"module":20,"category":27,"packages":34},"1ca5f476-4527-4563-9500-61fb375d5322","n8n-mcp-tools-expert","n8n-mcp MCP工具高效使用指南。用于搜索节点、验证配置、访问模板、管理工作流或使用任何n8n-mcp工具时使用。提供工具选择指导、参数格式和常见模式。","cat_prod_automation","mod_productivity","sickn33,productivity","---\nname: n8n-mcp-tools-expert\ndescription: Expert guide for using n8n-mcp MCP tools effectively. Use when searching for nodes, validating configurations, accessing templates, managing workflows, or using any n8n-mcp tool. Provides tool selection guidance, parameter formats, and common patterns.\nrisk: unknown\nsource: community\n---\n\n# n8n MCP Tools Expert\n\nMaster guide for using n8n-mcp MCP server tools to build workflows.\n\n## When to Use\n- You are using the `n8n-mcp` toolset to discover nodes, validate configs, or manage workflows.\n- The task involves choosing the right MCP tool or understanding its expected parameters and usage pattern.\n- You need guidance on workflow creation or editing through n8n MCP rather than through the n8n UI alone.\n\n---\n\n## Tool Categories\n\nn8n-mcp provides tools organized into categories:\n\n1. **Node Discovery** → SEARCH_GUIDE.md\n2. **Configuration Validation** → VALIDATION_GUIDE.md\n3. **Workflow Management** → WORKFLOW_GUIDE.md\n4. **Template Library** - Search and deploy 2,700+ real workflows\n5. **Documentation & Guides** - Tool docs, AI agent guide, Code node guides\n\n---\n\n## Quick Reference\n\n### Most Used Tools (by success rate)\n\n| Tool | Use When | Speed |\n|------|----------|-------|\n| `search_nodes` | Finding nodes by keyword | \u003C20ms |\n| `get_node` | Understanding node operations (detail=\"standard\") | \u003C10ms |\n| `validate_node` | Checking configurations (mode=\"full\") | \u003C100ms |\n| `n8n_create_workflow` | Creating workflows | 100-500ms |\n| `n8n_update_partial_workflow` | Editing workflows (MOST USED!) | 50-200ms |\n| `validate_workflow` | Checking complete workflow | 100-500ms |\n| `n8n_deploy_template` | Deploy template to n8n instance | 200-500ms |\n\n---\n\n## Tool Selection Guide\n\n### Finding the Right Node\n\n**Workflow**:\n```\n1. search_nodes({query: \"keyword\"})\n2. get_node({nodeType: \"nodes-base.name\"})\n3. [Optional] get_node({nodeType: \"nodes-base.name\", mode: \"docs\"})\n```\n\n**Example**:\n```javascript\n\u002F\u002F Step 1: Search\nsearch_nodes({query: \"slack\"})\n\u002F\u002F Returns: nodes-base.slack\n\n\u002F\u002F Step 2: Get details\nget_node({nodeType: \"nodes-base.slack\"})\n\u002F\u002F Returns: operations, properties, examples (standard detail)\n\n\u002F\u002F Step 3: Get readable documentation\nget_node({nodeType: \"nodes-base.slack\", mode: \"docs\"})\n\u002F\u002F Returns: markdown documentation\n```\n\n**Common pattern**: search → get_node (18s average)\n\n### Validating Configuration\n\n**Workflow**:\n```\n1. validate_node({nodeType, config: {}, mode: \"minimal\"}) - Check required fields\n2. validate_node({nodeType, config, profile: \"runtime\"}) - Full validation\n3. [Repeat] Fix errors, validate again\n```\n\n**Common pattern**: validate → fix → validate (23s thinking, 58s fixing per cycle)\n\n### Managing Workflows\n\n**Workflow**:\n```\n1. n8n_create_workflow({name, nodes, connections})\n2. n8n_validate_workflow({id})\n3. n8n_update_partial_workflow({id, operations: [...]})\n4. n8n_validate_workflow({id}) again\n5. n8n_update_partial_workflow({id, operations: [{type: \"activateWorkflow\"}]})\n```\n\n**Common pattern**: iterative updates (56s average between edits)\n\n---\n\n## Critical: nodeType Formats\n\n**Two different formats** for different tools!\n\n### Format 1: Search\u002FValidate Tools\n```javascript\n\u002F\u002F Use SHORT prefix\n\"nodes-base.slack\"\n\"nodes-base.httpRequest\"\n\"nodes-base.webhook\"\n\"nodes-langchain.agent\"\n```\n\n**Tools that use this**:\n- search_nodes (returns this format)\n- get_node\n- validate_node\n- validate_workflow\n\n### Format 2: Workflow Tools\n```javascript\n\u002F\u002F Use FULL prefix\n\"n8n-nodes-base.slack\"\n\"n8n-nodes-base.httpRequest\"\n\"n8n-nodes-base.webhook\"\n\"@n8n\u002Fn8n-nodes-langchain.agent\"\n```\n\n**Tools that use this**:\n- n8n_create_workflow\n- n8n_update_partial_workflow\n\n### Conversion\n\n```javascript\n\u002F\u002F search_nodes returns BOTH formats\n{\n  \"nodeType\": \"nodes-base.slack\",          \u002F\u002F For search\u002Fvalidate tools\n  \"workflowNodeType\": \"n8n-nodes-base.slack\"  \u002F\u002F For workflow tools\n}\n```\n\n---\n\n## Common Mistakes\n\n### Mistake 1: Wrong nodeType Format\n\n**Problem**: \"Node not found\" error\n\n```javascript\n\u002F\u002F WRONG\nget_node({nodeType: \"slack\"})  \u002F\u002F Missing prefix\nget_node({nodeType: \"n8n-nodes-base.slack\"})  \u002F\u002F Wrong prefix\n\n\u002F\u002F CORRECT\nget_node({nodeType: \"nodes-base.slack\"})\n```\n\n### Mistake 2: Using detail=\"full\" by Default\n\n**Problem**: Huge payload, slower response, token waste\n\n```javascript\n\u002F\u002F WRONG - Returns 3-8K tokens, use sparingly\nget_node({nodeType: \"nodes-base.slack\", detail: \"full\"})\n\n\u002F\u002F CORRECT - Returns 1-2K tokens, covers 95% of use cases\nget_node({nodeType: \"nodes-base.slack\"})  \u002F\u002F detail=\"standard\" is default\nget_node({nodeType: \"nodes-base.slack\", detail: \"standard\"})\n```\n\n**When to use detail=\"full\"**:\n- Debugging complex configuration issues\n- Need complete property schema with all nested options\n- Exploring advanced features\n\n**Better alternatives**:\n1. `get_node({detail: \"standard\"})` - for operations list (default)\n2. `get_node({mode: \"docs\"})` - for readable documentation\n3. `get_node({mode: \"search_properties\", propertyQuery: \"auth\"})` - for specific property\n\n### Mistake 3: Not Using Validation Profiles\n\n**Problem**: Too many false positives OR missing real errors\n\n**Profiles**:\n- `minimal` - Only required fields (fast, permissive)\n- `runtime` - Values + types (recommended for pre-deployment)\n- `ai-friendly` - Reduce false positives (for AI configuration)\n- `strict` - Maximum validation (for production)\n\n```javascript\n\u002F\u002F WRONG - Uses default profile\nvalidate_node({nodeType, config})\n\n\u002F\u002F CORRECT - Explicit profile\nvalidate_node({nodeType, config, profile: \"runtime\"})\n```\n\n### Mistake 4: Ignoring Auto-Sanitization\n\n**What happens**: ALL nodes sanitized on ANY workflow update\n\n**Auto-fixes**:\n- Binary operators (equals, contains) → removes singleValue\n- Unary operators (isEmpty, isNotEmpty) → adds singleValue: true\n- IF\u002FSwitch nodes → adds missing metadata\n\n**Cannot fix**:\n- Broken connections\n- Branch count mismatches\n- Paradoxical corrupt states\n\n```javascript\n\u002F\u002F After ANY update, auto-sanitization runs on ALL nodes\nn8n_update_partial_workflow({id, operations: [...]})\n\u002F\u002F → Automatically fixes operator structures\n```\n\n### Mistake 5: Not Using Smart Parameters\n\n**Problem**: Complex sourceIndex calculations for multi-output nodes\n\n**Old way** (manual):\n```javascript\n\u002F\u002F IF node connection\n{\n  type: \"addConnection\",\n  source: \"IF\",\n  target: \"Handler\",\n  sourceIndex: 0  \u002F\u002F Which output? Hard to remember!\n}\n```\n\n**New way** (smart parameters):\n```javascript\n\u002F\u002F IF node - semantic branch names\n{\n  type: \"addConnection\",\n  source: \"IF\",\n  target: \"True Handler\",\n  branch: \"true\"  \u002F\u002F Clear and readable!\n}\n\n{\n  type: \"addConnection\",\n  source: \"IF\",\n  target: \"False Handler\",\n  branch: \"false\"\n}\n\n\u002F\u002F Switch node - semantic case numbers\n{\n  type: \"addConnection\",\n  source: \"Switch\",\n  target: \"Handler A\",\n  case: 0\n}\n```\n\n### Mistake 6: Not Using intent Parameter\n\n**Problem**: Less helpful tool responses\n\n```javascript\n\u002F\u002F WRONG - No context for response\nn8n_update_partial_workflow({\n  id: \"abc\",\n  operations: [{type: \"addNode\", node: {...}}]\n})\n\n\u002F\u002F CORRECT - Better AI responses\nn8n_update_partial_workflow({\n  id: \"abc\",\n  intent: \"Add error handling for API failures\",\n  operations: [{type: \"addNode\", node: {...}}]\n})\n```\n\n---\n\n## Tool Usage Patterns\n\n### Pattern 1: Node Discovery (Most Common)\n\n**Common workflow**: 18s average between steps\n\n```javascript\n\u002F\u002F Step 1: Search (fast!)\nconst results = await search_nodes({\n  query: \"slack\",\n  mode: \"OR\",  \u002F\u002F Default: any word matches\n  limit: 20\n});\n\u002F\u002F → Returns: nodes-base.slack, nodes-base.slackTrigger\n\n\u002F\u002F Step 2: Get details (~18s later, user reviewing results)\nconst details = await get_node({\n  nodeType: \"nodes-base.slack\",\n  includeExamples: true  \u002F\u002F Get real template configs\n});\n\u002F\u002F → Returns: operations, properties, metadata\n```\n\n### Pattern 2: Validation Loop\n\n**Typical cycle**: 23s thinking, 58s fixing\n\n```javascript\n\u002F\u002F Step 1: Validate\nconst result = await validate_node({\n  nodeType: \"nodes-base.slack\",\n  config: {\n    resource: \"channel\",\n    operation: \"create\"\n  },\n  profile: \"runtime\"\n});\n\n\u002F\u002F Step 2: Check errors (~23s thinking)\nif (!result.valid) {\n  console.log(result.errors);  \u002F\u002F \"Missing required field: name\"\n}\n\n\u002F\u002F Step 3: Fix config (~58s fixing)\nconfig.name = \"general\";\n\n\u002F\u002F Step 4: Validate again\nawait validate_node({...});  \u002F\u002F Repeat until clean\n```\n\n### Pattern 3: Workflow Editing\n\n**Most used update tool**: 99.0% success rate, 56s average between edits\n\n```javascript\n\u002F\u002F Iterative workflow building (NOT one-shot!)\n\u002F\u002F Edit 1\nawait n8n_update_partial_workflow({\n  id: \"workflow-id\",\n  intent: \"Add webhook trigger\",\n  operations: [{type: \"addNode\", node: {...}}]\n});\n\n\u002F\u002F ~56s later...\n\n\u002F\u002F Edit 2\nawait n8n_update_partial_workflow({\n  id: \"workflow-id\",\n  intent: \"Connect webhook to processor\",\n  operations: [{type: \"addConnection\", source: \"...\", target: \"...\"}]\n});\n\n\u002F\u002F ~56s later...\n\n\u002F\u002F Edit 3 (validation)\nawait n8n_validate_workflow({id: \"workflow-id\"});\n\n\u002F\u002F Ready? Activate!\nawait n8n_update_partial_workflow({\n  id: \"workflow-id\",\n  intent: \"Activate workflow for production\",\n  operations: [{type: \"activateWorkflow\"}]\n});\n```\n\n---\n\n## Detailed Guides\n\n### Node Discovery Tools\nSee SEARCH_GUIDE.md for:\n- search_nodes\n- get_node with detail levels (minimal, standard, full)\n- get_node modes (info, docs, search_properties, versions)\n\n### Validation Tools\nSee VALIDATION_GUIDE.md for:\n- Validation profiles explained\n- validate_node with modes (minimal, full)\n- validate_workflow complete structure\n- Auto-sanitization system\n- Handling validation errors\n\n### Workflow Management\nSee WORKFLOW_GUIDE.md for:\n- n8n_create_workflow\n- n8n_update_partial_workflow (17 operation types!)\n- Smart parameters (branch, case)\n- AI connection types (8 types)\n- Workflow activation (activateWorkflow\u002FdeactivateWorkflow)\n- n8n_deploy_template\n- n8n_workflow_versions\n\n---\n\n## Template Usage\n\n### Search Templates\n\n```javascript\n\u002F\u002F Search by keyword (default mode)\nsearch_templates({\n  query: \"webhook slack\",\n  limit: 20\n});\n\n\u002F\u002F Search by node types\nsearch_templates({\n  searchMode: \"by_nodes\",\n  nodeTypes: [\"n8n-nodes-base.httpRequest\", \"n8n-nodes-base.slack\"]\n});\n\n\u002F\u002F Search by task type\nsearch_templates({\n  searchMode: \"by_task\",\n  task: \"webhook_processing\"\n});\n\n\u002F\u002F Search by metadata (complexity, setup time)\nsearch_templates({\n  searchMode: \"by_metadata\",\n  complexity: \"simple\",\n  maxSetupMinutes: 15\n});\n```\n\n### Get Template Details\n\n```javascript\nget_template({\n  templateId: 2947,\n  mode: \"structure\"  \u002F\u002F nodes+connections only\n});\n\nget_template({\n  templateId: 2947,\n  mode: \"full\"  \u002F\u002F complete workflow JSON\n});\n```\n\n### Deploy Template Directly\n\n```javascript\n\u002F\u002F Deploy template to your n8n instance\nn8n_deploy_template({\n  templateId: 2947,\n  name: \"My Weather to Slack\",  \u002F\u002F Custom name (optional)\n  autoFix: true,  \u002F\u002F Auto-fix common issues (default)\n  autoUpgradeVersions: true  \u002F\u002F Upgrade node versions (default)\n});\n\u002F\u002F Returns: workflow ID, required credentials, fixes applied\n```\n\n---\n\n## Self-Help Tools\n\n### Get Tool Documentation\n\n```javascript\n\u002F\u002F Overview of all tools\ntools_documentation()\n\n\u002F\u002F Specific tool details\ntools_documentation({\n  topic: \"search_nodes\",\n  depth: \"full\"\n})\n\n\u002F\u002F Code node guides\ntools_documentation({topic: \"javascript_code_node_guide\", depth: \"full\"})\ntools_documentation({topic: \"python_code_node_guide\", depth: \"full\"})\n```\n\n### AI Agent Guide\n\n```javascript\n\u002F\u002F Comprehensive AI workflow guide\nai_agents_guide()\n\u002F\u002F Returns: Architecture, connections, tools, validation, best practices\n```\n\n### Health Check\n\n```javascript\n\u002F\u002F Quick health check\nn8n_health_check()\n\n\u002F\u002F Detailed diagnostics\nn8n_health_check({mode: \"diagnostic\"})\n\u002F\u002F → Returns: status, env vars, tool status, API connectivity\n```\n\n---\n\n## Tool Availability\n\n**Always Available** (no n8n API needed):\n- search_nodes, get_node\n- validate_node, validate_workflow\n- search_templates, get_template\n- tools_documentation, ai_agents_guide\n\n**Requires n8n API** (N8N_API_URL + N8N_API_KEY):\n- n8n_create_workflow\n- n8n_update_partial_workflow\n- n8n_validate_workflow (by ID)\n- n8n_list_workflows, n8n_get_workflow\n- n8n_test_workflow\n- n8n_executions\n- n8n_deploy_template\n- n8n_workflow_versions\n- n8n_autofix_workflow\n\nIf API tools unavailable, use templates and validation-only workflows.\n\n---\n\n## Unified Tool Reference\n\n### get_node (Unified Node Information)\n\n**Detail Levels** (mode=\"info\", default):\n- `minimal` (~200 tokens) - Basic metadata only\n- `standard` (~1-2K tokens) - Essential properties + operations (RECOMMENDED)\n- `full` (~3-8K tokens) - Complete schema (use sparingly)\n\n**Operation Modes**:\n- `info` (default) - Node schema with detail level\n- `docs` - Readable markdown documentation\n- `search_properties` - Find specific properties (use with propertyQuery)\n- `versions` - List all versions with breaking changes\n- `compare` - Compare two versions\n- `breaking` - Show only breaking changes\n- `migrations` - Show auto-migratable changes\n\n```javascript\n\u002F\u002F Standard (recommended)\nget_node({nodeType: \"nodes-base.httpRequest\"})\n\n\u002F\u002F Get documentation\nget_node({nodeType: \"nodes-base.webhook\", mode: \"docs\"})\n\n\u002F\u002F Search for properties\nget_node({nodeType: \"nodes-base.httpRequest\", mode: \"search_properties\", propertyQuery: \"auth\"})\n\n\u002F\u002F Check versions\nget_node({nodeType: \"nodes-base.executeWorkflow\", mode: \"versions\"})\n```\n\n### validate_node (Unified Validation)\n\n**Modes**:\n- `full` (default) - Comprehensive validation with errors\u002Fwarnings\u002Fsuggestions\n- `minimal` - Quick required fields check only\n\n**Profiles** (for mode=\"full\"):\n- `minimal` - Very lenient\n- `runtime` - Standard (default, recommended)\n- `ai-friendly` - Balanced for AI workflows\n- `strict` - Most thorough (production)\n\n```javascript\n\u002F\u002F Full validation with runtime profile\nvalidate_node({nodeType: \"nodes-base.slack\", config: {...}, profile: \"runtime\"})\n\n\u002F\u002F Quick required fields check\nvalidate_node({nodeType: \"nodes-base.webhook\", config: {}, mode: \"minimal\"})\n```\n\n---\n\n## Performance Characteristics\n\n| Tool | Response Time | Payload Size |\n|------|---------------|--------------|\n| search_nodes | \u003C20ms | Small |\n| get_node (standard) | \u003C10ms | ~1-2KB |\n| get_node (full) | \u003C100ms | 3-8KB |\n| validate_node (minimal) | \u003C50ms | Small |\n| validate_node (full) | \u003C100ms | Medium |\n| validate_workflow | 100-500ms | Medium |\n| n8n_create_workflow | 100-500ms | Medium |\n| n8n_update_partial_workflow | 50-200ms | Small |\n| n8n_deploy_template | 200-500ms | Medium |\n\n---\n\n## Best Practices\n\n### Do\n- Use `get_node({detail: \"standard\"})` for most use cases\n- Specify validation profile explicitly (`profile: \"runtime\"`)\n- Use smart parameters (`branch`, `case`) for clarity\n- Include `intent` parameter in workflow updates\n- Follow search → get_node → validate workflow\n- Iterate workflows (avg 56s between edits)\n- Validate after every significant change\n- Use `includeExamples: true` for real configs\n- Use `n8n_deploy_template` for quick starts\n\n### Don't\n- Use `detail: \"full\"` unless necessary (wastes tokens)\n- Forget nodeType prefix (`nodes-base.*`)\n- Skip validation profiles\n- Try to build workflows in one shot (iterate!)\n- Ignore auto-sanitization behavior\n- Use full prefix (`n8n-nodes-base.*`) with search\u002Fvalidate tools\n- Forget to activate workflows after building\n\n---\n\n## Summary\n\n**Most Important**:\n1. Use **get_node** with `detail: \"standard\"` (default) - covers 95% of use cases\n2. nodeType formats differ: `nodes-base.*` (search\u002Fvalidate) vs `n8n-nodes-base.*` (workflows)\n3. Specify **validation profiles** (`runtime` recommended)\n4. Use **smart parameters** (`branch=\"true\"`, `case=0`)\n5. Include **intent parameter** in workflow updates\n6. **Auto-sanitization** runs on ALL nodes during updates\n7. Workflows can be **activated via API** (`activateWorkflow` operation)\n8. Workflows are built **iteratively** (56s avg between edits)\n\n**Common Workflow**:\n1. search_nodes → find node\n2. get_node → understand config\n3. validate_node → check config\n4. n8n_create_workflow → build\n5. n8n_validate_workflow → verify\n6. n8n_update_partial_workflow → iterate\n7. activateWorkflow → go live!\n\nFor details, see:\n- SEARCH_GUIDE.md - Node discovery\n- VALIDATION_GUIDE.md - Configuration validation\n- WORKFLOW_GUIDE.md - Workflow management\n\n---\n\n**Related Skills**:\n- n8n Expression Syntax - Write expressions in workflow fields\n- n8n Workflow Patterns - Architectural patterns from templates\n- n8n Validation Expert - Interpret validation errors\n- n8n Node Configuration - Operation-specific requirements\n- n8n Code JavaScript - Write JavaScript in Code nodes\n- n8n Code Python - Write Python in Code nodes\n\n## Limitations\n- Use this skill only when the task clearly matches the scope described above.\n- Do not treat the output as a substitute for environment-specific validation, testing, or expert review.\n- Stop and ask for clarification if required inputs, permissions, safety boundaries, or success criteria are missing.\n","","imported","https:\u002F\u002Fgithub.com\u002Fsickn33\u002Fantigravity-awesome-skills","user_system_seed","SkillOPIC",true,232,150,"2026-05-16 13:30:17",{"id":8,"name":21,"slug":22,"icon":23,"description":24,"sort":25,"createdAt":26},"效率工具","productivity","mdi-lightning-bolt-outline","文档处理、数据分析、自动化工作流",4,"2026-05-16 12:53:40",{"id":7,"name":28,"slug":29,"icon":30,"description":31,"moduleId":8,"sort":32,"skillCount":33,"createdAt":26},"自动化","automation","mdi-robot-outline","工作流自动化、批处理",3,101,[35],{"id":36,"skillId":4,"version":37,"fileName":38,"fileSize":39,"filePath":40,"fileHash":41,"manifest":42,"createdAt":19},"3c712fde-c942-4652-9418-a46a4e9cc0ea","1.0.0","n8n-mcp-tools-expert.zip",5733,"uploads\u002Fskills\u002F1ca5f476-4527-4563-9500-61fb375d5322\u002Fn8n-mcp-tools-expert.zip","791961f26c9225e58fd6a32fa922d60e90f8cc0b60c237c0c9707836b5c79685","[{\"path\":\"SKILL.md\",\"isDirectory\":false,\"size\":16935}]",{"code":44,"message":45,"data":46},200,"success",{"items":47,"stats":48,"page":51},[],{"averageRating":49,"totalRatings":49,"ratingCounts":50},0,[49,49,49,49,49],{"limit":52,"offset":49,"hasMore":53,"nextOffset":52,"ratedOnly":16},15,false]