All skills
czlonkowski avatar

/n8n-mcp-tools-expert

@22ec220

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.

Use this Skill: https://skilld.dev/gh/czlonkowski/n8n-skills/n8n-mcp-tools-expert

This session only. Nothing lands on disk.

OPERATIONS_GUIDE.md

≈1.6k tokens on demand. Your agent reads this file only when SKILL.md points to it.

Templates, Data Tables & Self-Help Tools Guide

Reference depth for template search/deploy, data table management, and the self-help/diagnostic tools.


Template Library

search_templates

// Search by keyword (default mode)
search_templates({
  query: "webhook slack",
  limit: 20
});

// Search by node types
search_templates({
  searchMode: "by_nodes",
  nodeTypes: ["n8n-nodes-base.httpRequest", "n8n-nodes-base.slack"]
});

// Search by task type
search_templates({
  searchMode: "by_task",
  task: "webhook_processing"
});

// Search by metadata (complexity, setup time)
search_templates({
  searchMode: "by_metadata",
  complexity: "simple",
  maxSetupMinutes: 15
});

get_template

get_template({
  templateId: 2947,
  mode: "structure"  // nodes+connections only
});

get_template({
  templateId: 2947,
  mode: "full"  // complete workflow JSON
});

n8n_deploy_template (Deploy Directly)

// Deploy template to your n8n instance
n8n_deploy_template({
  templateId: 2947,
  name: "My Weather to Slack",  // Custom name (optional)
  autoFix: true,  // Auto-fix common issues (default)
  autoUpgradeVersions: true  // Upgrade node versions (default)
});
// Returns: workflow ID, required credentials, fixes applied

(Full deploy parameters and a worked example also appear in WORKFLOW_GUIDE.md.)


Data Table Management

Two surfaces, don't confuse them:

  • n8n_manage_datatable (below) — MCP tool for managing tables, rows and columns from outside a workflow (e.g. creating tables during workflow scaffolding, seeding data, or inspecting state from Claude). Covered here.
  • nodes-base.dataTable node — the in-workflow node you drop into a workflow to read/write rows during execution. For its parameter shapes, operation values, filter syntax, and gotchas (e.g. the deleteRows reserved-word workaround, the id isNotEmpty trick for "all rows"), see n8n-node-configuration → OPERATION_PATTERNS.md → Storage Nodes → Data Table.

Rule of thumb: use the MCP tool to set up a table once and the workflow node to read/write rows on every execution.

n8n_manage_datatable

Unified tool for managing n8n data tables, their rows and their columns. Supports CRUD operations on tables and rows with filtering, pagination, and dry-run support, plus column changes through n8n's MCP server.

Table Actions: createTable, listTables, getTable, updateTable, deleteTable Row Actions: getRows, insertRows, updateRows, upsertRows, deleteRows Column Actions (n8n's MCP server, N8N_MCP_ACCESS_TOKEN, n8n 2.34+): addColumn, deleteColumn, renameColumn

// Create a data table
n8n_manage_datatable({
  action: "createTable",
  name: "Contacts",
  columns: [
    {name: "email", type: "string"},
    {name: "score", type: "number"}
  ]
})

// Get rows with filter
n8n_manage_datatable({
  action: "getRows",
  tableId: "dt-123",
  filter: {
    filters: [{columnName: "status", condition: "eq", value: "active"}]
  },
  limit: 50
})

// Insert rows
n8n_manage_datatable({
  action: "insertRows",
  tableId: "dt-123",
  data: [{email: "a@b.com", score: 10}],
  returnType: "all"
})

// Update with dry run (preview changes)
n8n_manage_datatable({
  action: "updateRows",
  tableId: "dt-123",
  filter: {filters: [{columnName: "score", condition: "lt", value: 5}]},
  data: {status: "inactive"},
  dryRun: true
})

// Upsert (update or insert)
n8n_manage_datatable({
  action: "upsertRows",
  tableId: "dt-123",
  filter: {filters: [{columnName: "email", condition: "eq", value: "a@b.com"}]},
  data: {score: 15},
  returnData: true
})
// Column actions: the Public API cannot change columns after a table exists,
// so these run through n8n's MCP server. projectId is the project owning the
// table; when omitted it is resolved from the instance's projects (PROJECT_REQUIRED
// asks for it when more than one project could own the table).
n8n_manage_datatable({
  action: "addColumn",
  tableId: "dt-123",
  column: {name: "status", type: "string"}   // letters/digits/underscores, starts with a letter, max 63 chars
})

n8n_manage_datatable({
  action: "renameColumn",
  tableId: "dt-123",
  columnId: "col-456",   // from getTable
  name: "state"
})

// deleteColumn drops the column's VALUES with it, and there is no undo.
// A column's type cannot be changed after creation, so "make this column a number"
// means drop-and-re-add — read the values out with getRows first if they matter.
n8n_manage_datatable({
  action: "deleteColumn",
  tableId: "dt-123",
  columnId: "col-456"
})

Column types are string, number, boolean and date. The column actions also accept timeoutMs (5000-600000, default 30000).

Filter conditions: eq, neq, like, ilike, gt, gte, lt, lte

Best practices:

  • Use dryRun: true before bulk updates/deletes to verify filter correctness
  • Define column types upfront (string, number, boolean, date)
  • Use returnType: "count" (default) for insertRows to minimize response size
  • deleteRows requires a filter - cannot delete all rows without one

Self-Help Tools

Get Tool Documentation

// Overview of all tools
tools_documentation()

// Specific tool details
tools_documentation({
  topic: "search_nodes",
  depth: "full"
})

// Code node guides
tools_documentation({topic: "javascript_code_node_guide", depth: "full"})
tools_documentation({topic: "python_code_node_guide", depth: "full"})

AI Agent Guide

// Comprehensive AI workflow guide — accessed via tools_documentation
// (there is no standalone ai_agents_guide tool)
tools_documentation({topic: "ai_agents_guide", depth: "full"})
// Returns: Architecture, connections, tools, validation, best practices

Health Check

// Quick health check
n8n_health_check()

// Detailed diagnostics
n8n_health_check({mode: "diagnostic"})
// → Returns: status, env vars, tool status, API connectivity

Related

Source: SKILL.md on GitHub

No alerts17d5 checks · Risk SAFE
  • Gen Agent Trust Hub17d

    The skill provides a comprehensive configuration and usage guide for the n8n-mcp server tools. Analysis of the instructions and documentation found no security threats, malicious behavior, or policy violations.

  • Socket17d

    No alerts

  • Snyk17d

    Risk: LOW · No issues

  • Runlayer7mo

    1/5 files flagged

  • ZeroLeaks5mo

    Score: 93/100 · 2 sections analyzed

Signed by skilld at 22ec220. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Activeupdated last month
  • MCP
  • n8n
  • workflow-automation
  • node-discovery
  • workflow-validation
  • credential-management
  • workflow-generation
  • automation
  • integration

README badge

README badge for czlonkowski/n8n-skills/n8n-mcp-tools-expert

Guides AI agents through n8n-mcp MCP tools for workflow automation, including node discovery, configuration validation, and workflow management. Covers tool selection, correct parameter formats (nodeType prefixes, credential blocks), and common mistakes like using placeholder credential IDs or wrong validation profiles.

Generated from the current SKILL.md.

What's the difference between nodeType and workflowNodeType formats?
Search and validation tools use the short prefix format (nodes-base.slack), while workflow creation and editing tools use the full prefix format (n8n-nodes-base.slack). The skill includes conversion guidance to avoid 'node not found' errors.
When should I use detail='full' vs the default detail='standard'?
Use detail='standard' (the default) for 95% of cases — it covers operations and properties in 1-2K tokens. Use detail='full' only when debugging complex configurations or exploring advanced features, as it returns 3-8K tokens.
What happens if I include a placeholder credential ID in node JSON?
The credential selector renders permanently disabled in the n8n UI and the user must recreate the node. Omit the credentials block entirely if you don't know the real ID; an absent block shows a normal dropdown. Use n8n_manage_credentials to discover real credential IDs first.
Does this skill cover all n8n-mcp tools or just the main ones?
This skill covers tool selection, parameter formats, and common patterns for all n8n-mcp categories: node discovery, workflow management, templates, credentials, data tables, and security auditing. It includes linked guides (SEARCH_GUIDE.md, VALIDATION_GUIDE.md, WORKFLOW_GUIDE.md) for deeper reference.
What are the most common mistakes when using n8n-mcp tools?
The skill documents eight critical mistakes: wrong nodeType format, overusing detail='full', ignoring validation profiles, not understanding auto-sanitization behavior, missing smart parameters (branch/case), using the wrong parameter name (parameters vs updates), incorrect credential format, and omitting the intent parameter for better responses.

Generated from the current SKILL.md. These answers refresh after source changes.