- Update axios to 1.7.2 and zod to 3.23.8 for better stability
- Add fast AMD64-only workflow for testing (docker-build-fast.yml)
- Fix multi-platform build issues with better-sqlite3 native compilation
The multi-platform builds were hanging due to better-sqlite3 requiring
native compilation for each platform. This provides a workaround.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added environment variables (MCP_MODE, LOG_LEVEL, DISABLE_CONSOLE_OUTPUT) to local installation config
- These settings ensure proper stdio communication and clean output for Claude Desktop
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace "Docker Desktop" prerequisite with generic "Docker installed"
- Add detailed Docker installation instructions for macOS, Linux, and Windows
- Include package manager options (Homebrew, apt-get, winget, Chocolatey)
- Add Docker verification command
- Update related documentation files for consistency
- Use collapsible section to keep Quick Start clean
Now users understand they can use any Docker installation method, not just Docker Desktop.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update n8n version from v1.97.1 to v1.99.1 in README
- Fix 7 broken documentation links to point to existing files
- Standardize Docker image size to ~280MB across all docs (was inconsistent: 150MB/200MB/283MB)
- Add missing npm scripts for test commands (test:essentials, test:enhanced-validation, etc.)
- Update CHANGELOG.md with missing versions 2.4.0 through 2.5.1
- Update README_CLAUDE_SETUP.md to list all 21+ MCP tools (was only showing 6)
- Document 5 additional npm scripts in CLAUDE.md
- Update AI-capable nodes count to 263 (was 35 in old docs)
All documentation now accurately reflects the current codebase state.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add comprehensive AI tools guide in start_here_workflow_guide
- New 'ai_tools' topic with detailed AI workflow patterns
- Key insight: ANY node can be used as an AI tool
- $fromAI() expression examples and best practices
- AI tool connection validation guidance
- Update recommended workflow to include validate_node_minimal
- Quick required fields check before full validation
- Performance tips for validation tools
- Enhance Claude Project Setup instructions
- Clear 5-phase workflow process
- Emphasis on AI tool integration
- Validation best practices
- Better tool usage examples
- Add validation_guide section to workflow guide
- When to use each validation tool
- Performance considerations
- AI workflow validation patterns
These updates make it much clearer how to use the MCP tools effectively,
especially for AI workflows where ANY node can be connected as a tool.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Update tool descriptions to clarify ANY node can be used as AI tool
- Add get_node_as_tool_info to available tools in README
- Enhance workflow validation tool descriptions for AI connections
- Update README with v2.5.1 release notes
- Remove redundant _General__Scrape_with_HTTP_tool.json file
- Bump version to 2.5.1 in package.json
The key insight: ANY n8n node can be connected to an AI Agent's tool
port, not just those marked with usableAsTool=true. This update makes
that clear throughout the documentation and tool descriptions.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Phase 2 Professional Validation Features:
1. Validation Profiles:
- minimal: Only required fields
- runtime: Critical errors + security warnings
- ai-friendly: Balanced (default)
- strict: All checks + best practices
2. New Node Validators:
- Webhook: Path validation, response modes, auth warnings
- PostgreSQL: SQL injection detection, query safety
- MySQL: Similar to Postgres with MySQL-specific checks
3. New Tools:
- validate_node_minimal: Lightning-fast required field checking
- Updated validate_node_operation with profile support
4. SQL Safety Features:
- Detects template expressions vulnerable to injection
- Warns about DELETE/UPDATE without WHERE
- Catches dangerous operations (DROP, TRUNCATE)
- Suggests parameterized queries
5. Enhanced Coverage:
- Now supports 7+ major nodes with specific validators
- Flexible validation based on use case
- Professional-grade safety checks
This completes the major validation system overhaul from the original plan.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Update version badge to 2.4.2
- Replace validate_node_config with validate_node_operation in docs
- Add v2.4.2 release notes highlighting validation improvements
- Update Claude Project Setup instructions to use new tool
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
Major optimization that reduces Docker image size by 87% and build time by 10x:
- Remove ALL n8n dependencies from runtime Docker image
- Add package.runtime.json with only 5 essential runtime deps
- Optimize Dockerfile to build TypeScript without n8n packages
- Add BuildKit optimizations with cache mounts
- Update documentation to highlight the improvements
Results:
- Image size: ~1.5GB → ~200MB (87% reduction)
- Build time: ~12 minutes → ~1-2 minutes
- No n8n version conflicts at runtime
- Better security with minimal attack surface
The key insight is that since we always rebuild the database locally
before deployment, the Docker runtime never needs n8n packages.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed the initialization timeout issue with minimal changes:
1. Added stdout flush after server connection to combat Docker buffering
2. Fixed docker-entrypoint.sh to not output to stdout in stdio mode
3. Added process.stdin.resume() to keep server alive
4. Added IS_DOCKER environment variable for future use
5. Updated README to prioritize Docker with correct -i flag configuration
The core issue was Docker's block buffering preventing immediate JSON-RPC
responses. The -i flag maintains stdin connection, and explicit flushing
ensures responses reach Claude Desktop immediately.
Also fixed "Shutting down..." message that was breaking JSON-RPC protocol
by redirecting it to stderr in stdio mode.
Docker is now the recommended installation method as originally intended.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Based on debugging MCP initialization timeout issues:
1. Changed Quick Start to prioritize local installation (working)
2. Moved Docker to Option 2 with experimental warning
3. Added detailed explanation of Docker timeout issue:
- Server receives initialize request but doesn't respond
- Claude times out after 60 seconds
- Container outputs "Shutting down..." breaking JSON-RPC
4. Removed non-existent npx package reference
5. Consolidated configuration file locations
6. Removed HTTP server section from Quick Start (keep it simple)
The Docker issue appears to be related to MCP protocol handling in the
container environment. Local installation works reliably, so that's now
the recommended approach until Docker issues are resolved.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Fixed multiple issues preventing n8n-MCP from working with Claude Desktop:
1. Removed --pull always flag that caused:
- Multiple simultaneous container starts
- Image pulling during JSON-RPC communication
- Timeout errors and connection failures
2. Added --name flag to prevent duplicate containers
3. Added explicit docker pull step to ensure image is ready
4. Proper step numbering for clear setup flow
The logs showed 'Shutting down...' breaking JSON-RPC communication and
multiple containers trying to start simultaneously. This configuration
ensures single, stable container execution.
Tested configuration now works reliably with Claude Desktop.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major simplification of Docker setup:
- Removed unnecessary docker-compose.yml creation (was causing conflicts)
- Removed volume mounting (not needed for stateless MCP)
- Added --pull always to ensure latest version
- Separated Claude Desktop setup from HTTP server setup
- Fixed the fundamental issue: can't mix service mode with interactive mode
The new approach:
- Claude Desktop: Simple docker run with stdio mode
- HTTP Server: Separate section for team deployments
- No volume conflicts or container name issues
- Works immediately without any prep work
This fixes the configuration that wouldn't work due to:
1. Docker Compose running as daemon vs Claude needing interactive
2. Named volume dependencies
3. Container conflicts
Now it's truly a 5-minute setup with just copy-paste.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added Node.js prerequisite for Option 2: Local Installation (any version)
- Added Node.js 18+ prerequisite for Option 3: Remote Server
- Added prerequisites section to Local Development Setup
- Clarified that any Node.js version works for local installation due to automatic fallback
This ensures users know they need Node.js installed before attempting local installations.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major improvements:
- Fixed "95% smaller" to user-friendly "10-20 properties instead of 200+"
- Reorganized documentation section with clear categories:
- Setup Guides
- Usage & Best Practices
- Technical Documentation
- Troubleshooting
- Added comprehensive Claude Project system instructions
- Step-by-step workflow for using MCP tools
- Best practices for n8n automation
- Example workflow demonstration
- Created .github/ABOUT.md for GitHub repository description
- Clear value proposition
- Impact metrics
- Use cases and quick start
The Claude Project instructions provide a complete template for optimal
n8n workflow creation, emphasizing the correct tool usage order and
documentation-first approach.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added missing `start_here_workflow_guide` tool to Core Tools list
- Added beta warnings for HTTP mode in two places:
- Option 3: Remote Server (Beta)
- Production Deployment section
- Tool list now accurately reflects all 13 available tools
- Clear warning that HTTP mode is under development and not thoroughly tested
This ensures users are aware of the experimental nature of HTTP mode
while still providing the functionality for those who need it.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major reorganization to improve onboarding and clarity:
Structure changes:
- Moved Claude testimonial up after Overview for immediate social proof
- Quick Start now Docker-first with exact commands (5-minute setup)
- Added Docker Desktop prerequisite
- Features section moved after Quick Start
- Reorganized MCP tools into Core/Advanced categories
- Simplified Claude Desktop configuration with 3 clear options
- Separated Local Development from Quick Start
- Added Production Deployment section for teams
- Updated metrics with performance data
- Added centered footer with community message
Content improvements:
- Clearer docker-compose.yml creation commands
- Exact file paths for Claude Desktop config
- Updated tool examples focusing on essentials
- Consolidated recent updates
- Better categorization of documentation links
The README now provides a smoother path from discovery to deployment,
with Docker as the primary recommended approach.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added compelling testimonial section after Overview
- Created full interview document in docs/CLAUDE_INTERVIEW.md
- Added quick quote at the top: "Before MCP, I was translating. Now I'm composing."
- Highlights real-world impact: 45 minutes → 3 minutes workflow creation
- Shows concrete before/after examples with 6 errors → 0 errors
- Demonstrates value beyond just time savings (confidence, discovery, peace of mind)
The testimonial provides social proof and helps users understand the practical
benefits of n8n-MCP through a relatable first-person experience.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Changed from Sustainable Use License to MIT License
- Added attribution to Romuald Czlonkowski @ www.aiadvisors.pl/en
- Created ATTRIBUTION.md with easy attribution examples
- Updated package.json, README.md, and CLAUDE.md
- Added GitHub stars badge to encourage community support
- Bumped version to 2.4.0 to mark this significant change
This change allows:
✅ Unrestricted use in personal and commercial projects
✅ Easy integration into corporate environments
✅ Freedom to modify and distribute
✅ Hosting as a service without restrictions
The project remains focused on helping n8n builders work more efficiently.
🤖 Generated with Claude Code
Co-Authored-By: Claude <noreply@anthropic.com>
- Fixed console output interference with stdio JSON-RPC protocol:
- Modified logger to suppress ALL output in stdio mode
- Added DISABLE_CONSOLE_OUTPUT environment variable support
- Updated error handlers to respect stdio mode
- Updated Claude Desktop configuration documentation:
- Added required environment variables for clean stdio communication
- Promoted local installation as recommended method
- Fixed remote connection instructions (removed broken mcp-remote)
- Added troubleshooting section for common issues
- Updated both README.md and docs/README_CLAUDE_SETUP.md
- Environment variables now required for stdio mode:
- MCP_MODE=stdio
- LOG_LEVEL=error
- DISABLE_CONSOLE_OUTPUT=true
- NODE_ENV=production
This ensures clean JSON-RPC communication without console output corruption.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated CLAUDE.md with v2.3.3 achievements and metrics
- Updated README.md with new node counts and v2.3.3 features
- Added comprehensive CHANGELOG.md entry for v2.3.3
- Bumped version in package.json to 2.3.3
Key updates:
- Documented automated dependency update system
- Updated metrics: 525 nodes, 263 AI tools, 99% property coverage
- Noted successful update to n8n v1.97.1
- Documented validation script fixes
- Fixed node type references to match database format (e.g., 'nodes-base.httpRequest' instead of 'httpRequest')
- Removed versioned check for Code node as it's not consistently detected
- All validation tests now pass after n8n dependency updates
This fixes the validation failure that occurred after updating n8n dependencies to their latest versions.
- Updated README.md with clear setup instructions and recent updates
- Simplified Claude Desktop setup guide with troubleshooting
- Enhanced HTTP deployment guide for production use
- Streamlined troubleshooting guide with quick fixes
- Added mcp-http-client.js for Node.js 16 compatibility
- Fixed stdio mode console output corruption
Key improvements:
- Clear distinction between local and remote deployment
- Node.js 18+ requirement for mcp-remote clearly documented
- USE_FIXED_HTTP=true prominently featured for v2.3.2
- Production deployment best practices
- Multi-user service considerations
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major documentation cleanup and updates:
Updates:
- Add USE_FIXED_HTTP=true to all Docker and HTTP deployment examples
- Update main README with v2.3.2 release notes and version badges
- Add HTTP server troubleshooting section for stream errors
- Update CHANGELOG with v2.3.1 and v2.3.2 entries
- Update all configuration examples (.env.example, docker-compose.yml)
- Add clear instructions for using the fixed HTTP implementation
Removed legacy documentation (11 files):
- Implementation plans that have been completed
- Architecture analysis documents
- Intermediate fix documentation
- Planning documents for features now implemented
- Duplicate SETUP.md (content merged into INSTALLATION.md)
The documentation now accurately reflects the current v2.3.2 state
with the complete HTTP server fix using USE_FIXED_HTTP=true.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Rename Dockerfile.optimized to Dockerfile (now the default)
- Keep old Dockerfile as Dockerfile.old for reference
- Update GitHub Actions to use default Dockerfile
- Remove build-full job - only one image variant now
- Remove docker-compose.optimized.yml and other variants
- Update all documentation to reflect single image approach
The optimized 283MB image is now the only n8n-MCP Docker image.
This simplifies the user experience and provides the best solution
for all use cases.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Change main build to use Dockerfile.optimized (targets ~200MB image)
- Add separate 'full' build job for development variant (2.6GB)
- Update tagging strategy: 'latest' for optimized, 'full' suffix for full variant
- Update documentation to reflect dual image strategy
- Update docker-compose.yml with variant selection comment
This provides users with two options:
- Optimized (default): Pre-built database, minimal size, for production
- Full: Complete n8n packages, dynamic scanning, for development
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- HTTP_REMOTE_DEPLOYMENT_PLAN.md: High-level architecture and implementation plan
- HTTP_IMPLEMENTATION_GUIDE.md: Detailed technical implementation with code examples
- HTTP_IMPLEMENTATION_ROADMAP.md: Day-by-day implementation checklist and milestones
- HTTP_REMOTE_SUMMARY.md: Executive summary with key findings and recommendations
- Updated README.md with references to future HTTP deployment plans
Key findings:
- Claude Desktop currently only supports stdio transport (local execution)
- mcp-remote adapter enables remote server connectivity as a bridge solution
- Implementation requires adding StreamableHTTPServerTransport support
- Dual-mode operation will maintain backward compatibility
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Separate configuration sections for local (stdio) and HTTP modes
- Fix variable names: MCP_SERVER_PORT/HOST for local mode
- Change default NODE_DB_PATH to ./data/nodes-v2.db for local dev
- Add missing REBUILD_ON_START variable
- Set NODE_ENV to development by default
- Add clear comments explaining which mode uses which variables
- Update README with cp .env.example .env step
The .env.example now properly supports both deployment modes
and will work out of the box when copied to .env.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Replace ISC license with Sustainable Use License v1.0
- Add LICENSE_FAQ.md explaining the fair-code approach
- Update package.json with new license identifier
- Add license headers to main entry point files
- Update README with clear license usage guidelines
Following n8n's licensing approach, this provides:
- Free use for internal business purposes
- Free use for personal/non-commercial projects
- Restrictions on hosting as a service
- Protection against commercial exploitation
No .ee. mechanism implemented yet - all features remain
freely available under the single license.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Add HTTP/JSON-RPC server for remote MCP access
- Configure domain and authentication via environment variables
- Create comprehensive remote deployment documentation
- Support both local (stdio) and remote (HTTP) deployment modes
- Add PM2 and Nginx configuration examples
- Update README with remote server instructions
The server can now be deployed on a VM (e.g., Hetzner) and accessed
from Claude Desktop over HTTPS using the configured domain.
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
Major refactoring to align with actual requirements:
- Purpose: Serve n8n node code/documentation to AI agents only
- No workflow execution or management features
- Complete node information including source code, docs, and examples
New features:
- Node documentation service with SQLite FTS5 search
- Documentation fetcher from n8n-docs repository
- Example workflow generator for each node type
- Simplified MCP tools focused on node information
- Complete database rebuild with all node data
MCP Tools:
- list_nodes: List available nodes
- get_node_info: Get complete node information
- search_nodes: Full-text search across nodes
- get_node_example: Get usage examples
- get_node_source_code: Get source code only
- get_node_documentation: Get documentation only
- rebuild_database: Rebuild entire database
- get_database_statistics: Database stats
Database schema includes:
- Node source code and metadata
- Official documentation from n8n-docs
- Generated usage examples
- Full-text search capabilities
- Category and type filtering
Updated README with:
- Clear purpose statement
- Claude Desktop installation instructions
- Complete tool documentation
- Troubleshooting guide
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Added step-by-step guide for installing MCP server in Claude Desktop
- Included platform-specific config file locations
- Added instructions for getting n8n API key
- Provided complete example configuration
- Enhanced troubleshooting section with Claude-specific issues
- Added verification steps to confirm successful setup
Major features implemented:
- SQLite storage service with FTS5 for fast node search
- Database rebuild mechanism for bulk node extraction
- MCP tools: search_nodes, extract_all_nodes, get_node_statistics
- Production Docker deployment with persistent storage
- Management scripts for database operations
- Comprehensive test suite for all functionality
Database capabilities:
- Stores node source code and metadata
- Full-text search by node name or content
- No versioning (stores latest only as per requirements)
- Supports complete database rebuilds
- ~4.5MB database with 500+ nodes indexed
Production features:
- Automated deployment script
- Docker Compose production configuration
- Database initialization on first run
- Volume persistence for data
- Management utilities for operations
Documentation:
- Updated README with complete instructions
- Production deployment guide
- Clear troubleshooting section
- API reference for all new tools
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
- Updated CLAUDE.md with complete project state and capabilities
- Enhanced README.md with node extraction features and examples
- Added CHANGELOG.md to track version history
- Documented new MCP tools and resources for node source extraction
- Added special features section highlighting AI Agent capabilities
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
This commit adds a complete integration between n8n workflow automation and the Model Context Protocol (MCP):
Features:
- MCP server that exposes n8n workflows as tools, resources, and prompts
- Custom n8n node for connecting to MCP servers from workflows
- Bidirectional bridge for data format conversion
- Token-based authentication and credential management
- Comprehensive error handling and logging
- Full test coverage for core components
Infrastructure:
- TypeScript/Node.js project setup with proper build configuration
- Docker support with multi-stage builds
- Development and production docker-compose configurations
- Installation script for n8n custom node deployment
Documentation:
- Detailed README with usage examples and API reference
- Environment configuration templates
- Troubleshooting guide
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>