Files
n8n-mcp/tests/integration/mcp-protocol
czlonkowski 13b8abaafb fix: cleanup stale references and update tests after tool removal
- Remove handleListAvailableTools dead code from handlers-n8n-manager.ts
- Update error messages to reference n8n_health_check(mode="diagnostic") instead of n8n_diagnostic
- Update tool counts in diagnostic messages (14 doc tools, 31 total)
- Fix error-handling.test.ts to use valid tools (search_nodes, tools_documentation)
- Remove obsolete list-tools.test.ts integration tests
- Remove unused ListToolsResponse type from response-types.ts
- Update tools.ts QUICK REFERENCE to remove list_nodes references
- Update tools-documentation.ts to remove references to removed tools
- Update tool-docs files to remove stale relatedTools references
- Fix tools.test.ts to not test removed tools (list_nodes, list_ai_tools, etc.)
- Fix parameter-validation.test.ts to not test removed tools
- Update handlers-n8n-manager.test.ts error message expectations

All 399 MCP unit tests now pass.

Conceived by Romuald Członkowski - www.aiadvisors.pl/en

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-11-25 00:51:33 +01:00
..

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

  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