Skip to content
| Marketplace
Sign in
Visual Studio Code>Debuggers>MCPMon - MCP Protocol DebuggingNew to Visual Studio Code? Get it now.
MCPMon - MCP Protocol Debugging

MCPMon - MCP Protocol Debugging

Preview

CrossMooreAI

|
1 install
| (0) | Free
A comprehensive debugging extension for Model Context Protocol (MCP) implementations
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

MCPMon - Model Context Protocol Monitor

A VS Code extension for hardcore MCP (Model Context Protocol) debugging and monitoring. MCPMon provides real-time protocol message capture, interactive server exploration, and comprehensive debugging tools for MCP implementations.

Built from scratch without dependencies on official MCP packages - ensuring reliable operation even when upstream client libraries encounter issues. Our ground-up implementation of the MCP specification provides robust protocol handling across all transport types.

MCPMon Protocol Viewer

Real-time protocol monitoring with request/response correlation, tool execution, and message validation

Architecture

MCPMon implements the complete MCP client stack independently:

  • Custom JSON-RPC 2.0 implementation - Full spec compliance without external dependencies
  • Native MCP protocol handling - Direct implementation of initialize, tools/list, resources/list, and all core methods
  • Multi-transport support - STDIO processes, Streamable HTTP (2025-06-18), and legacy HTTP/SSE
  • Independent message validation - Built-in protocol compliance checking
  • Request/response correlation - Proper message pairing and flow tracking

This approach ensures MCPMon remains functional regardless of changes or issues in official MCP client libraries, whilst providing deeper insight into the protocol mechanics.

Features

  • 🔍 Real-time Protocol Monitoring - Capture and analyze all JSON-RPC messages
  • 🛠️ Interactive Tool Calling - Discover and execute MCP tools with dynamic parameter forms
  • 📡 Multi-Transport Support - Connect via STDIO processes, Streamable HTTP, or legacy HTTP/SSE endpoints
  • ⚙️ Server Configuration UI - Add and manage custom MCP servers
  • 📊 Message Analysis - Validate JSON-RPC compliance and track message correlation
  • 🚀 Live Connection Status - Real-time server health monitoring

Installation

From VS Code Marketplace

Done! Thanks!

Quick Start

  1. Open MCPMon Panel

    • Press Ctrl+Shift+P (or Cmd+Shift+P on Mac)
    • Type "MCPMon: Show Protocol Viewer"
    • Press Enter
  2. Connect to a Server

    • Use the pre-configured servers or add your own
    • Click the connect button next to any server
    • Watch real-time messages in the protocol viewer
  3. Explore Server Capabilities

    • Once connected, use "List Tools" and "List Resources" buttons
    • Click "Call Tool" to interactively execute server tools
    • All protocol exchanges are captured and displayed

Server Configuration

Adding STDIO Servers

STDIO servers run as child processes and communicate via stdin/stdout:

{
  "name": "My Custom Server",
  "type": "stdio",
  "command": "python",
  "args": ["-m", "my_mcp_server"],
  "env": {
    "API_KEY": "your-api-key"
  },
  "cwd": "/path/to/server"
}

Adding Streamable HTTP Servers (Recommended)

Streamable HTTP servers use the new MCP 2025-06-18 transport specification:

{
  "name": "My Streamable HTTP Server", 
  "type": "streamable-http",
  "url": "https://example.com/mcp",
  "authToken": "your-bearer-token-here",
  "protocolVersion": "2025-06-18"
}

Adding HTTP/SSE Servers (Legacy - Deprecated)

⚠️ Deprecated as of 2025-06-18: Use Streamable HTTP instead. This legacy transport uses separate /message and /sse endpoints.

Legacy HTTP/SSE servers communicate via separate REST endpoints with optional Server-Sent Events:

{
  "name": "My HTTP Server", 
  "type": "http",
  "url": "http://localhost:3000",
  "authToken": "your-bearer-token-here",
  "useSSE": true
}

Worked Examples

Example 1: Filesystem Server (STDIO)

The MCP Filesystem server provides file operations:

Server Configuration:

  • Name: Filesystem Server
  • Type: stdio
  • Command: npx
  • Args: ["@modelcontextprotocol/server-filesystem", "/tmp"]

What you can do:

  • List available tools: read_file, write_file, create_directory, etc.
  • Call read_file with path parameter to read file contents
  • Call write_file to create or modify files
  • All file operations are captured in the protocol viewer

Example 2: Git Server (STDIO)

The MCP Git server provides Git repository operations:

Server Configuration:

  • Name: Git Server
  • Type: stdio
  • Command: npx
  • Args: ["@modelcontextprotocol/server-git", "--repository", "."]

What you can do:

  • List tools: git_status, git_diff, git_log, git_commit, etc.
  • Call git_status to see repository status
  • Call git_diff with file paths to see changes
  • Execute Git commands and see results in real-time

Example 3: SQLite Server (STDIO)

The MCP SQLite server provides database operations:

Server Configuration:

  • Name: SQLite Server
  • Type: stdio
  • Command: npx
  • Args: ["@modelcontextprotocol/server-sqlite", "--db-path", "./test.db"]

What you can do:

  • List tools: execute_query, describe_table, list_tables
  • Call list_tables to see available database tables
  • Call execute_query with SQL to run database queries
  • Monitor all SQL operations via the protocol viewer

Understanding the Protocol Viewer

The protocol viewer shows all MCP communication in real-time:

Message Types

  • 🟢 Request - Client asking server to do something
  • 🔵 Response - Server replying to a request
  • 🟡 Notification - One-way message (no response expected)

Message Details

  • Timestamp - When the message was sent/received
  • Direction - client->server or server->client
  • Correlation ID - Links requests with their responses
  • Raw JSON - Complete JSON-RPC message
  • Validation - Whether the message is valid JSON-RPC 2.0

Interactive Features

  • List Tools - Discover what tools the server offers
  • List Resources - See what resources are available
  • Call Tool - Execute tools with parameter forms
  • Message Filtering - Search and filter protocol messages

Troubleshooting

Server Won't Connect

STDIO Issues:

  • Verify the command and arguments are correct
  • Check that the server executable is in your PATH
  • Look at stderr output in the protocol viewer
  • Ensure required dependencies are installed

HTTP Issues:

  • Verify the server URL is accessible
  • Check that the server implements required endpoints (/health, /message)
  • For SSE: ensure /sse endpoint is available
  • Look for CORS issues in browser dev tools
  • If using auth tokens, verify the token is valid and has proper permissions
  • Check for 401 Unauthorized responses in the protocol viewer

No Messages Appearing

  • Check the connection status indicator
  • Verify the server is responding to the initialize request
  • Look for error messages in the VS Code developer console
  • Try disconnecting and reconnecting

Tool Calling Not Working

  • Ensure the server responds to tools/list requests
  • Check that tool parameters match the server's schema
  • Verify the server implements the tools/call method
  • Look for validation errors in the protocol messages

License

MIT License - see LICENSE file for details

Support

  • Report issues on GitHub
  • Check VS Code developer console for errors
  • Enable debug logging for detailed troubleshooting
  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2025 Microsoft