mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-01-30 06:22:04 +00:00
Enhanced tools documentation, duplicate ID errors, and AI Agent validator based on telemetry analysis of 593 validation errors across 3 categories: - 378 errors: Duplicate node IDs (64%) - 179 errors: AI Agent configuration (30%) - 36 errors: Other validations (6%) Quick Win #1: Enhanced tools documentation (src/mcp/tools-documentation.ts) - Added prominent warnings to call get_node_essentials() FIRST before configuring nodes - Emphasized 5KB vs 100KB+ size difference between essentials and full info - Updated workflow patterns to prioritize essentials over get_node_info Quick Win #2: Improved duplicate ID error messages (src/services/workflow-validator.ts) - Added crypto import for UUID generation examples - Enhanced error messages with node indices, names, and types - Included crypto.randomUUID() example in error messages - Helps AI agents understand EXACTLY which nodes conflict and how to fix Quick Win #3: Added AI Agent node-specific validator (src/services/node-specific-validators.ts) - Validates prompt configuration (promptType + text requirement) - Checks maxIterations bounds (1-50 recommended) - Suggests error handling (onError + retryOnFail) - Warns about high iteration limits (cost/performance impact) - Integrated into enhanced-config-validator.ts Test Coverage: - Added duplicate ID validation tests (workflow-validator.test.ts) - Added AI Agent validator tests (node-specific-validators.test.ts:2312-2491) - All new tests passing (3527 total passing) Version: 2.22.12 → 2.22.13 Expected Impact: 30-40% reduction in AI agent validation errors Technical Details: - Telemetry analysis: 593 validation errors (Dec 2024 - Jan 2025) - 100% error recovery rate maintained (validation working correctly) - Root cause: Documentation/guidance gaps, not validation logic failures - Solution: Proactive guidance at decision points References: - Telemetry analysis findings - Issue #392 (helpful error messages pattern) - Existing Slack validator pattern (node-specific-validators.ts:98-230) Concieved by Romuald Członkowski - www.aiadvisors.pl/en
171 lines
4.3 KiB
Markdown
171 lines
4.3 KiB
Markdown
# N8N-MCP Validation Improvement: Implementation Roadmap
|
|
|
|
**Start Date**: Week of November 11, 2025
|
|
**Target Completion**: Week of December 23, 2025 (6 weeks)
|
|
**Expected Impact**: 50-65% reduction in validation failures
|
|
|
|
---
|
|
|
|
## Summary
|
|
|
|
Based on analysis of 29,218 validation events across 9,021 users, this roadmap identifies concrete technical improvements to reduce validation failures through better documentation and guidance—without weakening validation itself.
|
|
|
|
---
|
|
|
|
## Phase 1: Quick Wins (Weeks 1-2) - 14-20 hours
|
|
|
|
### Task 1.1: Enhance Structure Error Messages
|
|
- **File**: `/src/services/workflow-validator.ts`
|
|
- **Problem**: "Duplicate node ID: undefined" (179 failures) provides no context
|
|
- **Solution**: Add node index, example format, field suggestions
|
|
- **Effort**: 4-6 hours
|
|
|
|
### Task 1.2: Mark Required Fields in Tool Responses
|
|
- **File**: `/src/services/property-filter.ts`
|
|
- **Problem**: "Required property X cannot be empty" (378 failures) - not marked upfront
|
|
- **Solution**: Add `requiredLabel: "⚠️ REQUIRED"` to get_node_essentials output
|
|
- **Effort**: 6-8 hours
|
|
|
|
### Task 1.3: Create Webhook Configuration Guide
|
|
- **File**: New `/docs/WEBHOOK_CONFIGURATION_GUIDE.md`
|
|
- **Problem**: Webhook errors (127 failures) from unclear config rules
|
|
- **Solution**: Document three core rules + examples
|
|
- **Effort**: 4-6 hours
|
|
|
|
**Phase 1 Impact**: 25-30% failure reduction
|
|
|
|
---
|
|
|
|
## Phase 2: Documentation & Validation (Weeks 3-4) - 20-28 hours
|
|
|
|
### Task 2.1: Enhance validate_node_operation() Enum Suggestions
|
|
- **File**: `/src/services/enhanced-config-validator.ts`
|
|
- **Problem**: Invalid enum errors lack valid options
|
|
- **Solution**: Include validOptions array in response
|
|
- **Effort**: 6-8 hours
|
|
|
|
### Task 2.2: Create Workflow Connections Guide
|
|
- **File**: New `/docs/WORKFLOW_CONNECTIONS_GUIDE.md`
|
|
- **Problem**: Connection syntax errors (676 failures)
|
|
- **Solution**: Document syntax with examples
|
|
- **Effort**: 6-8 hours
|
|
|
|
### Task 2.3: Create Error Handler Guide
|
|
- **File**: New `/docs/ERROR_HANDLING_GUIDE.md`
|
|
- **Problem**: Error handler config (148 failures)
|
|
- **Solution**: Explain options, positioning, patterns
|
|
- **Effort**: 4-6 hours
|
|
|
|
### Task 2.4: Add AI Agent Node Validation
|
|
- **File**: `/src/services/node-specific-validators.ts`
|
|
- **Problem**: AI Agent requires LLM (22 failures)
|
|
- **Solution**: Detect missing LLM, suggest required nodes
|
|
- **Effort**: 4-6 hours
|
|
|
|
**Phase 2 Impact**: Additional 15-20% failure reduction
|
|
|
|
---
|
|
|
|
## Phase 3: Advanced Features (Weeks 5-6) - 16-22 hours
|
|
|
|
### Task 3.1: Enhance Search Results
|
|
- Effort: 4-6 hours
|
|
|
|
### Task 3.2: Fuzzy Matcher for Node Types
|
|
- Effort: 3-4 hours
|
|
|
|
### Task 3.3: KPI Tracking Dashboard
|
|
- Effort: 3-4 hours
|
|
|
|
### Task 3.4: Comprehensive Test Coverage
|
|
- Effort: 6-8 hours
|
|
|
|
**Phase 3 Impact**: Additional 10-15% failure reduction
|
|
|
|
---
|
|
|
|
## Timeline
|
|
|
|
```
|
|
Week 1-2: Phase 1 - Error messages & marks
|
|
Week 3-4: Phase 2 - Documentation & validation
|
|
Week 5-6: Phase 3 - Advanced features
|
|
Total: ~60-80 developer-hours
|
|
Target: 50-65% failure reduction
|
|
```
|
|
|
|
---
|
|
|
|
## Key Changes
|
|
|
|
### Required Field Markers
|
|
|
|
**Before**:
|
|
```json
|
|
{ "properties": { "channel": { "type": "string" } } }
|
|
```
|
|
|
|
**After**:
|
|
```json
|
|
{
|
|
"properties": {
|
|
"channel": {
|
|
"type": "string",
|
|
"required": true,
|
|
"requiredLabel": "⚠️ REQUIRED",
|
|
"examples": ["#general"]
|
|
}
|
|
}
|
|
}
|
|
```
|
|
|
|
### Enum Suggestions
|
|
|
|
**Before**: `"Invalid value 'sendMsg' for operation"`
|
|
|
|
**After**:
|
|
```json
|
|
{
|
|
"field": "operation",
|
|
"validOptions": ["sendMessage", "deleteMessage"],
|
|
"suggestion": "Did you mean 'sendMessage'?"
|
|
}
|
|
```
|
|
|
|
### Error Message Examples
|
|
|
|
**Structure Error**:
|
|
```
|
|
Node at index 1 missing required 'id' field.
|
|
Expected: { "id": "node_1", "name": "HTTP Request", ... }
|
|
```
|
|
|
|
**Webhook Config**:
|
|
```
|
|
Webhook in responseNode mode requires onError: "continueRegularOutput"
|
|
See: [Webhook Configuration Guide]
|
|
```
|
|
|
|
---
|
|
|
|
## Success Metrics
|
|
|
|
- [ ] Phase 1: Webhook errors 127→35 (-72%)
|
|
- [ ] Phase 2: Connection errors 676→270 (-60%)
|
|
- [ ] Phase 3: Total failures reduced 50-65%
|
|
- [ ] All phases: Retry success stays 100%
|
|
- [ ] Target: First-attempt success 77%→85%+
|
|
|
|
---
|
|
|
|
## Next Steps
|
|
|
|
1. Review and approve roadmap
|
|
2. Create GitHub issues for each phase
|
|
3. Assign to team members
|
|
4. Schedule Phase 1 sprint (Nov 11)
|
|
5. Weekly status sync
|
|
|
|
**Status**: Ready for Review and Approval
|
|
**Estimated Completion**: December 23, 2025
|