Quick Start Guide
Quick Start Guide
Get your MCP Client Tester environment running in just a few minutes using Docker Compose. This guide will walk you through the essential setup and your first testing session.
Prerequisites
Before you begin, ensure you have:
- Docker (version 20.10 or later)
- Docker Compose (version 2.0 or later)
- Git for cloning the repository
- A domain or localhost setup for testing
Installation
-
Clone the Repository
Terminal window git clone https://github.com/your-org/mcp-client-test.gitcd mcp-client-test -
Configure Environment
Copy the example environment file and customize it:
Terminal window cp .env.example .envEdit
.envwith your preferred domain:Terminal window # Project ConfigurationCOMPOSE_PROJECT_NAME=mcp-client-testerDOMAIN=mcp-tester.local # Change to your domain# Server ConfigurationMCP_SERVER_NAME=MCP Client TesterMCP_LOG_LEVEL=DEBUG# FrontendPUBLIC_DOMAIN=mcp-tester.localPUBLIC_API_URL=https://api.mcp-tester.local -
Set up Caddy Network
Create the external Caddy network if it doesn’t exist:
Terminal window docker network create caddy 2>/dev/null || true -
Start the Services
Launch all services using Docker Compose:
Terminal window docker compose up -dThis starts:
- Backend: FastAPI server with MCP implementation
- Frontend: Web interface for monitoring
- Docs: This documentation site
- Database: PostgreSQL for session storage
- Worker: Background task processing
-
Verify Installation
Check that all services are running:
Terminal window docker compose psYou should see all services in “Up” status.
First Test Session
Now let’s run your first MCP testing session to verify everything is working correctly.
-
Access the Web Interface
Open your browser and navigate to:
- Main App:
https://mcp-tester.local(or your configured domain) - Documentation:
https://docs.mcp-tester.local - API:
https://api.mcp-tester.local/docs
- Main App:
-
Start a Test Session
In the web interface:
- Click “New Session”
- Select “STDIO Transport” for your first test
- Configure connection parameters
- Click “Start Session”
-
Connect with a Test Client
Use our built-in test client or connect with your own MCP client:
Terminal window # Using the built-in test clientdocker compose exec backend python -m app.clients.test_client \--transport stdio \--session-id your-session-id -
Monitor the Session
In the web interface, you should see:
- Real-time protocol messages
- Client detection information
- Session statistics
- Tool and resource interactions
Understanding the Interface
The MCP Client Tester web interface provides several key areas:
Dashboard Overview
- Active Sessions: Current client connections and their status
- Protocol Statistics: Message counts, error rates, performance metrics
- Client Registry: Detected clients and their capabilities
- Recent Activity: Latest protocol interactions
Session Details
- Protocol Log: Complete request/response history with timestamps
- Client Information: Detected client type, version, capabilities
- Performance Metrics: Connection timing, message throughput
- Tool Usage: Invoked tools and their parameters/results
Monitoring Tools
- Live Updates: Real-time WebSocket updates of protocol activity
- Filtering: Filter messages by type, tool, or time range
- Export: Download session data for offline analysis
- Alerts: Notifications for errors or unusual activity
Testing Different Transports
MCP Client Tester supports all major MCP transport protocols:
STDIO Transport
# Connect via STDIO (recommended for development)your-mcp-client --transport stdio --server "docker compose exec backend python -m app.mcp.server"HTTP Transport
# Connect via HTTPyour-mcp-client --transport http --endpoint "https://api.mcp-tester.local/mcp"Server-Sent Events (SSE)
# Connect via SSEyour-mcp-client --transport sse --endpoint "https://api.mcp-tester.local/mcp/sse"HTTP Streaming
# Connect via HTTP streamingyour-mcp-client --transport http-streaming --endpoint "https://api.mcp-tester.local/mcp/stream"Common Test Scenarios
Here are some common scenarios to test with your MCP implementation:
Basic Protocol Features
- Connection Handshake: Verify proper initialization sequence
- Tool Discovery: Test
tools/listandtools/callfunctionality - Resource Access: Test
resources/listandresources/read - Prompt Templates: Test
prompts/listandprompts/get
Advanced Features
- Progress Reporting: Test long-running operations with progress updates
- Cancellation: Test operation cancellation and cleanup
- Sampling: Test server-initiated LLM sampling requests
- Elicitation: Test server-initiated user input requests
Error Conditions
- Invalid Requests: Send malformed protocol messages
- Missing Tools: Call non-existent tools
- Permission Errors: Test access control and authorization
- Network Issues: Test connection failure and recovery
Next Steps
Now that you have MCP Client Tester running:
Learn the Interface
Explore the web interface features and monitoring capabilities.
Web Interface Guide →
Troubleshooting
If you encounter issues during setup:
- Services not starting: Check
docker compose logsfor error messages - Domain not resolving: Verify your DNS/hosts file configuration
- Permission errors: Ensure Docker has proper permissions
- Port conflicts: Check if ports 80/443 are available for Caddy
For detailed troubleshooting, see our Troubleshooting Guide.
Congratulations! You now have a fully functional MCP Client Tester environment. Start exploring the interface and testing your MCP implementations.