MCP Probe is a powerful Terminal User Interface (TUI) for debugging, testing, and interacting with Model Context Protocol (MCP) servers. It provides an intuitive, feature-rich alternative to command-line MCP inspectors with real-time protocol analysis, capability discovery, and interactive tool execution.
┌─────────────────────────────────────────────────────────────────────────────────┐
│ 🔍 MCP PROBE ARCHITECTURE │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ ┌─────────────────┐ ┌─────────────────┐ ┌─────────────────┐ │
│ │ 🖥️ TUI │ │ 🔌 Transport │ │ 🔧 MCP Server │ │
│ │ Interface │◄──►│ Layer │◄──►│ (Any impl.) │ │
│ │ │ │ │ │ │ │
│ │ • Capabilities │ │ • HTTP/SSE │ │ • Tools (373+) │ │
│ │ • Search │ │ • WebSocket │ │ • Resources │ │
│ │ • Response View │ │ • STDIO │ │ • Prompts │ │
│ │ • Debugging │ │ • TCP │ │ │ │
│ └─────────────────┘ └─────────────────┘ └─────────────────┘ │
│ │ │ │ │
│ ▼ ▼ ▼ │
│ ┌─────────────────────────────────────────────────────────────────────────────┤
│ │ 📊 REAL-TIME PROTOCOL ANALYSIS │
│ │ • Message Tracing • Session Management • Error Detection │
│ │ • JSON Validation • Response Formatting • Performance Metrics │
│ └─────────────────────────────────────────────────────────────────────────────┘
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
| Feature | Traditional CLI Tools | MCP Probe TUI |
|---|---|---|
| Capability Discovery | Manual JSON parsing | 🎯 Interactive browsing with search |
| Tool Execution | Complex curl commands | 🖱️ Point-and-click with parameter forms |
| Response Analysis | Raw JSON dumps | 📊 Multi-format viewer (Tree/Summary/Raw) |
| Error Debugging | Scattered logs | 🔍 Centralized error tracking with suggestions |
| Session Management | Stateless commands | 💾 Persistent sessions with history |
| Multi-Transport | Single transport focus | 🔌 HTTP/SSE, WebSocket, STDIO, TCP support |
| Real-time Monitoring | Snapshot-based | ⚡ Live protocol stream analysis |
MCP Probe offers multiple installation methods for your convenience:
Download the latest binary for your platform from GitHub Releases:
mcp-probe-x86_64-unknown-linux-gnu.tar.gzmcp-probe-aarch64-unknown-linux-gnu.tar.gzmcp-probe-x86_64-apple-darwin.tar.gzmcp-probe-aarch64-apple-darwin.tar.gzmcp-probe-x86_64-pc-windows-msvc.zipcurl -fsSL https://raw.githubusercontent.com/conikeec/mcp-probe/master/install.sh | bash
Custom installation directory:
curl -fsSL https://raw.githubusercontent.com/conikeec/mcp-probe/master/install.sh | INSTALL_DIR=~/.local/bin bash
Install specific version:
curl -fsSL https://raw.githubusercontent.com/conikeec/mcp-probe/master/install.sh | VERSION=v0.1.55 bash
# Add the tap
brew tap conikeec/tap
# Install mcp-probe
brew install mcp-probe
# Or in one command
brew install conikeec/tap/mcp-probe
Update:
brew upgrade mcp-probe
cargo install mcp-cli
Note: The binary will be named mcp-probe even though the crate is mcp-cli.
# Clone the repository
git clone https://github.com/conikeec/mcp-probe.git
cd mcp-probe
# Build and install
cargo build --release
cargo install --path .
# Or run directly
cargo run -- --help
All binaries are provided with SHA256 checksums. You can verify your download:
# Download checksum file
curl -LO https://github.com/conikeec/mcp-probe/releases/latest/download/mcp-probe-x86_64-unknown-linux-gnu.tar.gz.sha256
# Verify (Linux/macOS)
sha256sum -c mcp-probe-x86_64-unknown-linux-gnu.tar.gz.sha256
# Verify (macOS alternative)
shasum -a 256 -c mcp-probe-x86_64-apple-darwin.tar.gz.sha256
# Test with a local MCP server
cargo run -- debug --http-sse http://localhost:3000
# Connect to remote server
cargo run -- debug --http-sse https://api.example.com/mcp
# Use WebSocket transport
cargo run -- debug --websocket ws://localhost:8080/mcp
# STDIO mode for local development
cargo run -- debug --stdio python my_mcp_server.py
MCP Probe serves as a comprehensive MCP client for developers and integrators who need to interact with MCP servers programmatically or interactively.
# Basic connection with default settings
mcp-probe debug --http-sse http://localhost:3000
# Advanced configuration
mcp-probe debug \
--http-sse http://localhost:3000 \
--timeout 30 \
--max-retries 3 \
--session-file my_session.json
┌─────────────────────────────────────────────────────────────────────────────────┐
│ 🎮 INTERACTIVE CLIENT WORKFLOW │
├─────────────────────────────────────────────────────────────────────────────────┤
│ │
│ 1️⃣ DISCOVERY PHASE │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ ┌─ Connection ─┐ ┌─ Capabilities ─┐ ┌─ Search & Filter ─┐ │ │
│ │ │• Auto-detect │ │• Tools: 373 │ │• Fuzzy matching │ │ │
│ │ │• Protocol │ │• Resources: 1 │ │• Category filter │ │ │
│ │ │• Session ID │ │• Prompts: 3 │ │• Real-time index │ │ │
│ │ └──────────────┘ └─────────────────┘ └───────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ ▼ │
│ 2️⃣ INTERACTION PHASE │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ ┌─ Parameter Input ─┐ ┌─ Execution ─┐ ┌─ Response Analysis ─┐ │ │
│ │ │• Smart forms │ │• Real-time │ │• Multi-format view │ │ │
│ │ │• Type validation │ │• Progress │ │• Error highlighting │ │ │
│ │ │• Auto-completion │ │• Correlation │ │• Export options │ │ │
│ │ └───────────────────┘ └──────────────┘ └─────────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ ▼ │
│ 3️⃣ ANALYSIS PHASE │
│ ┌─────────────────────────────────────────────────────────────────────────┐ │
│ │ ┌─ Session Review ─┐ ┌─ Error Analysis ─┐ ┌─ Export & Share ─┐ │ │
│ │ │• Message history │ │• Root cause hints │ │• JSON export │ │ │
│ │ │• Timing metrics │ │• Fix suggestions │ │• Session replay │ │ │
│ │ │• Protocol trace │ │• Debug logs │ │• Report sharing │ │ │
│ │ └─────────────────────└───────────────────┘ └─────────────────┘ │ │
│ └─────────────────────────────────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────────────────────────────────┘
Fuzzy Search Engine: Find tools instantly among hundreds of capabilities
# Search examples (press '/' to activate)
/github # Find GitHub-related tools
/repo list # Find repository listing functions
/add_numbers # Direct tool name match
Auto-Parameter Detection: Intelligent form generation from JSON schemas
# Example: GitHub repo listing tool
┌─────────────────────────────────────┐
│ 📋 org (REQUIRED) [string] │
│ 💡 The organization name... │
│ > myorganization │
├─────────────────────────────────────┤
│ 📝 per_page (optional) [integer] │
│ 💡 Results per page (max 100) │
│ > 50 │
└─────────────────────────────────────┘
Direct Command Mode:
# Syntax: category.name {"param": "value"}
tools.add_numbers {"a": 10, "b": 20}
resources.readme_content
prompts.generate_docs {"style": "technical"}
Interactive Mode: Use TUI navigation for guided execution
Batch Mode: Execute multiple operations with session scripts
MCP Probe features a sophisticated protocol discovery system that automatically detects and adapts to different MCP protocol versions, providing seamless connectivity across the evolving MCP ecosystem.
Automatic Protocol Detection: MCP Probe automatically detects the protocol version based on endpoint patterns and server behavior, eliminating manual configuration.
# MCP Probe automatically detects the protocol version from these patterns:
mcp-probe debug --http-sse http://localhost:8931/mcp # Modern Streamable HTTP
mcp-probe debug --http-sse http://localhost:8931/sse # Legacy HTTP+SSE
mcp-probe debug --stdio python server.py # Standard Transport
| Protocol Version | Spec Date | Endpoints | Session Management | Transport Method | Status |
|---|---|---|---|---|---|
| Modern Streamable HTTP | 2025-03-26 | /mcp |
Mcp-Session-Id header |
HTTP/SSE Streaming | ✅ Current |
| Legacy HTTP+SSE | 2024-11-05 | /sse, /events |
sessionId query param |
HTTP + Server-Sent Events | ✅ Supported |
| Standard Transport | 2025-03-26 | stdio |
N/A (process-based) | Process I/O | ✅ Supported |
| WebSocket | 2025-03-26 | /ws, /websocket |
Connection-based | WebSocket frames | 🔄 Planned |
| TCP | 2025-03-26 | Raw socket | Connection-based | TCP stream | 🔄 Planned |
``` ┌─────────────────────────────────────────────────────────────────────────────────┐ │ 🌟 MODERN STREAMABLE HTTP WORKFLOW │ ├─────────────────────────────────────────────────────────────────────────────────┤ │ │ │ Client MCP Probe Server │ │ │ │ │ │ │ │ │ │ │ │ │──── 1. Connection ──────►│────── POST /mcp ──────────►│ │ │ │ │ Mcp-Session-Id: [auto] │ │ │ │ │ │ │ │ │◄─── Session Created ─────│◄───── 200 + Session ───────│ │ │ │ │ Mcp-Session-Id: abc123 │ │ │ │ │ │ │ │ │──── 2. Initialize ──────►│────── POST /mcp ──────────►│ │ │ │ │ Mcp-Session-Id: abc123 │ │ │ │ │ {"method": "initialize"} │ │ │ │ │ │ │ │ │◄─── Capabilities ────────│◄───── 200 OK ──────────────│ │ │ │ │ Server capabilities │ │ │
$ claude mcp add mcp-probe \
-- python -m otcore.mcp_server <graph>