dortegau
MCP Serverdortegaupublic

mcp proxy sidecar

A fork of JetBrains MCP Server that adds real-time WebSocket monitoring of all MCP interactions

Repository Info

1
Stars
1
Forks
1
Watchers
1
Issues
JavaScript
Language
Apache License 2.0
License

About This Server

A fork of JetBrains MCP Server that adds real-time WebSocket monitoring of all MCP interactions

Model Context Protocol (MCP) - This server can be integrated with AI applications to provide additional context and capabilities, enabling enhanced AI interactions and functionality.

Documentation

MCP Proxy Sidecar

npm version License Publish to NPM

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:

  1. MCP Clients (like Claude Desktop App) communicate with the Sidecar using MCP protocol
  2. The Sidecar translates and forwards commands to JetBrains IDE
  3. Responses from the IDE are sent back through the Sidecar
  4. 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:

VariableDescriptionDefault
WS_PORTPort for WebSocket server27042
IDE_PORTSpecific port for IDE connectionAuto-scans 63342-63352
HOSTHost address for IDE connection127.0.0.1
LOG_ENABLEDEnable debug loggingfalse

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

  1. Install dependencies:
    pnpm install --frozen-lockfile
    
  2. Build the project:
    pnpm build
    

Contributing

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Commit your changes (git commit -m 'Add some amazing feature')
  4. Push to the branch (git push origin feature/amazing-feature)
  5. 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:

  1. Update version in package.json
  2. Create and push a new tag matching the version
  3. Create a GitHub release from the tag
  4. 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.

Quick Start

1

Clone the repository

git clone https://github.com/dortegau/mcp-proxy-sidecar
2

Install dependencies

cd mcp-proxy-sidecar
npm install
3

Follow the documentation

Check the repository's README.md file for specific installation and usage instructions.

Repository Details

Ownerdortegau
Repomcp-proxy-sidecar
LanguageJavaScript
LicenseApache License 2.0
Last fetched8/10/2025

Recommended MCP Servers

💬

Discord MCP

Enable AI assistants to seamlessly interact with Discord servers, channels, and messages.

integrationsdiscordchat
🔗

Knit MCP

Connect AI agents to 200+ SaaS applications and automate workflows.

integrationsautomationsaas
🕷️

Apify MCP Server

Deploy and interact with Apify actors for web scraping and data extraction.

apifycrawlerdata
🌐

BrowserStack MCP

BrowserStack MCP Server for automated testing across multiple browsers.

testingqabrowsers

Zapier MCP

A Zapier server that provides automation capabilities for various apps.

zapierautomation