diff --git a/.gitignore b/.gitignore index a6cbb8f..c7aff90 100644 --- a/.gitignore +++ b/.gitignore @@ -87,3 +87,4 @@ rebuild-v20.sh # n8n-docs repo (cloned locally) ../n8n-docs/ +n8n-docs/ diff --git a/CHANGELOG.md b/CHANGELOG.md index b01f76c..088d651 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,24 +8,270 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [2.7.0] - 2025-06-29 ### Added -- New `n8n_diagnostic` tool to help troubleshoot management tools visibility issues -- Version utility (`src/utils/version.ts`) to read version from package.json as single source of truth -- Script to sync package.runtime.json version (`scripts/sync-runtime-version.js`) +- New `n8n_update_partial_workflow` tool for efficient diff-based workflow editing with transactional updates +- WorkflowDiffEngine for applying targeted edits without sending full workflow JSON (80-90% token savings) +- 13 diff operations: addNode, removeNode, updateNode, moveNode, enableNode, disableNode, addConnection, removeConnection, updateConnection, updateSettings, updateName, addTag, removeTag +- Smart node references supporting both node ID and name +- Transaction safety with validation before applying changes +- Validation-only mode for testing diff operations +- Comprehensive test coverage for all diff operations +- Example guide in `docs/workflow-diff-examples.md` +- Two-pass processing allowing operations in any order +- Operation limit of 5 operations per request for reliability +- `n8n_diagnostic` tool to troubleshoot management tools visibility issues +- Version utility (`src/utils/version.ts`) for centralized version management +- Script to sync package.runtime.json version ### Changed -- Renamed core MCP files to remove unnecessary suffixes: +- Renamed `n8n_update_workflow` to `n8n_update_full_workflow` to clarify it replaces entire workflow +- Renamed core MCP files for clarity: - `tools-update.ts` → `tools.ts` - `server-update.ts` → `server.ts` - `http-server-fixed.ts` → `http-server.ts` -- Updated imports across 21+ files to use the new file names +- Updated imports across 21+ files to use new file names ### Fixed -- Version mismatch issue where version was hardcoded as 2.4.1 instead of reading from package.json (GitHub issue #5) +- Version mismatch issue where version was hardcoded instead of reading from package.json (GitHub issue #5) +- MCP validation error by simplifying schema to allow additional properties +- n8n API validation by removing all read-only fields in cleanWorkflowForUpdate +- Claude Desktop compatibility by adding additionalProperties: true +- Removed DEBUG console.log statements from MCP server ### Removed -- Legacy HTTP server implementation (`src/http-server.ts`) with known issues +- Legacy HTTP server implementation (`src/http-server.ts`) - Unused legacy API client (`src/utils/n8n-client.ts`) +- Unnecessary file name suffixes (-update, -fixed) -## [Previous versions] +## [2.6.3] - 2025-06-26 -For changes in versions prior to 2.7.0, please refer to the git history and CLAUDE.md file which contains detailed update notes for versions 2.0.0 through 2.6.3. \ No newline at end of file +### Added +- `n8n_validate_workflow` tool to validate workflows directly from n8n instance by ID +- Fetches workflow from n8n API and runs comprehensive validation +- Supports all validation profiles and options +- Part of complete lifecycle: discover → build → validate → deploy → execute + +## [2.6.2] - 2025-06-26 + +### Added +- Node type validation to verify node types exist in n8n +- Smart suggestions for common mistakes (e.g., `webhook` → `n8n-nodes-base.webhook`) +- Minimum viable workflow validation preventing single-node workflows (except webhooks) +- Empty connection detection for multi-node workflows +- Helper functions: `getWorkflowStructureExample()` and `getWorkflowFixSuggestions()` + +### Fixed +- nodes-base prefix detection now catches errors before database lookup +- Enhanced error messages with clear guidance on proper workflow structure + +## [2.6.1] - 2025-06-26 + +### Added +- typeVersion validation in workflow validator +- Enforces typeVersion on all versioned nodes +- Warns on outdated node versions +- Prevents invalid version numbers + +### Fixed +- Missing typeVersion errors with correct version suggestions +- Invalid version detection exceeding maximum supported + +## [2.6.0] - 2025-06-26 + +### Added +- 14 n8n management tools for complete workflow lifecycle management: + - `n8n_create_workflow` - Create workflows programmatically + - `n8n_update_workflow` - Update existing workflows + - `n8n_trigger_webhook_workflow` - Execute workflows via webhooks + - `n8n_list_executions` - Monitor workflow executions + - `n8n_health_check` - Check n8n instance connectivity + - And 9 more workflow and execution management tools +- Integration with n8n-manager-for-ai-agents functionality +- Conditional tool registration based on N8N_API_URL and N8N_API_KEY configuration +- Smart error handling for API limitations + +## [2.5.1] - 2025-06-24 + +### Added +- `get_node_as_tool_info` tool for specific information about using ANY node as an AI tool +- Enhanced AI tool support with usage guidance +- Improved start_here_workflow_guide with Claude Project setup + +### Changed +- Enhanced AI tool detection and documentation +- Updated documentation to match current state + +## [2.5.0] - 2025-06-24 + +### Added +- Comprehensive workflow validation system: + - `validate_workflow` - Validate entire workflows before deployment + - `validate_workflow_connections` - Check workflow structure and connections + - `validate_workflow_expressions` - Validate all n8n expressions +- Expression validator for n8n syntax validation +- AI tool connection validation +- Phase 2 validation improvements + +## [2.4.2] - 2025-06-24 + +### Added +- Enhanced operation-aware validation system +- `validate_node_operation` - Verify node configuration with operation awareness +- `validate_node_minimal` - Quick validation for required fields only +- Node-specific validation logic +- Validation profiles support + +### Fixed +- Validation improvements based on AI agent feedback + +## [2.4.1] - 2025-06-20 + +### Added +- n8n workflow templates integration: + - `list_node_templates` - Find workflow templates using specific nodes + - `get_template` - Get complete workflow JSON for import + - `search_templates` - Search templates by keywords + - `get_templates_for_task` - Get curated templates for common tasks +- Template fetching from n8n.io API +- Robust template fetching with retries +- Expanded template window from 6 months to 1 year + +### Fixed +- Made templates available in Docker by removing axios from runtime +- Template service made optional in Docker environment +- Non-deterministic CHECK constraint removed from templates table + +## [2.4.0] - 2025-06-18 + +### Added +- AI-optimized tools with 95% size reduction: + - `get_node_essentials` - Returns only essential properties (10-20) with examples + - `search_node_properties` - Find specific properties without downloading everything + - `get_node_for_task` - Get pre-configured node settings for common tasks + - `list_tasks` - List all available task templates + - `get_property_dependencies` - Analyze property dependencies and visibility conditions +- Property filter service with curated essential properties +- Example generator for common use cases +- Task templates with pre-configured settings +- Docker build optimization (82% smaller images, 10x faster builds) + +### Changed +- Switched to MIT license for wider adoption +- Optimized Docker builds to exclude n8n dependencies at runtime +- Improved tool descriptions and added workflow guide tool + +### Fixed +- Docker build failures in GitHub Actions +- Claude Desktop stdio communication issues +- Version array handling in node parser + +### Removed +- Legacy MCP implementation files +- n8n dependencies from Docker runtime image + +## [2.3.3] - 2025-06-16 + +### Added +- Smart dependency update system for n8n packages +- GitHub Actions workflow for automated n8n updates +- Alternative Renovate configuration + +### Fixed +- n8n package interdependent version requirements +- Node type references in validation script + +## [2.3.2] - 2025-06-14 + +### Added +- Single-session HTTP server architecture +- Direct JSON-RPC implementation for HTTP mode +- Console output isolation for clean JSON-RPC responses + +### Fixed +- "stream is not readable" error in HTTP server +- "Server not initialized" error with StreamableHTTPServerTransport +- MCP HTTP server stream errors + +## [2.3.1] - 2025-06-13 + +### Added +- HTTP server mode for remote deployment with token authentication +- MCP-compatible HTTP endpoints +- Security features: CORS, rate limiting, request size limits +- Comprehensive HTTP testing scripts + +## [2.3.0] - 2025-06-12 + +### Added +- Universal Node.js compatibility with automatic database adapter fallback +- Database adapter pattern with BetterSQLiteAdapter and SQLJSAdapter +- Automatic adapter selection based on environment +- sql.js persistence layer with debounced saves + +### Changed +- Database operations now use unified adapter interface +- Transparent adapter switching for different Node.js versions + +## [2.2.0] - 2025-06-12 + +### Added +- Enhanced node parser with versioned node support +- Dedicated property extractor for complex node structures +- Full support for @n8n/n8n-nodes-langchain package +- AI tool detection (35 tools with usableAsTool property) + +### Changed +- Major refactor based on IMPLEMENTATION_PLAN.md v2.2 +- Improved property/operation extraction (452/458 nodes have properties) +- Enhanced documentation mapping + +### Fixed +- VersionedNodeType handling +- Documentation mapping issues +- Property extraction for 98.7% of nodes + +## [2.1.0] - 2025-06-09 + +### Added +- Node extraction scripts for n8n modules +- Docker setup for n8n module processing +- Enhanced documentation fetcher +- Node source extractor utility + +## [2.0.0] - 2025-06-08 + +### Added +- Complete overhaul to enhanced documentation-only MCP server +- SQLite database with FTS5 for fast searching +- Comprehensive MCP tools for querying n8n nodes +- Node documentation service as core component + +### Changed +- Architecture redesign focusing on documentation serving +- Removed workflow execution capabilities +- Simplified to documentation and knowledge serving + +## [1.0.0] - 2025-06-08 + +### Added +- Initial release +- Basic n8n and MCP integration +- Core workflow automation features + +[2.7.0]: https://github.com/czlonkowski/n8n-mcp/compare/v2.6.3...v2.7.0 +[2.6.3]: https://github.com/czlonkowski/n8n-mcp/compare/v2.6.2...v2.6.3 +[2.6.2]: https://github.com/czlonkowski/n8n-mcp/compare/v2.6.1...v2.6.2 +[2.6.1]: https://github.com/czlonkowski/n8n-mcp/compare/v2.6.0...v2.6.1 +[2.6.0]: https://github.com/czlonkowski/n8n-mcp/compare/v2.5.1...v2.6.0 +[2.5.1]: https://github.com/czlonkowski/n8n-mcp/compare/v2.5.0...v2.5.1 +[2.5.0]: https://github.com/czlonkowski/n8n-mcp/compare/v2.4.2...v2.5.0 +[2.4.2]: https://github.com/czlonkowski/n8n-mcp/compare/v2.4.1...v2.4.2 +[2.4.1]: https://github.com/czlonkowski/n8n-mcp/compare/v2.4.0...v2.4.1 +[2.4.0]: https://github.com/czlonkowski/n8n-mcp/compare/v2.3.3...v2.4.0 +[2.3.3]: https://github.com/czlonkowski/n8n-mcp/compare/v2.3.2...v2.3.3 +[2.3.2]: https://github.com/czlonkowski/n8n-mcp/compare/v2.3.1...v2.3.2 +[2.3.1]: https://github.com/czlonkowski/n8n-mcp/compare/v2.3.0...v2.3.1 +[2.3.0]: https://github.com/czlonkowski/n8n-mcp/compare/v2.2.0...v2.3.0 +[2.2.0]: https://github.com/czlonkowski/n8n-mcp/compare/v2.1.0...v2.2.0 +[2.1.0]: https://github.com/czlonkowski/n8n-mcp/compare/v2.0.0...v2.1.0 +[2.0.0]: https://github.com/czlonkowski/n8n-mcp/compare/v1.0.0...v2.0.0 +[1.0.0]: https://github.com/czlonkowski/n8n-mcp/releases/tag/v1.0.0 \ No newline at end of file diff --git a/README.md b/README.md index 6c59412..65af367 100644 --- a/README.md +++ b/README.md @@ -529,62 +529,6 @@ Current database coverage (n8n v1.99.1): - ✅ **ENHANCED**: Error messages with clear guidance and examples - ✅ **PREVENTS**: Broken workflows that show as question marks in n8n UI -### v2.6.1 - Enhanced typeVersion Validation -- ✅ **NEW**: typeVersion validation for all versioned nodes -- ✅ **CATCHES**: Missing typeVersion with correct version suggestions -- ✅ **WARNS**: Outdated node versions in use -- ✅ **PREVENTS**: Invalid versions that exceed maximum supported -- ✅ **HELPS**: AI agents avoid common workflow creation mistakes - -### v2.6.0 - n8n Management Tools Integration -- ✅ **NEW**: 14 n8n management tools for complete workflow lifecycle -- ✅ **NEW**: Create, update, execute workflows via API -- ✅ **NEW**: Webhook workflow triggering support -- ✅ **NEW**: Execution monitoring and management -- ✅ **INTEGRATED**: n8n-manager-for-ai-agents functionality -- ✅ **OPTIONAL**: Only enabled when N8N_API_URL and N8N_API_KEY configured - -### v2.5.1 - AI Tool Support Enhancement -- ✅ **NEW**: AI tool connection validation in workflows -- ✅ **NEW**: `get_node_as_tool_info` - Guidance for using ANY node as AI tool -- ✅ **ENHANCED**: `get_node_info` now includes aiToolCapabilities section -- ✅ **IMPROVED**: Workflow validation understands ai_tool connections -- ✅ **ADDED**: $fromAI() expression validation for dynamic AI parameters -- ✅ **CLARIFIED**: ANY node can be used as an AI tool, not just usableAsTool nodes - -### v2.5.0 - Complete Workflow Validation -- ✅ **NEW**: `validate_workflow` - Validate entire workflows before deployment -- ✅ **NEW**: `validate_workflow_connections` - Check workflow structure -- ✅ **NEW**: `validate_workflow_expressions` - Validate n8n expressions -- ✅ **NEW**: Cycle detection for workflows -- ✅ **NEW**: Expression syntax validation - -### v2.4.2 - Professional Validation System -- ✅ **NEW**: `validate_node_operation` - Operation-aware validation with 80% fewer false positives -- ✅ **NEW**: `validate_node_minimal` - Lightning-fast required field checking -- ✅ **NEW**: Validation profiles - Choose between minimal, runtime, ai-friendly, or strict -- ✅ **NEW**: Node validators for Webhook, Postgres, MySQL with SQL safety checks -- ✅ **IMPROVED**: Deduplicates errors, filters internal properties -- ✅ **ADDED**: Basic code syntax validation for JavaScript/Python -- ✅ **ADDED**: SQL injection detection and unsafe query warnings -- ✅ **FIXED**: Removed deprecated `validate_node_config` tool - -### v2.4.0 - AI-Optimized Tools & MIT License -- ✅ **NEW**: `get_node_essentials` - 95% smaller responses -- ✅ **NEW**: Task templates for common automations -- ✅ **NEW**: Configuration validation -- ✅ Fixed missing AI/LangChain documentation -- ✅ Changed to MIT License for wider adoption - -### v2.3.3 - Automated Updates -- ✅ Weekly automated n8n dependency updates -- ✅ GitHub Actions workflow -- ✅ AI-capable nodes: 35 → 263 - -### v2.3.0 - Universal Compatibility -- ✅ Works with ANY Node.js version -- ✅ Automatic database adapter fallback -- ✅ No manual configuration needed See [CHANGELOG.md](./docs/CHANGELOG.md) for full version history. diff --git a/n8n-docs b/n8n-docs deleted file mode 160000 index fea7a36..0000000 --- a/n8n-docs +++ /dev/null @@ -1 +0,0 @@ -Subproject commit fea7a3692ccc7c97afcb3fd65d01a747ecf1a881