An MCP middleware that acts as both a server (to Claude) and a client (to servers under test) for testing MCP servers during development.
The MCP Test Client has a dual role:
- It's a server registered with Claude that exposes tools for testing
- It's a client that connects to and tests other MCP servers
┌─────────────┐ ┌───────────────────┐ ┌────────────────┐
│ │ Tools │ │ Client │ │
│ Claude │─────────>│ MCP Test Client │─────────>│ Server Under │
│ │ │ │ │ Test │
└─────────────┘ └───────────────────┘ └────────────────┘
This architecture lets you test MCP servers without registering them directly with Claude.
- Deploy MCP servers to test environments
- Call individual tools with custom arguments
- Run automated test suites
- View server logs
- Test servers before formal registration with Claude
The MCP Test Client is implemented with:
- Process Management: Spawns and manages MCP server processes
- MCP SDK Client: Uses the official MCP SDK to communicate with servers
- Custom Transport: Implements a custom transport for stdio communication
- Test Execution: Runs tests and validates responses
- CLI Interface: Provides an interactive testing interface
The current implementation is Phase 1 of the design plan, with future enhancements planned for Phases 2 and 3.
# Install dependencies
npm install
# Build the TypeScript project
npm run build