README.mdβ’1.8 kB
# 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
```bash
# 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
1. The InMemoryTransport from MCP SDK has some limitations with connection lifecycle
2. Tests use the actual database, so they require `data/nodes.db` to exist
3. Some tests are currently skipped due to transport issues (being worked on)
## Future Improvements
1. Mock the database for true unit testing
2. Add WebSocket transport tests
3. Add authentication/authorization tests
4. Add rate limiting tests
5. Add more performance benchmarks