mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-01-30 06:22:04 +00:00
release: version 2.17.0 - AI workflow validation fixes
PHASE 4 COMPLETE: Documentation and version bump ### Documentation Updates - README.md: Added AI workflow validation features section - Missing language model detection - AI tool connection validation - Streaming mode constraints - Memory and output parser checks - CHANGELOG.md: Comprehensive v2.17.0 release notes - Fixed 4 critical bugs (HIGH-01, HIGH-04, HIGH-08, MEDIUM-02) - Node type normalization bug details - Streaming mode validation enhancements - Examples retrieval fix - All 25 AI validator tests passing ### Version Bump - package.json: 2.16.3 → 2.17.0 ### Impact Summary This release fixes critical bugs that caused ALL AI validation to be silently skipped. Before this fix, 0% of AI validation was functional. **What's Fixed:** - ✅ Missing language model detection (HIGH-01) - ✅ AI tool connection detection (HIGH-04) - ✅ Streaming mode validation (HIGH-08) - ✅ get_node_essentials examples (MEDIUM-02) **Test Results:** - All 25 AI validator tests: PASS (100%) - Overall test improvement: 37.5% → 62.5%+ (+67%) - Debug scenarios: 3/3 PASS **Breaking Change:** AI validation now actually runs (was completely non-functional before) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
87
CHANGELOG.md
87
CHANGELOG.md
@@ -5,6 +5,93 @@ All notable changes to this project will be documented in this file.
|
||||
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
|
||||
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
||||
|
||||
## [2.17.0] - 2025-01-06
|
||||
|
||||
### 🤖 AI Workflow Validation
|
||||
|
||||
**Major enhancement: Comprehensive AI Agent workflow validation now working correctly.**
|
||||
|
||||
This release fixes critical bugs that caused ALL AI-specific validation to be silently skipped. Before this fix, 0% of AI validation was functional.
|
||||
|
||||
#### Fixed
|
||||
|
||||
- **🚨 CRITICAL: Node Type Normalization Bug (HIGH-01, HIGH-04, HIGH-08)**
|
||||
- **Issue:** All AI validation was silently skipped due to node type comparison mismatch
|
||||
- **Root Cause:** `NodeTypeNormalizer.normalizeToFullForm()` returns SHORT form (`nodes-langchain.agent`) but validation code compared against FULL form (`@n8n/n8n-nodes-langchain.agent`)
|
||||
- **Impact:** Every comparison returned FALSE, causing zero AI validations to execute
|
||||
- **Affected Validations:**
|
||||
- Missing language model detection (HIGH-01) - Never triggered
|
||||
- AI tool connection detection (HIGH-04) - Never triggered, false warnings
|
||||
- Streaming mode validation (HIGH-08) - Never triggered
|
||||
- All 13 AI tool sub-node validators - Never triggered
|
||||
- Chat Trigger validation - Never triggered
|
||||
- Basic LLM Chain validation - Never triggered
|
||||
- **Fix:** Updated 21 node type comparisons to use SHORT form
|
||||
- `ai-node-validator.ts`: 7 comparison fixes
|
||||
- `ai-tool-validators.ts`: 14 comparison fixes (13 validator keys + 13 switch cases)
|
||||
- **Verification:** All 25 AI validator unit tests now passing (100%)
|
||||
|
||||
- **🚨 HIGH-08: Incomplete Streaming Mode Validation**
|
||||
- **Issue:** Only validated streaming FROM Chat Trigger, missed AI Agent's own `streamResponse` setting
|
||||
- **Impact:** AI Agent with `options.streamResponse=true` and main output connections not detected
|
||||
- **Fix:** Added validation for both scenarios:
|
||||
- Chat Trigger with `responseMode="streaming"` → AI Agent → main output
|
||||
- AI Agent with `options.streamResponse=true` → main output
|
||||
- **Error Code:** `STREAMING_WITH_MAIN_OUTPUT` with clear error message
|
||||
- **Verification:** 2 test scenarios pass (Chat Trigger + AI Agent own setting)
|
||||
|
||||
- **🐛 MEDIUM-02: get_node_essentials Examples Retrieval**
|
||||
- **Issue:** `get_node_essentials` with `includeExamples=true` always returned empty examples array
|
||||
- **Root Cause:** Inconsistent `workflowNodeType` construction between result object and examples query
|
||||
- **Impact:** Examples existed in database but query used wrong node type (e.g., `n8n-nodes-base.agent` instead of `@n8n/n8n-nodes-langchain.agent`)
|
||||
- **Fix:** Use pre-computed `result.workflowNodeType` instead of reconstructing it
|
||||
- **Verification:** Examples now retrieved correctly, matching `search_nodes` behavior
|
||||
|
||||
#### Added
|
||||
|
||||
- **AI Agent Validation:**
|
||||
- Missing language model connection detection with code `MISSING_LANGUAGE_MODEL`
|
||||
- AI tool connection validation (no more false "no tools connected" warnings)
|
||||
- Streaming mode constraint enforcement for both Chat Trigger and AI Agent scenarios
|
||||
- Memory connection validation (max 1 allowed)
|
||||
- Output parser validation
|
||||
- System message presence checks (info level)
|
||||
- High `maxIterations` warnings
|
||||
|
||||
- **Chat Trigger Validation:**
|
||||
- Streaming mode target validation (must connect to AI Agent)
|
||||
- Main output connection validation for streaming mode
|
||||
- Connection existence checks
|
||||
|
||||
- **Basic LLM Chain Validation:**
|
||||
- Language model connection requirement
|
||||
- Prompt text validation
|
||||
|
||||
- **AI Tool Sub-Node Validation:**
|
||||
- 13 specialized validators for AI tools (HTTP Request Tool, Code Tool, Vector Store Tool, etc.)
|
||||
- Tool description validation
|
||||
- Credentials validation
|
||||
- Configuration-specific checks
|
||||
|
||||
#### Changed
|
||||
|
||||
- **Breaking:** AI validation now actually runs (was completely non-functional before)
|
||||
- **Validation strictness:** All AI-specific validations now enforce n8n's actual requirements
|
||||
- **Error messages:** Clear, actionable messages with error codes for programmatic handling
|
||||
|
||||
### Testing
|
||||
|
||||
- **Unit Tests:** 25/25 AI validator tests passing (100%)
|
||||
- **Test Improvement:** Overall test pass rate improved from 37.5% to 62.5%+ (+67% improvement)
|
||||
- **Debug Tests:** 3/3 debug scenarios passing
|
||||
|
||||
### Documentation
|
||||
|
||||
- Added comprehensive test scenarios in `PHASE_2_TEST_SCENARIOS.md`
|
||||
- Added Phase 1-2 completion summary in `PHASE_1_2_SUMMARY.md`
|
||||
- Added detailed Phase 2 analysis in `PHASE_2_COMPLETE.md`
|
||||
- Updated README.md with AI workflow validation features
|
||||
|
||||
## [2.16.3] - 2025-01-06
|
||||
|
||||
### 🔒 Security
|
||||
|
||||
19
README.md
19
README.md
@@ -699,6 +699,11 @@ This tool was created to benefit everyone in the n8n community without friction.
|
||||
- **📖 Essential Properties**: Get only the 10-20 properties that matter
|
||||
- **💡 Real-World Examples**: 2,646 pre-extracted configurations from popular templates
|
||||
- **✅ Config Validation**: Validate node configurations before deployment
|
||||
- **🤖 AI Workflow Validation**: Comprehensive validation for AI Agent workflows (NEW in v2.17.0!)
|
||||
- Missing language model detection
|
||||
- AI tool connection validation
|
||||
- Streaming mode constraints
|
||||
- Memory and output parser checks
|
||||
- **🔗 Dependency Analysis**: Understand property relationships and conditions
|
||||
- **🎯 Template Discovery**: 2,500+ workflow templates with smart filtering
|
||||
- **⚡ Fast Response**: Average query time ~12ms with optimized SQLite
|
||||
@@ -740,12 +745,18 @@ Once connected, Claude can use these powerful tools:
|
||||
- **`get_template`** - Get complete workflow JSON for import
|
||||
- **`get_templates_for_task`** - Curated templates for common automation tasks
|
||||
|
||||
### Advanced Tools
|
||||
- **`validate_node_operation`** - Validate node configurations (operation-aware, profiles support)
|
||||
- **`validate_node_minimal`** - Quick validation for just required fields
|
||||
- **`validate_workflow`** - Complete workflow validation including AI tool connections
|
||||
### Validation Tools
|
||||
- **`validate_workflow`** - Complete workflow validation including **AI Agent validation** (NEW in v2.17.0!)
|
||||
- Detects missing language model connections
|
||||
- Validates AI tool connections (no false warnings)
|
||||
- Enforces streaming mode constraints
|
||||
- Checks memory and output parser configurations
|
||||
- **`validate_workflow_connections`** - Check workflow structure and AI tool connections
|
||||
- **`validate_workflow_expressions`** - Validate n8n expressions including $fromAI()
|
||||
- **`validate_node_operation`** - Validate node configurations (operation-aware, profiles support)
|
||||
- **`validate_node_minimal`** - Quick validation for just required fields
|
||||
|
||||
### Advanced Tools
|
||||
- **`get_property_dependencies`** - Analyze property visibility conditions
|
||||
- **`get_node_documentation`** - Get parsed documentation from n8n-docs
|
||||
- **`get_database_statistics`** - View database metrics and coverage
|
||||
|
||||
BIN
data/nodes.db
BIN
data/nodes.db
Binary file not shown.
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "n8n-mcp",
|
||||
"version": "2.16.3",
|
||||
"version": "2.17.0",
|
||||
"description": "Integration between n8n workflow automation and Model Context Protocol (MCP)",
|
||||
"main": "dist/index.js",
|
||||
"bin": {
|
||||
|
||||
Reference in New Issue
Block a user