czlonkowski/n8n-skills6 files

N8n MCP Tools Expert

Expert guide for using n8n-mcp MCP tools effectively. Use when searching for nodes, validating configurations, accessing templates, managing workflows, organizing workflows into folders, managing credentials, auditing instance security, or using any n8n-mcp tool. Provides tool selection guidance, parameter formats, and common patterns. IMPORTANT — Always consult this skill before calling any n8n-mcp tool — it prevents common mistakes like wrong nodeType formats, incorrect parameter structures, and inefficient tool usage. If the user mentions n8n, workflows, nodes, or automation and you have n8n MCP tools available, use this skill first.

Specification
Skill ID
czlonkowski/n8n-skills/n8n-mcp-tools-expert
Publisher
czlonkowski
Repository
n8n-skills
Installs
0
Files
6
Synced
Sep 23, 2026
How to use it

Open any RiverX project, open the Skills panel in the chat, and search for this identifier. The files are fetched from the source repository at install time.

czlonkowski/n8n-skills/n8n-mcp-tools-expertInstalls these files
  • OPERATIONS_GUIDE.md
  • README.md
  • SEARCH_GUIDE.md
  • SKILL.md
  • VALIDATION_GUIDE.md
  • WORKFLOW_GUIDE.md

What this skill tells the agent

n8n MCP Tools Expert

Master guide for using n8n-mcp MCP server tools to build workflows.


Tool Categories

n8n-mcp provides tools organized into categories:

  1. Node Discovery → SEARCH_GUIDE.md
  2. Configuration Validation → VALIDATION_GUIDE.md
  3. Workflow Management → WORKFLOW_GUIDE.md
  4. Template Library - Search and deploy 2,700+ real workflows
  5. Data Tables - Manage n8n data tables, rows and columns (n8n_manage_datatable)
  6. Workflow Folders - Folder CRUD + workflow placement (n8n_manage_folders)
  7. Credential Management - Full credential CRUD + schema discovery (n8n_manage_credentials)
  8. Security & Audit - Instance security auditing with custom deep scan (n8n_audit_instance)
  9. Documentation & Guides - Tool docs, AI agent guide, Code node guides
  10. Agents - Create, configure, validate, run and publish persisted n8n Agents (n8n_manage_agents, requires N8N_MCP_ACCESS_TOKEN)
  11. Node Resource Resolution - Resolve live dropdown/resource-locator values with a real credential (n8n_explore_node_resources, requires N8N_MCP_ACCESS_TOKEN)
  12. Instance Catalog - List projects and tags (n8n_list_catalog)

Quick Reference

Most Used Tools (by success rate)

ToolUse WhenSpeed
search_nodesFinding nodes by keyword<20ms
get_nodeUnderstanding node operations (detail="standard")<10ms
validate_nodeChecking configurations (mode="full")<100ms
n8n_create_workflowCreating workflows100-500ms
n8n_update_partial_workflowEditing workflows (MOST USED!)50-200ms
validate_workflowChecking complete workflow100-500ms
n8n_deploy_templateDeploy template to n8n instance200-500ms
n8n_manage_datatableManaging data tables and rows50-500ms
n8n_manage_foldersFolder CRUD + organizing workflows100-500ms
n8n_manage_credentialsCredential CRUD + schema discovery50-500ms
n8n_audit_instanceSecurity audit (built-in + custom scan)500-5000ms
n8n_autofix_workflowAuto-fix validation errors200-1500ms
n8n_manage_agentsPersisted n8n Agent CRUD/validate/publish150-400ms; call action: 5-60s
n8n_explore_node_resourcesResolve live loadOptions/listSearch values200 ms - 5 s
n8n_list_catalogList projects or tags50-300ms

Tool Selection Guide

Finding the Right Node

Workflow:

1. search_nodes({query: "keyword"})
2. get_node({nodeType: "nodes-base.name"})
3. [Optional] get_node({nodeType: "nodes-base.name", mode: "docs"})

Example:

// Step 1: Search
search_nodes({query: "slack"})
// Returns: nodes-base.slack

// Step 2: Get details
get_node({nodeType: "nodes-base.slack"})
// Returns: operations, properties, examples (standard detail)

// Step 3: Get readable documentation
get_node({nodeType: "nodes-base.slack", mode: "docs"})
// Returns: markdown documentation

Common pattern: search → get_node (18s average)

Validating Configuration

Workflow:

1. validate_node({nodeType, config: {}, mode: "minimal"}) - Check required fields
2. validate_node({nodeType, config, profile: "runtime"}) - Full validation
3. [Repeat] Fix errors, validate again

Common pattern: validate → fix → validate (23s thinking, 58s fixing per cycle)

Managing Workflows

Workflow:

1. n8n_create_workflow({name, nodes, connections})
2. n8n_validate_workflow({id})
3. n8n_update_partial_workflow({id, operations: [...]})
4. n8n_validate_workflow({id}) again
5. n8n_update_partial_workflow({id, operations: [{type: "activateWorkflow"}]})

Common pattern: iterative updates (56s average between edits)

Critical: Node JSON Hygiene When Creating Workflows

Three structural mistakes in generated node JSON break the n8n UI even when the workflow validates:

  1. Never emit a `credentials` block with a placeholder ID. A fake ID like "id": "REPLACE_ME" renders the credential selector permanently disabled and non-clickable in the n8n UI ("No credentials yet") — the user has to recreate the node from scratch. If you don't know the real credential ID, omit the `credentials` block entirely; an absent block shows a normal empty dropdown the user can click. Use n8n_manage_credentials({action: "list"}) to discover real credential IDs first.
// ❌ Breaks the credential selector
"credentials": {"httpHeaderAuth": {"id": "REPLACE_ME", "name": "My API Key"}}

// ✅ Unknown ID → omit credentials block; user picks in UI
// ✅ Known ID (from n8n_manage_credentials list) → use the real ID
  1. Generate UUID v4 values for node `id` — not human-readable strings like "http-list-node". n8n's frontend uses node IDs for form binding and credential component initialization; non-UUID IDs cause subtle UI breakage.
  1. Use the current `typeVersion` for each node — check get_node rather than hardcoding remembered versions (e.g. httpRequest is at 4.4+, not 4.2).

Critical: nodeType Formats

Two different formats for different tools!

Format 1: Search/Validate Tools

// Use SHORT prefix
"nodes-base.slack"
"nodes-base.httpRequest"
"nodes-base.webhook"
"nodes-langchain.agent"

Tools that use this:

  • search_nodes (returns this format)
  • get_node
  • validate_node
  • validate_workflow

Format 2: Workflow Tools

// Use FULL prefix
"n8n-nodes-base.slack"
"n8n-nodes-base.httpRequest"
"n8n-nodes-base.webhook"
"@n8n/n8n-nodes-langchain.agent"

Tools that use this:

  • n8n_create_workflow
  • n8n_update_partial_workflow

Conversion

// search_nodes returns BOTH formats
{
  "nodeType": "nodes-base.slack",          // For search/validate tools
  "workflowNodeType": "n8n-nodes-base.slack"  // For workflow tools
}

Common Mistakes

Eight recurring mistakes. Two are worth showing in full because they silently corrupt structure:

// nodeType prefix (search/validate tools want the SHORT form)
get_node({nodeType: "slack"})              // ❌ missing prefix → "Node not found"
get_node({nodeType: "n8n-nodes-base.slack"}) // ❌ FULL prefix is for workflow tools
get_node({nodeType: "nodes-base.slack"})     // ✅

// credentials must be nested by type with {id, name} — not a flat string
updates: {credentials: "myApiKey"}                              // ❌
updates: {credentials: {httpHeaderAuth: {id: "abc123", name: "My API Key"}}}  // ✅
#MistakeFix
1Wrong nodeType formatSHORT nodes-base.* for search/validate; FULL n8n-nodes-base.* for workflow tools (see above)
2detail: "full" by defaultDefault standard covers 95%; reach for docs/search_properties instead of full
3No validation profilePass profile: "runtime" explicitly (minimal/ai-friendly/strict for other stages)
4Ignoring auto-sanitizationALL nodes sanitized on ANY update (operator structures, IF/Switch metadata); it can't fix broken connections or branch-count mismatches
5Not using smart parametersUse branch: "true" / case: 0 instead of fragile sourceIndex math
6Omitting intentAlways include intent on n8n_update_partial_workflow for better responses
7parameters instead of updatesupdateNode takes updates: {...}, not parameters: {...}
8Wrong credential formatNest by type with {id, name} (see above)

Full WRONG/CORRECT examples for each: see VALIDATION_GUIDE.md → Common Mistakes.


Tool Usage Patterns

Three patterns dominate real usage. Worked, step-by-step examples for each live in the reference guides.

  • Pattern 1 — Node Discovery (18s avg between steps): search_nodes({query}) → get_node({nodeType, includeExamples: true}). See SEARCH_GUIDE.md.

More from czlonkowski

Use this skill in a project

Open any RiverX project, search the Skills panel for czlonkowski/n8n-skills/n8n-mcp-tools-expert, and install it in one click.

Use this skill