mirror of
https://github.com/czlonkowski/n8n-mcp.git
synced 2026-03-18 08:23:07 +00:00
* chore: update n8n to 2.11.4 and bump version to 2.36.2 - Updated n8n from 2.10.3 to 2.11.4 - Updated n8n-core from 2.10.1 to 2.11.1 - Updated n8n-workflow from 2.10.1 to 2.11.1 - Updated @n8n/n8n-nodes-langchain from 2.10.1 to 2.11.2 - Updated @modelcontextprotocol/sdk from 1.20.1 to 1.27.1 (critical security fix) - Rebuilt node database with 1,239 nodes (809 core + 430 community preserved) - Updated README badge with new n8n version and node counts - Updated CHANGELOG with dependency changes Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(ci): update MCP SDK version check from 1.20.1 to 1.27.1 The dependency-check workflow was hardcoded to expect MCP SDK 1.20.1, causing CI failure after the intentional upgrade to 1.27.1. Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> * fix(tests): close existing connection before reconnecting in MCP protocol tests MCP SDK 1.27+ enforces single-connection per Server instance, throwing "Already connected to a transport" when connect() is called twice. Updated test helper to close existing connections before reconnecting. Conceived by Romuald Członkowski - https://www.aiadvisors.pl/en Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
MCP Protocol Integration Tests
This directory contains comprehensive integration tests for the Model Context Protocol (MCP) implementation in n8n-mcp.
Test Structure
Core Tests
- basic-connection.test.ts - Tests basic MCP server functionality and tool execution
- protocol-compliance.test.ts - Tests JSON-RPC 2.0 compliance and protocol specifications
- tool-invocation.test.ts - Tests all MCP tool categories and their invocation
- session-management.test.ts - Tests session lifecycle, multiple sessions, and recovery
- error-handling.test.ts - Tests error handling, edge cases, and invalid inputs
- performance.test.ts - Performance benchmarks and stress tests
Helper Files
- test-helpers.ts - TestableN8NMCPServer wrapper for testing with custom transports
Running Tests
# Run all MCP protocol tests
npm test -- tests/integration/mcp-protocol/
# Run specific test file
npm test -- tests/integration/mcp-protocol/basic-connection.test.ts
# Run with coverage
npm test -- tests/integration/mcp-protocol/ --coverage
Test Coverage
These tests ensure:
- ✅ JSON-RPC 2.0 protocol compliance
- ✅ Proper request/response handling
- ✅ All tool categories are tested
- ✅ Error handling and edge cases
- ✅ Session management and lifecycle
- ✅ Performance and scalability
Known Issues
- The InMemoryTransport from MCP SDK has some limitations with connection lifecycle
- Tests use the actual database, so they require
data/nodes.dbto exist - Some tests are currently skipped due to transport issues (being worked on)
Future Improvements
- Mock the database for true unit testing
- Add WebSocket transport tests
- Add authentication/authorization tests
- Add rate limiting tests
- Add more performance benchmarks