MCPcopy Index your code
hub / github.com/conikeec/mcp-probe

github.com/conikeec/mcp-probe @v0.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.0 ↗ · + Follow
853 symbols 1,522 edges 40 files 411 documented · 48%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

🔍 MCP Probe - Advanced MCP Protocol Debugger & Interactive Client

Rust License Version

CleanShot 2025-06-21 at 13 48 13@2x

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:

  • 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)

curl -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

🍺 Homebrew (macOS/Linux)

# 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

cargo install mcp-cli

Note: The binary will be named mcp-probe even though the crate is mcp-cli.

🔨 From Source

# 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:

# 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

# 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

# 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

# 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                                │
└─────────────────────────────────────┘

🚀 Execution Patterns

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


🔍 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.

# 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 │ │ │

Extension points exported contracts — how you extend this code

FlowHandler (Interface)
Trait for flow step handlers [6 implementers]
crates/mcp-cli/src/flows/mod.rs
Transport (Interface)
(no doc) [3 implementers]
crates/mcp-core/src/transport/mod.rs
McpClientExt (Interface)
Extension trait to add higher-level methods to McpClient [1 implementers]
crates/mcp-cli/src/tui.rs
TransportHelper (Interface)
Helper trait for transport implementations. This trait provides common functionality that most transport implementation
crates/mcp-core/src/transport/mod.rs
McpClientExt (Interface)
Extension trait to add higher-level methods to McpClient [1 implementers]
crates/mcp-cli/src/commands/debug.rs
NotificationHandler (Interface)
(no doc) [1 implementers]
crates/mcp-core/src/client.rs
McpClientExt (Interface)
Extension trait to add higher-level methods to McpClient [1 implementers]
crates/mcp-cli/src/commands/test.rs
FlowDurationExt (Interface)
Fluent helper functions with method chaining [1 implementers]
crates/mcp-cli/src/flows/mod.rs

Core symbols most depended-on inside this repo

add_result
called by 49
crates/mcp-cli/src/commands/validation.rs
as_str
called by 36
crates/mcp-core/src/messages/mod.rs
header
called by 30
crates/mcp-core/src/transport/config.rs
add_metadata
called by 26
crates/mcp-core/src/transport/mod.rs
then
called by 25
crates/mcp-cli/src/flows/mod.rs
send_request
called by 20
crates/mcp-core/src/client.rs
add_error
called by 17
crates/mcp-cli/src/tui.rs
add_message
called by 16
crates/mcp-cli/src/tui.rs

Shape

Method 441
Function 193
Class 157
Enum 54
Interface 8

Languages

Rust100%
Ruby1%

Modules by API surface

crates/mcp-cli/src/tui.rs87 symbols
crates/mcp-cli/src/flows/mod.rs61 symbols
crates/mcp-core/src/transport/http_sse.rs47 symbols
crates/mcp-core/src/client.rs45 symbols
crates/mcp-cli/src/commands/validation.rs44 symbols
crates/mcp-cli/src/commands/test.rs44 symbols
crates/mcp-core/src/messages/core.rs38 symbols
crates/mcp-core/src/messages/sampling.rs37 symbols
crates/mcp-core/src/messages/logging.rs32 symbols
crates/mcp-core/src/messages/prompts.rs28 symbols
crates/mcp-core/src/messages/tools.rs26 symbols
crates/mcp-core/src/messages/resources.rs26 symbols

For agents

$ claude mcp add mcp-probe \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page