JetBrains MCP Proxy Sidecar
STDIOA fork of JetBrains MCP Server that adds WebSocket monitoring capabilities.
A fork of JetBrains MCP Server that adds WebSocket monitoring capabilities.
A fork of the JetBrains MCP Server that adds WebSocket monitoring capabilities, created by @dortegau.
This project extends the original MCP server functionality with WebSocket support while maintaining compatibility with all features of the original implementation.
graph LR A[MCP Client<br>e.g. Claude<br>Desktop App] B[MCP Proxy<br>Sidecar<br>with WebSocket] C[JetBrains IDE] D[WebSocket Clients<br>Monitoring] A <--MCP requests/responses--> B B <--IDE commands/responses--> C B --WebSocket notifications<br>port 27042--> D style A fill:#f5f5f5,stroke:#333,stroke-width:2px style B fill:#e1f5fe,stroke:#333,stroke-width:2px style C fill:#f5f5f5,stroke:#333,stroke-width:2px style D fill:#f5f5f5,stroke:#333,stroke-width:2px
The diagram above illustrates the system architecture and data flow:
This fork adds WebSocket notifications that allow you to monitor all MCP tool calls in real-time. Each tool call is broadcasted through WebSocket with detailed information about the endpoint and arguments.
interface MCPNotification { type: 'mcp-notification'; payload: { endpoint: string; // Tool name that was called content: any; // Call arguments timestamp: string; // ISO timestamp } }
The WebSocket server runs on port 27042 by default. You can customize this port using the WS_PORT
environment variable in your configuration:
"env": { "WS_PORT": "<custom port number>" // Example: "8080" }
https://plugins.jetbrains.com/plugin/26071-mcp-server
To use this with Claude Desktop, add the following to your claude_desktop_config.json
.
The full path on MacOS: ~/Library/Application\ Support/Claude/claude_desktop_config.json
, on Windows: %APPDATA%/Claude/claude_desktop_config.json
.
{ "mcpServers": { "ide": { "command": "npx", "args": ["-y", "mcp-proxy-sidecar"], "env": { "WS_PORT": "27042" // Optional: customize WebSocket port } } } }
The following environment variables can be configured in your claude_desktop_config.json
:
Variable | Description | Default |
---|---|---|
WS_PORT | Port for WebSocket server | 27042 |
IDE_PORT | Specific port for IDE connection | Auto-scans 63342-63352 |
HOST | Host address for IDE connection | 127.0.0.1 |
LOG_ENABLED | Enable debug logging | false |
Example configuration with all options:
{ "mcpServers": { "ide": { "command": "npx", "args": ["-y", "mcp-proxy-sidecar"], "env": { "WS_PORT": "27042", "IDE_PORT": "63342", "HOST": "127.0.0.1", "LOG_ENABLED": "true" } } } }
Note: If IDE_PORT
is not specified, the sidecar will automatically scan ports 63342-63352 to find the IDE.
pnpm install --frozen-lockfile
pnpm build
git checkout -b feature/amazing-feature
)git commit -m 'Add some amazing feature'
)git push origin feature/amazing-feature
)This package is published to npm with:
To publish a new version:
This is a fork of the JetBrains MCP Proxy Server. All credit for the original implementation goes to the JetBrains team.