Files
n8n-skills/docs/MCP_TESTING_LOG.md
czlonkowski dff62f0c52 feat: Complete Phase 1 - Foundation and Documentation
## Phase 1 Achievements

 Repository Structure:
- Created complete directory structure (skills/, evaluations/)
- Updated .gitignore (removed docs/, keep .mcp.json)

 MCP Testing:
- Verified n8n API availability (https://n8n-test.n8n-mcp.com)
- Tested MCP tools comprehensively
- Created MCP_TESTING_LOG.md with real tool responses

 Documentation:
- README.md: Comprehensive project overview with data-driven insights
- INSTALLATION.md: Complete installation guide for all platforms
- USAGE.md: Detailed usage examples and cross-skill composition
- DEVELOPMENT.md: Development guidelines and contribution process

## Key Insights from MCP Testing

- 537 nodes available (437 base + 100 langchain)
- 2,653 templates with metadata
- nodeType format differences documented
- Webhook data structure clarified ($json.body)
- Auto-sanitization behavior documented
- All n8n_* tools require API; all others don't

## Next: Phase 2 - Skill #1 (n8n Expression Syntax)

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

Co-Authored-By: Claude <noreply@anthropic.com>
Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en
2025-10-20 10:14:34 +02:00

4.5 KiB

MCP Tool Testing Log

Generated: 2025-10-20

Purpose: Document actual tool responses for skill content creation

This log contains real responses from n8n-mcp tools to inform accurate skill content.


n8n API Status

Health Check Result:

{
  "status": "ok",
  "apiUrl": "https://n8n-test.n8n-mcp.com",
  "mcpVersion": "2.20.3",
  "versionCheck": "up to date",
  "responseTime": 798ms
}

n8n API Tools Available: All workflow creation/management tools functional


Database Statistics

{
  "totalNodes": 537,
  "totalTemplates": 2653,
  "statistics": {
    "aiTools": 270,
    "triggers": 108,
    "versionedNodes": 141,
    "nodesWithDocumentation": 470,
    "documentationCoverage": "88%"
  },
  "packageBreakdown": [
    {"package": "@n8n/n8n-nodes-langchain", "nodeCount": 100},
    {"package": "n8n-nodes-base", "nodeCount": 437}
  ]
}

Key Insights:

  • 537 nodes total (437 base + 100 langchain)
  • 270 AI-capable tools
  • 108 trigger nodes
  • 88% documentation coverage
  • 2,653 templates with avg 4,115 views

Search Tool Testing

search_nodes - Common Queries

Query: "webhook" → Returns Webhook (trigger), Respond to Webhook (transform)

  • nodeType format: nodes-base.webhook
  • workflowNodeType format: n8n-nodes-base.webhook
  • ⚠️ Critical: Use different formats for different tools!

Query: "http" → Returns HTTP Request, HTTP Request Tool (AI), Code Tool

  • Regular: nodes-base.httpRequest
  • AI Tool: nodes-langchain.toolHttpRequest

Query: "database" → Returns Firebase, Redis Vector Store, etc.


Node Essentials Testing

Webhook Node

Key Properties:

  • httpMethod: GET, POST, PUT, DELETE, etc. (default: GET)
  • path: Webhook URL path (e.g., "form-submit")
  • responseMode: onReceived, lastNode, responseNode
  • CRITICAL: Webhook data structure is $json.body.* not $json.*

Output Structure:

{
  "headers": {...},
  "params": {...},
  "query": {...},
  "body": {  // ⚠️ User data is HERE!
    "name": "John",
    "email": "john@example.com"
  }
}

Validation Testing

Validation Profiles Comparison

Test Config: {resource: "channel", operation: "create"} on Slack node

Result: Missing required field "name"

  • All profiles detected this error
  • Fix provided: "Provide a channel name"
  • Warning about rate limits (best practice)

Template Analysis

Total Templates: 2,653 Popular Templates (webhook + slack):

  • #2947: Weather via Slack (1,500 views) - Webhook → OpenStreetMap → NWS → Slack
  • #4039: Download Slack Media (778 views) - SlackTrigger → HTTP Request
  • #5529: Jamf Patch to Slack (147 views) - Complex multi-node

Key Pattern: Webhook → Transform → Action → Notify (5-7 nodes avg)


Critical Findings for Skills

1. Expression Syntax (Skill #1)

  • Webhook data under .body (not root)
  • Code nodes use direct access ($json), NOT expressions ({{}})
  • Node references: $node["Node Name"].json.field

2. MCP Tools Expert (Skill #2)

  • nodeType formats differ: nodes-base.* vs n8n-nodes-base.*
  • get_node_essentials preferred over get_node_info (5KB vs 100KB+)
  • Validation profiles: minimal/runtime/ai-friendly/strict
  • Smart parameters: branch="true"/"false" for IF, case=N for Switch
  • Auto-sanitization runs on ALL nodes during any update

3. Workflow Patterns (Skill #3)

  • 2,653 real templates available
  • Template metadata includes complexity, setup time, services
  • Common pattern: Trigger → Process → Act (5-7 nodes)
  • Webhook workflows: 27.6% of all workflows

4. Validation Expert (Skill #4)

  • Real validation errors documented
  • Auto-sanitization fixes operator structures
  • Binary operators (equals, contains) vs unary (isEmpty, isNotEmpty)

5. Node Configuration (Skill #5)

  • Property dependencies documented (e.g., sendBody → contentType)
  • Operation-specific requirements vary
  • 8 AI connection types supported

Tools Availability Summary

Available WITHOUT n8n API:

  • search_nodes, list_nodes, get_node_essentials
  • validate_node_minimal, validate_node_operation
  • validate_workflow, get_property_dependencies
  • search_templates, get_template, list_tasks

Requires n8n API (AVAILABLE at n8n-test.n8n-mcp.com):

  • n8n_create_workflow
  • n8n_update_partial_workflow
  • n8n_validate_workflow (by ID)
  • n8n_list_workflows, n8n_get_workflow
  • n8n_trigger_webhook_workflow

Testing Complete: Ready for skill implementation with real data!