409e92d6ae
Build and Push Docker Images / Build Docker Image (push) Has been cancelled
Build and Push Docker Images / Build Railway Docker Image (push) Has been cancelled
Build and Publish n8n Docker Image / test-image (push) Has been cancelled
Dependency Compatibility Check / Fresh Install Dependency Check (push) Has been cancelled
Build and Publish n8n Docker Image / build-and-push (push) Has been cancelled
Build and Publish n8n Docker Image / create-release (push) Has been cancelled
Automated Release / Detect Version Change (push) Has been cancelled
Automated Release / Generate Release Notes (push) Has been cancelled
Automated Release / Create GitHub Release (push) Has been cancelled
Automated Release / Package MCPB Bundle (push) Has been cancelled
Automated Release / Build and Verify (push) Has been cancelled
Automated Release / Publish to NPM (push) Has been cancelled
Automated Release / Build and Push Docker Images (push) Has been cancelled
Automated Release / Update Documentation (push) Has been cancelled
Automated Release / Notify Release Completion (push) Has been cancelled
Secret Scan / secretlint (push) Has been cancelled
Test Suite / test (push) Has been cancelled
Test Suite / cjs-runtime (push) Has been cancelled
Test Suite / publish-results (push) Has been cancelled
2.6 KiB
2.6 KiB
Contributing
Contributions are welcome! Here's how to get started.
Getting Started
- Fork the repository
- Allow the maintainer to push to your fork - When creating your PR, check "Allow edits by maintainers". This speeds up the review process and allows the maintainer to make small adjustments directly.
- Create a feature branch (
git checkout -b feature/your-feature) - Make your changes
- Run tests (
npm test) - Submit a pull request
Local Development Setup
Prerequisites:
- Node.js (any version - automatic fallback if needed)
- npm or yarn
- Git
# 1. Clone the repository
git clone https://github.com/czlonkowski/n8n-mcp.git
cd n8n-mcp
# 2. Clone n8n docs (optional but recommended)
git clone https://github.com/n8n-io/n8n-docs.git ../n8n-docs
# 3. Install and build
npm install
npm run build
# 4. Initialize database
npm run rebuild
# 5. Start the server
npm start # stdio mode for Claude Desktop
npm run start:http # HTTP mode for remote access
Development Commands
# Build & Test
npm run build # Build TypeScript
npm run rebuild # Rebuild node database
npm run validate # Validate node data (includes critical-node checks)
npm test # Run all tests
# Update Dependencies
npm run update:n8n:check # Check for n8n updates
npm run update:n8n # Update n8n packages
# Run Server
npm run dev # Development with auto-reload
npm run dev:http # HTTP dev mode
Testing
The project includes a comprehensive test suite:
# Run all tests
npm test
# Run tests with coverage report
npm run test:coverage
# Run tests in watch mode
npm run test:watch
# Run specific test suites
npm run test:unit # Unit tests
npm run test:integration # Integration tests
Test Architecture
- Unit Tests: Isolated component testing with mocks (services, parsers, database, MCP tools, HTTP server)
- Integration Tests: Full system behavior validation (n8n API, MCP protocol, database, templates, Docker)
- Framework: Vitest
- API Mocking: MSW
- CI/CD: Automated testing on all PRs with GitHub Actions
Automated Releases (For Maintainers)
This project uses automated releases triggered by version changes:
# Guided release preparation
npm run prepare:release
# Test release automation
npm run test:release-automation
The system automatically handles GitHub releases, NPM publishing, multi-platform Docker images, and documentation updates.
See Automated Release Guide for details.