Files
n8n-skills/skills/n8n-mcp-tools-expert/SEARCH_GUIDE.md
czlonkowski f7d34f2b8e feat: Complete Skill #2 - n8n MCP Tools Expert
Implements comprehensive guidance for using n8n-mcp MCP tools effectively.
This is the HIGHEST PRIORITY skill that addresses the 20% MCP tool failure rate.

Files created:
- 5 evaluations testing tool selection, nodeType formats, validation, and smart parameters
- SKILL.md (505 lines) - Core tool usage guide with telemetry insights
- SEARCH_GUIDE.md (243 lines) - Node discovery tools (search, essentials vs info)
- VALIDATION_GUIDE.md (377 lines) - Configuration validation and auto-sanitization
- WORKFLOW_GUIDE.md (385 lines) - Workflow management with 15 operation types
- README.md - Skill metadata emphasizing highest priority

Key features:
- Tool selection guide with success rates (search_nodes 99.9%, get_node_essentials 91.7%)
- nodeType format distinction (nodes-base.* vs n8n-nodes-base.*)
- Validation profiles explained (minimal/runtime/ai-friendly/strict)
- Smart parameters for IF/Switch nodes (branch="true", case=0)
- Auto-sanitization system for operator structures
- Telemetry insights (56s between edits, 18s search→essentials, 23s+58s validate→fix)
- AI connection types (8 types documented)

Total: ~1,650 lines across 10 files

Based on analysis of 447,557 real MCP tool usage events.

🤖 Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en
2025-10-20 10:26:40 +02:00

243 lines
5.4 KiB
Markdown
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Node Discovery Tools Guide
Complete guide for finding and understanding n8n nodes.
---
## search_nodes (START HERE!)
**Success Rate**: 99.9% | **Speed**: <20ms
**Use when**: You know what you're looking for (keyword, service, use case)
**Syntax**:
```javascript
search_nodes({
query: "slack", // Required: search keywords
mode: "OR", // Optional: OR (default), AND, FUZZY
limit: 20 // Optional: max results (default 20, max 100)
})
```
**Returns**:
```javascript
{
"query": "slack",
"results": [
{
"nodeType": "nodes-base.slack", // For search/validate tools
"workflowNodeType": "n8n-nodes-base.slack", // For workflow tools
"displayName": "Slack",
"description": "Consume Slack API",
"category": "output",
"relevance": "high"
}
]
}
```
**Tips**:
- Common searches: webhook, http, database, email, slack, google, ai
- OR mode (default): matches any word
- AND mode: requires all words
- FUZZY mode: typo-tolerant (finds "slak" Slack)
---
## get_node_essentials (RECOMMENDED!)
**Success Rate**: 91.7% | **Speed**: <10ms | **Size**: ~5KB
**Use when**: You've found the node and need configuration details
**Syntax**:
```javascript
get_node_essentials({
nodeType: "nodes-base.slack", // Required: SHORT prefix format
includeExamples: true // Optional: get real template configs
})
```
**Returns**:
- Available operations and resources
- Essential properties (10-20 most common)
- Metadata (isAITool, isTrigger, hasCredentials)
- Real examples from templates (if includeExamples: true)
**Why use this**:
- 5KB vs 100KB+ (get_node_info)
- 91.7% success vs 80%
- <10ms vs slower
- Focused data (no information overload)
---
## get_node_info (USE SPARINGLY!)
**Success Rate**: 80% | **Size**: 100KB+
**Use when**:
- Debugging complex configuration
- Need complete property schema
- Exploring advanced features
**Syntax**:
```javascript
get_node_info({
nodeType: "nodes-base.httpRequest"
})
```
**Warning**: 20% failure rate! Use get_node_essentials instead for most cases.
**Better alternatives**:
1. get_node_essentials - operations list
2. get_node_documentation - readable docs
3. search_node_properties - specific property
---
## list_nodes (BROWSE BY CATEGORY)
**Success Rate**: 99.6% | **Speed**: <20ms
**Use when**: Exploring by category or listing all nodes
**Syntax**:
```javascript
list_nodes({
category: "trigger", // Optional: filter by category
package: "n8n-nodes-base", // Optional: filter by package
limit: 200 // Optional: default 50
})
```
**Categories**:
- `trigger` - Webhook, Schedule, Manual, etc. (108 total)
- `transform` - Code, Set, Function, etc.
- `output` - HTTP Request, Email, Slack, etc.
- `input` - Read data sources
- `AI` - AI-capable nodes (270 total)
**Packages**:
- `n8n-nodes-base` - Core nodes (437 total)
- `@n8n/n8n-nodes-langchain` - AI nodes (100 total)
---
## search_node_properties (FIND SPECIFIC FIELDS)
**Use when**: Looking for specific property in a node
**Syntax**:
```javascript
search_node_properties({
nodeType: "nodes-base.httpRequest",
query: "auth" // Find authentication properties
})
```
**Returns**: Property paths and descriptions matching query
**Common searches**: auth, header, body, json, url, method
---
## get_node_documentation (READABLE DOCS)
**Coverage**: 88% of nodes (470/537)
**Use when**: Need human-readable documentation with examples
**Syntax**:
```javascript
get_node_documentation({
nodeType: "nodes-base.slack"
})
```
**Returns**: Formatted docs with:
- Usage examples
- Authentication guide
- Common patterns
- Best practices
**Note**: Better than raw schema for learning!
---
## Common Workflow: Finding & Configuring
```
Step 1: Search
search_nodes({query: "slack"})
→ Returns: nodes-base.slack
Step 2: Get Operations (18s avg thinking time)
get_node_essentials({
nodeType: "nodes-base.slack",
includeExamples: true
})
→ Returns: operations list + example configs
Step 3: Validate Config
validate_node_operation({
nodeType: "nodes-base.slack",
config: {resource: "channel", operation: "create"},
profile: "runtime"
})
→ Returns: validation result
Step 4: Use in Workflow
(Configuration ready!)
```
**From telemetry**: search essentials is most common pattern (9,835 occurrences, 18s avg)
---
## Quick Comparison
| Tool | When to Use | Success | Speed | Size |
|------|-------------|---------|-------|------|
| search_nodes | Find by keyword | 99.9% | <20ms | Small |
| get_node_essentials | Get config | 91.7% | <10ms | 5KB |
| get_node_info | Full schema | 80% | Slow | 100KB+ |
| list_nodes | Browse category | 99.6% | <20ms | Small |
| get_node_documentation | Learn usage | N/A | Fast | Medium |
**Best Practice**: search essentials validate
---
## nodeType Format (CRITICAL!)
**Search/Validate Tools** (SHORT prefix):
```javascript
"nodes-base.slack"
"nodes-base.httpRequest"
"nodes-langchain.agent"
```
**Workflow Tools** (FULL prefix):
```javascript
"n8n-nodes-base.slack"
"n8n-nodes-base.httpRequest"
"@n8n/n8n-nodes-langchain.agent"
```
**Conversion**: search_nodes returns BOTH formats:
```javascript
{
"nodeType": "nodes-base.slack", // Use with essentials
"workflowNodeType": "n8n-nodes-base.slack" // Use with create_workflow
}
```
---
## Related
- [VALIDATION_GUIDE.md](VALIDATION_GUIDE.md) - Validate node configs
- [WORKFLOW_GUIDE.md](WORKFLOW_GUIDE.md) - Use nodes in workflows