[![Terminal of week](https://terminaltrove.com/assets/media/terminal_trove_tool_of_the_week_green_on_dark_grey_bg.png)](https://terminaltrove.com/mcp-probe/) # ๐Ÿ” MCP Probe - Advanced MCP Protocol Debugger & Interactive Client [![Rust](https://img.shields.io/badge/rust-1.70+-orange.svg)](https://www.rust-lang.org) [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Version](https://img.shields.io/badge/version-0.1.0-green.svg)](Cargo.toml) ![CleanShot 2025-06-21 at 13 48 13@2x](https://github.com/user-attachments/assets/0d989e06-c852-4c02-a77a-9a451e366bbc) **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 โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ## ๐Ÿš€ Why MCP Probe? ### vs. Traditional MCP Inspector Tools | 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 | ### Key Advantages - **๐ŸŽฎ Interactive**: Navigate 373+ tools with fuzzy search and auto-completion - **๐Ÿ” Visual**: Color-coded responses, scrollable viewers, progress indicators - **๐Ÿ“Š Analytical**: Built-in protocol validation, message correlation, timing analysis - **๐Ÿ› ๏ธ Developer-Friendly**: Session export, parameter templates, debugging hints - **๐Ÿš€ Fast**: Rust-powered performance with async I/O and efficient TUI rendering --- ## ๐Ÿ“ฆ Installation MCP Probe offers multiple installation methods for your convenience: ### ๐Ÿ“ฅ Pre-built Binaries (Recommended) Download the latest binary for your platform from [GitHub Releases](https://github.com/conikeec/mcp-probe/releases/latest): - **Linux (x86_64)**: `mcp-probe-x86_64-unknown-linux-gnu.tar.gz` - **Linux (ARM64)**: `mcp-probe-aarch64-unknown-linux-gnu.tar.gz` - **macOS (Intel)**: `mcp-probe-x86_64-apple-darwin.tar.gz` - **macOS (Apple Silicon)**: `mcp-probe-aarch64-apple-darwin.tar.gz` - **Windows (x86_64)**: `mcp-probe-x86_64-pc-windows-msvc.zip` ### ๐ŸŒ One-liner Install (Linux/macOS) ```bash curl -fsSL https://raw.githubusercontent.com/conikeec/mcp-probe/master/install.sh | bash ``` **Custom installation directory:** ```bash curl -fsSL https://raw.githubusercontent.com/conikeec/mcp-probe/master/install.sh | INSTALL_DIR=~/.local/bin bash ``` **Install specific version:** ```bash curl -fsSL https://raw.githubusercontent.com/conikeec/mcp-probe/master/install.sh | VERSION=v0.1.55 bash ``` ### ๐Ÿบ Homebrew (macOS/Linux) ```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:** ```bash brew upgrade mcp-probe ``` ### ๐Ÿ“ฆ Cargo Install ```bash cargo install mcp-cli ``` **Note**: The binary will be named `mcp-probe` even though the crate is `mcp-cli`. ### ๐Ÿ”จ From Source ```bash # 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 ``` ### ๐Ÿ›ก๏ธ Verification All binaries are provided with SHA256 checksums. You can verify your download: ```bash # 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 ``` ### Quick Start ```bash # 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 ``` --- ## ๐ŸŽฏ Section 1: MCP Client Usage MCP Probe serves as a comprehensive MCP client for developers and integrators who need to interact with MCP servers programmatically or interactively. ### ๐Ÿ”ง Client Configuration ```bash # 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 Workflow ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐ŸŽฎ 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 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### ๐Ÿ” Smart Capability Discovery **Fuzzy Search Engine**: Find tools instantly among hundreds of capabilities ```bash # 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 ```bash # Example: GitHub repo listing tool โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ“‹ org (REQUIRED) [string] โ”‚ โ”‚ ๐Ÿ’ก The organization name... โ”‚ โ”‚ > myorganization โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ ๐Ÿ“ per_page (optional) [integer] โ”‚ โ”‚ ๐Ÿ’ก Results per page (max 100) โ”‚ โ”‚ > 50 โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### ๐Ÿš€ Execution Patterns **Direct Command Mode**: ```bash # 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 --- ## ๐Ÿ” Section 2: Advanced Protocol Discovery & Session Management 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. ### ๐Ÿš€ Intelligent Protocol Discovery **Automatic Protocol Detection**: MCP Probe automatically detects the protocol version based on endpoint patterns and server behavior, eliminating manual configuration. ```bash # 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 Matrix | 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 | ### ๐Ÿ”ง Session Negotiation Workflows #### Modern Streamable HTTP (Recommended) ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐ŸŒŸ 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 โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ 3. Ready State โ”€โ”€โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€ Persistent โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Session Active โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โœ… Single endpoint simplicity ๐Ÿ”’ Header-based security โ”‚ โ”‚ โœ… Built-in session management โšก Automatic resumability โ”‚ โ”‚ โœ… Firewall-friendly ๐Ÿ“Š Full streaming support โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` #### Legacy HTTP+SSE (Backward Compatibility) ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ“ก LEGACY HTTP+SSE WORKFLOW โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ Client MCP Probe Server โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ 1. Discover โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€โ”€โ”€โ”€ GET /events โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Accept: text/event-stream โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€ Session Info โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ—„โ”€โ”€โ”€โ”€โ”€ SSE Stream โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ data: {"sessionId": "xyz"}โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ 2. Initialize โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€ POST /sse?sessionId=xyzโ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ {"method": "initialize"} โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€ Capabilities โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ—„โ”€โ”€โ”€โ”€โ”€ 200 OK โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Server capabilities โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ 3. SSE Listen โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€ GET /sse?sessionId=xyzโ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Accept: text/event-stream โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€ Event Stream โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ—„โ”€โ”€โ”€โ”€ SSE Messages โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Continuous updates โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ”„ Dual-endpoint architecture ๐Ÿ“ก Query-based sessions โ”‚ โ”‚ ๐Ÿ”„ Separate discovery phase โšก Event-driven updates โ”‚ โ”‚ ๐Ÿ”„ Legacy compatibility ๐Ÿ“Š SSE streaming support โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` #### Standard Transport (Development) ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ”ง STANDARD TRANSPORT WORKFLOW โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ Client MCP Probe Process โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ 1. Spawn Process โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€โ”€โ”€โ”€ exec/spawn โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ python server.py โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€ Process Ready โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ—„โ”€โ”€โ”€โ”€โ”€ stdin/stdout โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Process initialization โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ 2. Initialize โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€โ”€โ”€โ”€ JSON-RPC โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ via stdin โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€ Capabilities โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ—„โ”€โ”€โ”€โ”€โ”€ JSON-RPC โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ via stdout โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ 3. Bidirectional โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€โ”€ stdin/stdout pipes โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ Full-duplex communication โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿš€ Direct process control ๐Ÿ”ง Perfect for development โ”‚ โ”‚ ๐Ÿš€ No network complexity โšก Immediate debugging โ”‚ โ”‚ ๐Ÿš€ Local filesystem access ๐Ÿ“Š Full protocol support โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### ๐ŸŽฏ Interactive vs Non-Interactive Command Sequences #### Interactive Mode (TUI) - Guided Discovery ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ–ฅ๏ธ INTERACTIVE TUI WORKFLOW โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ Phase 1: CONNECTION & DISCOVERY โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ ๐Ÿ”Œ Auto-detect Protocol โ†’ ๐Ÿ“ก Establish Session โ†’ ๐Ÿ” Discover Tools โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Parse endpoint URL โ€ข Header/query sessions โ€ข Fuzzy search โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Detect /mcp vs /sse โ€ข Auto-resume capability โ€ข Category filter โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Security validation โ€ข Background monitoring โ€ข Real-time index โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ–ผ โ”‚ โ”‚ Phase 2: INTERACTIVE EXECUTION โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ ๐Ÿ“‹ Parameter Forms โ†’ โšก Real-time Execution โ†’ ๐Ÿ“Š Response Analysisโ”‚ โ”‚ โ”‚ โ”‚ โ€ข Smart type detection โ€ข Progress indicators โ€ข Multi-format view โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Schema-driven hints โ€ข Error correlation โ€ข Error highlighting โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Auto-completion โ€ข Session persistence โ€ข Export options โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ–ผ โ”‚ โ”‚ Phase 3: ANALYSIS & DEBUGGING โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ ๐Ÿ“ˆ Session Review โ†’ ๐Ÿ”ง Error Investigation โ†’ ๐Ÿ“ค Export & Share โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Message history โ€ข Root cause analysis โ€ข JSON export โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Timing metrics โ€ข Fix suggestions โ€ข Session replay โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Protocol trace โ€ข Debug logs โ€ข Report generation โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ ๐ŸŽฎ User Experience: Visual, guided, exploratory โ”‚ โ”‚ โŒจ๏ธ Hotkeys: Tab navigation, / search, Enter execute โ”‚ โ”‚ ๐Ÿ” Features: Fuzzy search, parameter forms, real-time feedback โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` **Interactive Mode Commands:** ```bash # Launch TUI with automatic protocol detection mcp-probe debug --http-sse http://localhost:8931/mcp # TUI Navigation Flow: # 1. Tab โ†’ Navigate between panels # 2. / โ†’ Activate fuzzy search # 3. โ†‘โ†“ โ†’ Browse capabilities # 4. Enter โ†’ Open parameter form # 5. Tab โ†’ Execute with parameters # 6. V โ†’ Cycle response views # 7. F2 โ†’ Save session # Smart Parameter Forms: # โ€ข Auto-detects field types from JSON Schema # โ€ข Provides contextual hints and validation # โ€ข Supports environment variable injection # โ€ข Real-time syntax validation ``` #### Non-Interactive Mode (CLI) - Automation-Friendly ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โšก NON-INTERACTIVE CLI WORKFLOW โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ Phase 1: RAPID CONNECTION โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ ๐Ÿš€ Direct Connect โ†’ ๐Ÿ“Š Quick Capability Dump โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Protocol auto-detection โ€ข Structured output โ”‚ โ”‚ โ”‚ โ”‚ โ€ข No user interaction โ€ข Machine-readable format โ”‚ โ”‚ โ”‚ โ”‚ โ€ข CI/CD friendly โ€ข Error codes for automation โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ–ผ โ”‚ โ”‚ Phase 2: BATCH EXECUTION โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ ๐Ÿ“ Command Scripts โ†’ โš™๏ธ Automated Testing โ†’ ๐Ÿ“„ Report Output โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Direct tool execution โ€ข Comprehensive test suite โ€ข JSON/CSV export โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Parameter validation โ€ข Protocol compliance โ€ข CI integration โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Bulk operations โ€ข Performance monitoring โ€ข Success/fail codesโ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ–ผ โ”‚ โ”‚ Phase 3: PRODUCTION VALIDATION โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ ๐Ÿ” Health Checks โ†’ ๐Ÿ“Š Performance Analysis โ†’ ๐Ÿšจ Alert Integrationโ”‚ โ”‚ โ”‚ โ”‚ โ€ข Endpoint discovery โ€ข Response time metrics โ€ข Monitoring systems โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Protocol compliance โ€ข Memory usage tracking โ€ข Automated alerts โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Schema validation โ€ข Error rate analysis โ€ข Report webhooks โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿค– Use Cases: CI/CD pipelines, monitoring, automation โ”‚ โ”‚ โšก Features: Zero interaction, structured output, exit codes โ”‚ โ”‚ ๐Ÿ”ง Integration: Scripts, Docker, Kubernetes health checks โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` **Non-Interactive Mode Commands:** ```bash # Quick capability overview mcp-probe debug --http-sse http://localhost:8931/mcp --non-interactive # Automated testing with reports mcp-probe test --http-sse http://localhost:8931/mcp --report --output-dir ./reports # Endpoint discovery for load balancers mcp-probe test --discover http://api.company.com --report # CI/CD integration examples mcp-probe test --http-sse $MCP_SERVER_URL --fail-fast --timeout 30 if [ $? -eq 0 ]; then echo "โœ… MCP server healthy"; else echo "โŒ MCP server failed"; fi # Batch operations for monitoring mcp-probe validate --http-sse http://prod-server/mcp --suite compliance ``` ### ๐Ÿ” Advanced Endpoint Discovery **Multi-Endpoint Discovery**: MCP Probe can discover and test multiple MCP endpoints from a base URL, perfect for load balancers and multi-service deployments. ```bash # Discover all MCP endpoints under a domain mcp-probe test --discover https://api.company.com # Discovery automatically tests these patterns: # โ€ข https://api.company.com/mcp (Modern) # โ€ข https://api.company.com/sse (Legacy) # โ€ข https://api.company.com/events (Discovery) # โ€ข https://api.company.com/v1/mcp (Versioned) # โ€ข https://api.company.com/api/mcp (Nested) # Output shows availability and capabilities: โœ… Modern Streamable HTTP - 47 tools, 3 resources, 2 prompts โœ… Legacy HTTP+SSE - 47 tools, 3 resources, 2 prompts โŒ Versioned API - Connection failed โš ๏ธ Nested API - Invalid response format ``` ### ๐Ÿ›ก๏ธ Security & Session Management #### Automatic Security Validation ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ”’ SECURITY VALIDATION โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ ๐Ÿ›ก๏ธ Connection Security โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ€ข HTTPS enforcement for production URLs โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Origin validation to prevent DNS rebinding โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Session ID format validation (cryptographic strength) โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Certificate verification for remote servers โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ” Session Management โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ€ข Automatic session discovery and renewal โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Secure session ID generation and tracking โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Background session monitoring for ephemeral servers โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Session resumption after network interruptions โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ โšก Performance & Reliability โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ€ข Connection pooling and keep-alive โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Automatic retry with exponential backoff โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Request timeout and circuit breaker patterns โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Memory-efficient streaming for large responses โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### ๐Ÿ“ˆ Protocol Compliance Testing **Comprehensive Test Suites**: MCP Probe includes extensive test suites for validating protocol compliance across different versions. ```bash # Full protocol compliance testing mcp-probe validate --http-sse http://localhost:8931/mcp --suite all # Specific compliance areas: mcp-probe validate --suite initialization # Connection & handshake mcp-probe validate --suite capabilities # Tool/resource discovery mcp-probe validate --suite schema # JSON Schema validation mcp-probe validate --suite security # Security best practices mcp-probe validate --suite performance # Response time & throughput # Generate detailed compliance reports mcp-probe validate --suite all --report --output-dir ./compliance-reports ``` --- ## ๐Ÿ”ง Section 3: MCP Deployment Troubleshooting MCP Probe excels as a diagnostic tool for MCP deployments, providing deep insights into protocol behavior, performance bottlenecks, and integration issues. ### ๐Ÿšจ Diagnostic Features ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ” TROUBLESHOOTING DASHBOARD โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ ๐Ÿ”ด CONNECTION DIAGNOSTICS ๐ŸŸก PROTOCOL ANALYSIS โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ€ข Transport validation โ”‚ โ”‚ โ€ข Message correlation โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Authentication checks โ”‚ โ”‚ โ€ข Response time analysis โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Firewall/proxy detection โ”‚ โ”‚ โ€ข Error pattern recognition โ”‚ โ”‚ โ”‚ โ”‚ โ€ข SSL/TLS verification โ”‚ โ”‚ โ€ข Capability compatibility โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ”‚ ๐ŸŸข PERFORMANCE MONITORING ๐ŸŸฃ ERROR INVESTIGATION โ”‚ โ”‚ โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ โ”‚ โ”‚ โ€ข Request/response latency โ”‚ โ”‚ โ€ข Stack trace analysis โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Throughput measurement โ”‚ โ”‚ โ€ข JSON schema validation โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Memory usage tracking โ”‚ โ”‚ โ€ข Serialization debugging โ”‚ โ”‚ โ”‚ โ”‚ โ€ข Connection stability โ”‚ โ”‚ โ€ข Integration compatibility โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### ๐Ÿ› ๏ธ Common Issues & Solutions #### Issue 1: Connection Failures **Symptoms**: "Transport connection failed", "Connection refused" **Diagnosis with MCP Probe**: ```bash # 1. Test basic connectivity mcp-probe debug --http-sse http://localhost:3000 # 2. Check different transports mcp-probe debug --websocket ws://localhost:8080/mcp mcp-probe debug --stdio python server.py # 3. Monitor protocol flow # Look for: Connection status, SSL handshake, authentication ``` **Troubleshooting Guide**: - โœ… Server is running and listening on correct port - โœ… Firewall rules allow connections - โœ… SSL certificates are valid (for HTTPS) - โœ… Authentication credentials are correct #### Issue 2: Tool Execution Failures **Symptoms**: "Serialization error", "Invalid parameters", "Tool not found" **Diagnosis with MCP Probe**: ```bash # 1. Verify tool discovery # Navigate to Tools section, check tool list # 2. Inspect parameter schemas # Select tool -> Parameter form should show required fields # 3. Check raw response data # Use 'V' key to cycle through response formats ``` **Common Root Causes**: - ๐Ÿ”ง **Parameter Mismatch**: Use Parameter Form to validate inputs - ๐Ÿ”ง **Tool Name Prefix Issues**: Check clean vs. full tool names - ๐Ÿ”ง **JSON Format Errors**: Validate JSON in response viewer - ๐Ÿ”ง **Server-Side Errors**: Review error messages in message history #### Issue 3: Performance Problems **Symptoms**: Slow responses, timeouts, memory issues **Diagnosis with MCP Probe**: ```bash # 1. Monitor timing metrics # Check message history for response times # 2. Analyze message sizes # Use Raw JSON view to inspect payload sizes # 3. Track connection stability # Watch for reconnection attempts in logs ``` ### ๐Ÿ“Š Protocol Debugging **Message Flow Analysis**: ``` โ”Œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ” โ”‚ ๐Ÿ“ˆ PROTOCOL MESSAGE FLOW โ”‚ โ”œโ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”ค โ”‚ โ”‚ โ”‚ Client MCP Probe Server โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ initialize โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€โ”€โ”€โ”€ HTTP/POST โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€ init_response โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ—„โ”€โ”€โ”€โ”€โ”€ 200 OK โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ tools/list โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€โ”€โ”€โ”€ HTTP/POST โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€ tools_response โ”€โ”€โ”€โ”€โ”€โ”‚โ—„โ”€โ”€โ”€โ”€โ”€ 200 OK โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ”€โ”€โ”€โ”€ tools/call โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚โ”€โ”€โ”€โ”€โ”€โ”€ HTTP/POST โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ–บโ”‚ โ”‚ โ”‚ โ”‚ โ”‚ (params) โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚โ—„โ”€โ”€โ”€ result/error โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚โ—„โ”€โ”€โ”€โ”€โ”€ 200/400/500 โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ โ”‚ ๐Ÿ” MCP Probe captures and analyzes each step: โ”‚ โ”‚ โ€ข Request correlation (session ID tracking) โ”‚ โ”‚ โ€ข Response time measurement โ”‚ โ”‚ โ€ข Error classification and suggestions โ”‚ โ”‚ โ€ข JSON schema validation โ”‚ โ”‚ โ”‚ โ””โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”€โ”˜ ``` ### ๐ŸŽฏ Environment Validation **Development Environment Checklist**: ```bash # 1. Server Implementation Validation โœ… Server responds to initialize request โœ… Capabilities are properly declared โœ… Tool schemas are valid JSON Schema โœ… Error responses include helpful messages # 2. Integration Testing โœ… Authentication flow works correctly โœ… Session management is stable โœ… All transport types are supported โœ… Error handling is graceful # 3. Performance Validation โœ… Response times are within SLA โœ… Memory usage is reasonable โœ… Concurrent requests are handled โœ… Rate limiting is implemented correctly ``` --- ## ๐Ÿ“š Command Cheat Sheet ### ๐Ÿ”ง Basic Commands ```bash # Connection mcp-probe debug --http-sse # HTTP Server-Sent Events mcp-probe debug --websocket # WebSocket connection mcp-probe debug --stdio # STDIO transport mcp-probe debug --tcp # Raw TCP connection # Configuration mcp-probe debug --timeout 30 # Request timeout mcp-probe debug --max-retries 3 # Retry attempts mcp-probe debug --session-file # Session persistence ``` ### โŒจ๏ธ TUI Navigation Hotkeys #### Global Navigation | Key | Action | Description | | ----- | ------------- | ------------------------- | | `Tab` | Cycle Focus | Move between panels | | `F1` | Help | Show/hide help dialog | | `F2` | Save Session | Export current session | | `F3` | Toggle JSON | Switch JSON view mode | | `F4` | Clear History | Reset message history | | `F5` | Environment | Set environment variables | | `Q` | Quit | Exit application | #### Capability Browser | Key | Action | Description | | ------- | -------- | ----------------------------- | | `Enter` | Select | Open capability details | | `โ†‘/โ†“` | Navigate | Move through categories/items | | `โ†/โ†’` | Page | Previous/next page | | `/` | Search | Activate fuzzy search | | `Esc` | Back | Return to categories | #### Search Interface | Key | Action | Description | | ------- | -------- | --------------------- | | `/` | Activate | Open search dialog | | `Type` | Query | Enter search terms | | `โ†‘/โ†“` | Navigate | Browse search results | | `Enter` | Select | Choose result | | `Esc` | Cancel | Close search | #### Parameter Forms | Key | Action | Description | | ------- | -------- | ------------------------------- | | `โ†‘/โ†“` | Navigate | Move between fields (auto-edit) | | `Type` | Edit | Enter parameter values | | `Enter` | Save | Save field and move to next | | `Tab` | Execute | Run with current parameters | | `Esc` | Cancel | Close parameter form | #### Response Viewer | Key | Action | Description | | ----------- | ----------- | ------------------------------------------ | | `R` | Open | View selected response | | `V` | View Mode | Cycle formats (Formatted/Raw/Tree/Summary) | | `โ†‘/โ†“` | Scroll V | Vertical scrolling | | `โ†/โ†’` | Scroll H | Horizontal scrolling | | `PgUp/PgDn` | Fast Scroll | Page up/down | | `Home/End` | Jump | Go to top/bottom | | `Esc` | Close | Exit response viewer | ### ๐ŸŽฎ Interactive Commands #### Direct Tool Execution ```bash # Syntax: category.name {json_params} tools.add_numbers {"a": 10, "b": 20} tools.github_list_repos {"org": "microsoft", "per_page": 10} resources.readme_content prompts.code_review {"language": "rust", "style": "detailed"} ``` #### Environment Variables ```bash # Set variables for tool injection KEY=value,API_TOKEN=secret123,ORG=myorg # Variables automatically injected into tool calls tools.api_call {} # Will include ORG=myorg if tool expects it ``` --- ## ๐Ÿ“ File System Organization MCP Probe automatically organizes all generated files in a clean, structured directory hierarchy in your home directory. ### ๐Ÿ  Directory Structure ``` ~/.mcp-probe/ โ”œโ”€โ”€ logs/ # All log files with timestamps โ”‚ โ”œโ”€โ”€ mcp-probe-debug.log # TUI mode debug log โ”‚ โ””โ”€โ”€ mcp-probe-YYYYMMDD_HHMMSS.log # CLI mode logs โ”œโ”€โ”€ reports/ # All generated reports with date prefixes โ”‚ โ”œโ”€โ”€ YYYYMMDD-test-report-HHMMSS.json โ”‚ โ”œโ”€โ”€ YYYYMMDD-validation-report-HHMMSS.json โ”‚ โ””โ”€โ”€ YYYYMMDD-discovery-report-HHMMSS.json โ”œโ”€โ”€ sessions/ # Saved session files โ”‚ โ””โ”€โ”€ debug-session-YYYYMMDD_HHMMSS.json โ””โ”€โ”€ config/ # Configuration files โ””โ”€โ”€ mcp-probe.toml ``` ### ๐Ÿ—‚๏ธ Path Management Commands ```bash # Show directory structure and usage mcp-probe paths show # Clean up old files (dry run) mcp-probe paths cleanup --days 30 # Actually clean up files older than 7 days mcp-probe paths cleanup --days 7 --force # Open MCP Probe directory in file manager mcp-probe paths open ``` ### ๐Ÿ“… Automatic Date Prefixing All reports are automatically prefixed with dates for easy organization: - **Format**: `YYYYMMDD-report-name-HHMMSS.extension` - **Example**: `20250622-test-report-143052.json` - **Benefits**: Chronological sorting, easy cleanup, no file conflicts ### ๐Ÿงน Automated Cleanup MCP Probe includes intelligent cleanup features: ```bash # Show what would be cleaned up mcp-probe paths cleanup --days 30 # Clean files older than 30 days mcp-probe paths cleanup --days 30 --force # The paths show command gives cleanup recommendations mcp-probe paths show ``` --- ## ๐Ÿ” Advanced Features ### ๐Ÿ“Š Response Analysis Modes #### 1. **Formatted View** (Default) - โœจ Syntax highlighting for JSON - ๐Ÿ“‹ Structured analysis with field breakdown - ๐Ÿ” Error highlighting and suggestions - ๐Ÿ“ˆ Content statistics and metadata #### 2. **Raw JSON View** - ๐Ÿ“„ Pretty-printed JSON output - ๐Ÿ” Full response data visibility - ๐Ÿ“‹ Copy-friendly format - ๐Ÿ› ๏ธ Debug-oriented display #### 3. **Tree View** - ๐ŸŒณ Hierarchical data visualization - ๐Ÿ“ Collapsible object/array nodes - ๐Ÿ“Š Type indicators for each field - ๐ŸŽฏ Easy navigation of nested structures #### 4. **Summary View** - ๐Ÿ“ˆ High-level response overview - ๐Ÿ“Š Key metrics and statistics - โšก Quick status assessment - ๐ŸŽฏ Action-oriented insights ### ๐Ÿ”’ Session Management ```bash # Auto-save sessions mcp-probe debug --http-sse http://localhost:3000 --session-file debug.json # Session contains: # โ€ข Connection parameters # โ€ข Message history with timing # โ€ข Error logs and diagnostics # โ€ข Environment variables # โ€ข Response cache for offline analysis ``` ### ๐ŸŒ Multi-Transport Support #### HTTP Server-Sent Events (Recommended) ```bash mcp-probe debug --http-sse http://localhost:3000 # โœ… Most compatible with web servers # โœ… Firewall-friendly # โœ… Built-in error handling ``` #### WebSocket ```bash mcp-probe debug --websocket ws://localhost:8080/mcp # โœ… Real-time bidirectional communication # โœ… Lower latency # โš ๏ธ May require proxy configuration ``` #### STDIO (Development) ```bash mcp-probe debug --stdio python my_server.py # โœ… Perfect for local testing # โœ… Direct process communication # โš ๏ธ Limited to local development ``` #### TCP (Advanced) ```bash mcp-probe debug --tcp localhost:9000 # โœ… Low-level protocol access # โœ… Custom transport implementations # โš ๏ธ Requires manual protocol handling ``` --- ## ๐Ÿ› ๏ธ Development & Contributing ### Project Structure ``` mcp-probe/ โ”œโ”€โ”€ crates/ โ”‚ โ”œโ”€โ”€ mcp-core/ # Core MCP protocol implementation โ”‚ โ”‚ โ”œโ”€โ”€ src/ โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ client.rs # High-level MCP client โ”‚ โ”‚ โ”‚ โ”œโ”€โ”€ transport/ # Transport layer abstractions โ”‚ โ”‚ โ”‚ โ””โ”€โ”€ messages/ # Protocol message definitions โ”‚ โ”‚ โ””โ”€โ”€ Cargo.toml โ”‚ โ””โ”€โ”€ mcp-cli/ # TUI application โ”‚ โ”œโ”€โ”€ src/ โ”‚ โ”‚ โ”œโ”€โ”€ tui.rs # Terminal UI implementation โ”‚ โ”‚ โ”œโ”€โ”€ search.rs # Capability search engine โ”‚ โ”‚ โ””โ”€โ”€ main.rs # CLI entry point โ”‚ โ””โ”€โ”€ Cargo.toml โ”œโ”€โ”€ target/ # Build artifacts โ”œโ”€โ”€ Cargo.toml # Workspace configuration โ””โ”€โ”€ README.md ``` ### Building from Source ```bash # Debug build cargo build # Release build (recommended for performance) cargo build --release # Run tests cargo test # Run with logging RUST_LOG=debug cargo run -- debug --http-sse http://localhost:3000 ``` ### Contributing Guidelines 1. ๐Ÿด Fork the repository 2. ๐ŸŒฟ Create a feature branch 3. โœ… Add tests for new functionality 4. ๐Ÿ“ Update documentation 5. ๐Ÿ”„ Submit a pull request --- ## ๐Ÿ“„ License This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. --- ## ๐Ÿค Support & Community - **๐Ÿ“– Documentation**: [docs.example.com/mcp-probe](docs.example.com/mcp-probe) - **๐Ÿ› Issues**: [GitHub Issues](https://github.com/your-org/mcp-probe/issues) - **๐Ÿ’ฌ Discussions**: [GitHub Discussions](https://github.com/your-org/mcp-probe/discussions) - **๐Ÿ”ง Contributing**: See [CONTRIBUTING.md](CONTRIBUTING.md) --- ## ๐Ÿš€ Quick Examples ### Example 1: Debug API Integration ```bash # Connect to your MCP server mcp-probe debug --http-sse https://api.yourservice.com/mcp # 1. Verify connection and capabilities # 2. Search for relevant tools: /api or /user # 3. Test tool execution with real parameters # 4. Analyze responses for integration issues # 5. Export session for team sharing ``` ### Example 2: Performance Testing ```bash # Set up performance monitoring mcp-probe debug --http-sse http://localhost:3000 --session-file perf_test.json # 1. Execute high-frequency tool calls # 2. Monitor response times in message history # 3. Check for memory leaks or connection issues # 4. Review session file for timing analysis ``` ### Example 3: Development Workflow ```bash # Local development testing mcp-probe debug --stdio python my_mcp_server.py # 1. Rapid iteration on server code # 2. Test tool schemas and validation # 3. Debug parameter handling # 4. Verify error response formats ``` --- ## ๐Ÿ”ง Development Automation & CI/CD ### ๐Ÿš€ Automated Quality Checks MCP Probe includes comprehensive automation for code quality and CI/CD: #### Development Scripts ```bash # Run all checks (formatting, clippy, tests) ./scripts/check.sh # Auto-fix formatting and clippy issues ./scripts/fix.sh # Publish to crates.io (with all checks) ./scripts/release.sh ``` #### Continuous Integration Our GitHub Actions CI pipeline automatically runs: - โœ… **Code Formatting**: `rustfmt` ensures consistent code style - โœ… **Linting**: `clippy` with warnings as errors for code quality - โœ… **Testing**: Full test suite across Linux, macOS, and Windows - โœ… **Security Audit**: `cargo audit` for vulnerability scanning - โœ… **Code Coverage**: Coverage reporting with codecov.io - โœ… **Documentation**: Automatic docs.rs generation #### Publishing Workflow Releases to crates.io are fully automated: 1. **Trigger**: Create a GitHub release 2. **Checks**: All CI checks must pass 3. **Publish**: - `mcp-core` published first (dependency) - `mcp-cli` published second 4. **Tagging**: Git tag created automatically #### Local Development Setup ```bash # Install development tools cargo install cargo-audit cargo-tarpaulin # Set up git hooks (optional) cargo install cargo-husky ``` #### Code Quality Standards - **Formatting**: Enforced via `rustfmt.toml` configuration - **Linting**: Zero tolerance for clippy warnings - **Testing**: Comprehensive test coverage required - **Documentation**: All public APIs must be documented ### ๐Ÿ“ฆ Crate Publishing Both crates are available on crates.io: - **[mcp-core](https://crates.io/crates/mcp-core)**: Core MCP protocol implementation - **[mcp-cli](https://crates.io/crates/mcp-cli)**: Interactive TUI debugger #### Installation ```bash # Install the CLI tool cargo install mcp-cli # Add core library to your project [dependencies] mcp-core = "0.1.0" ``` --- ## ๐Ÿ’ Credits & Acknowledgments **Made with โค๏ธ in Rust** This project wouldn't be possible without: - ๐Ÿฆ€ **[Rust Programming Language](https://rust-lang.org/)** - For memory safety, performance, and the amazing ecosystem that makes systems programming a joy - ๐Ÿค– **[Anthropic](https://anthropic.com/)** - For creating the Model Context Protocol (MCP) specification and advancing the field of AI collaboration tools - ๐ŸŒŸ **The Rust Community** - For the incredible crates that power MCP Probe: Ratatui, Tokio, Serde, Clap, and countless others - ๐Ÿ› ๏ธ **Open Source Contributors** - Every bug report, feature suggestion, and pull request makes this tool better Special thanks to the Ratatui team for creating the foundation that makes our beautiful TUI possible! ๐ŸŽจ --- **๐ŸŽฏ MCP Probe: Making MCP protocol debugging as intuitive as it should be.**