A VSCode extension for visualizing MCP (Model Context Protocol) messages with an interactive JSON viewer.
- π Connect to MCP Servers - Configure and connect to remote MCP servers via HTTP
- π¨ Rich JSON Visualization - Interactive JSON viewer powered by react-json-tree (same as Redux DevTools)
- π‘ Real-time Streaming - Full support for Server-Sent Events (SSE) streaming responses
- π― Session State Tracking - Clear visual indicators for connection and initialization status
- π Theme Integration - Automatic adaptation to VSCode light/dark themes
- π Complete Protocol Support - Initialize, list tools/prompts/resources, call tools, and custom requests
- Download the
.vsixfile - Open VSCode
- Go to Extensions view (
Ctrl+Shift+X) - Click "..." menu β "Install from VSIX..."
- Select the downloaded
.vsixfile
Set your MCP server URL via:
Option A: Command Palette
- Press
Ctrl+Shift+P - Run "MCP: Set Server URL"
- Enter your server URL (e.g.,
http://localhost:3000/mcp)
Option B: Status Bar
- Click the MCP status indicator in the status bar
- Enter your server URL
Option C: Settings
- Open Settings (
Ctrl+,) - Search for "MCP WireView"
- Set "MCP Client: Server Url"
- Press
Ctrl+Shift+P - Run "MCP: Send Initialize Request"
- View the response in the interactive webview
List available tools:
Command: MCP: List Tools
List available prompts:
Command: MCP: List Prompts
List available resources:
Command: MCP: List Resources
- Run "MCP: Call Tool"
- Enter tool name
- Enter arguments as JSON object (e.g.,
{"param": "value"}) - View the response in the webview
- Run "MCP: Send Custom JSON Request"
- Enter a JSON-RPC request:
{"method": "tools/list", "params": {}}
The status bar displays the current MCP session state:
| State | Icon | Description |
|---|---|---|
| URL Not Set | $(debug-disconnect) |
No server URL configured |
| Uninitialized | $(sync~spin) |
Server URL set but not initialized |
| Initialized | $(check) |
Session initialized and ready |
| Command | Description |
|---|---|
MCP: Set Server URL |
Configure the MCP server URL |
MCP: Send Initialize Request |
Initialize the MCP session |
MCP: Uninitialize |
Reset the session (keeps URL) |
MCP: List Tools |
List available tools |
MCP: List Prompts |
List available prompts |
MCP: List Resources |
List available resources |
MCP: Call Tool |
Execute a tool with arguments |
MCP: Send Custom JSON Request |
Send a custom JSON-RPC request |
| Setting | Type | Default | Description |
|---|---|---|---|
mcp.serverURL |
string | "" |
URL of the MCP server to connect to |
The interactive webview provides:
- Collapsible JSON nodes - Click to expand/collapse objects and arrays
- Syntax highlighting - Color-coded JSON with VSCode theme integration
- Request/Response display - See both sides of the communication
- SSE event visualization - View all streaming events with event count
- Error handling - Clear error messages with context
- Node.js 20.x or higher
- npm
# Install dependencies
npm install
# Install webview dependencies
npm run install:webview
# Compile
npm run compile# Compile both extension and webview
npm run compile
# Compile extension only
npm run compile:extension
# Compile webview only
npm run compile:webview
# Watch extension (auto-recompile on changes)
npm run watch
# Watch webview (Vite dev server)
npm run watch:webview- Open this folder in VSCode
- Press
F5to launch Extension Development Host - In the new window, use the MCP commands
- Open "MCP WireView" output channel for logs
- Right-click webview β "Open Webview Developer Tools" for debugging
Extension (TypeScript)
src/extension.ts- Entry pointsrc/commands.ts- Command handlerssrc/mcpClient.ts- HTTP client with SSE supportsrc/responseViewer.ts- Webview manager
Webview UI (React + TypeScript)
src/webview-ui/src/App.tsx- Root componentsrc/webview-ui/src/components/- UI componentssrc/webview-ui/src/theme/- VSCode theme integration- Build tool: Vite
- Protocol Version:
2025-06-18 - Transport: HTTP POST with JSON-RPC 2.0
- Streaming: Server-Sent Events (SSE)
- Capabilities: roots, sampling, elicitation
MIT
Contributions are welcome! Please feel free to submit a Pull Request.

