About MCP Proxy Sidecar
MCP Proxy Sidecar is a fork of the JetBrains MCP Server for users connecting MCP clients to JetBrains IDEs. It forwards IDE commands and adds real-time WebSocket broadcasts of tool calls for monitoring.
Key features
- 01Forwards MCP commands to JetBrains IDE
- 02Broadcasts tool calls over WebSocket
- 03Includes endpoint, arguments, and timestamp
- 04Configurable WebSocket and IDE ports
Use cases
- 01Monitor tool calls while using a JetBrains IDE
- 02Connect an MCP client to a JetBrains IDE
MCP support
It receives MCP requests from clients, forwards commands to the JetBrains IDE, and returns responses. Tool calls are also broadcast to WebSocket clients.
Configuration
Local server config is the same for every client. Copy it into your client’s MCP config file.
We haven’t collected a package or remote endpoint for this server. Follow the instructions in the project README.
Tools
Local servers expose tools only once running on your machine, and the maintainer has not provided a tool list.
Details
From the project READMEMCP Proxy Sidecar
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.
Architecture
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:
- MCP Clients (like Claude Desktop App) communicate with the Sidecar using MCP protocol
- The Sidecar translates and forwards commands to JetBrains IDE
- Responses from the IDE are sent back through the Sidecar
- All tool calls are broadcasted via WebSocket for monitoring purposes
Features
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.
WebSocket Message Format
interface MCPNotification {
type: 'mcp-notification';
payload: {
endpoint: string; // Tool name that was called
content: any; // Call arguments
timestamp: string; // ISO timestamp
}
}
WebSocket Configuration
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"
}
Usage
Install MCP Server Plugin
https://plugins.jetbrains.com/plugin/26071-mcp-server
Usage with Claude Desktop
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
}
}
}
}
Configuration Options
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.
Development
Requirements
- Node.js 20.x
- pnpm (latest version)
Build
- Install dependencies:
pnpm install --frozen-lockfile - Build the project:
pnpm build
Contributing
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Publishing
This package is published to npm with:
- Provenance enabled for supply chain security
- Automated releases via GitHub Actions when creating a new release
- Public access on npm registry
To publish a new version:
- Update version in package.json
- Create and push a new tag matching the version
- Create a GitHub release from the tag
- The workflow will automatically build and publish to npm
Changelog
1.0.0
- Initial fork from @jetbrains/mcp-proxy
- Added WebSocket support for real-time tool call monitoring
- Renamed package for clarity
- Updated documentation and configuration examples
Credits
This is a fork of the JetBrains MCP Proxy Server. All credit for the original implementation goes to the JetBrains team.
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.