MCP Proxy Sidecar について
MCP Proxy Sidecarは、MCPクライアントからJetBrains IDEに接続するためのJetBrains MCP Serverのフォークです。IDEコマンドを中継し、ツール呼び出しをWebSocketでリアルタイム配信して監視できます。
主な機能
- 01MCPコマンドをJetBrains IDEに転送
- 02WebSocketでツール呼び出しを配信
- 03エンドポイント、引数、タイムスタンプを含む通知
- 04WebSocketとIDEのポート設定
活用シーン
- 01JetBrains IDE利用時のツール呼び出し監視
- 02MCPクライアントからJetBrains IDEへの接続
MCP 対応
クライアントからMCPリクエストを受け取り、JetBrains IDEへコマンドを転送して応答を返します。ツール呼び出しはWebSocketクライアントにも配信されます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Proxy Sidecar
@dortegau が作成した、WebSocket モニタリング機能を追加した JetBrains MCP Server のフォークです。
このプロジェクトは、元の実装のすべての機能との互換性を維持しながら、WebSocket サポートによって元の MCP サーバーの機能を拡張します。
アーキテクチャ
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
上の図は、システムアーキテクチャとデータフローを示しています。
- MCP クライアント(Claude Desktop App など)は、MCP プロトコルを使用して Sidecar と通信します
- Sidecar はコマンドを JetBrains IDE に変換して転送します
- IDE からの応答は Sidecar を経由して返されます
- すべてのツール呼び出しは、モニタリングのために WebSocket 経由でブロードキャストされます
機能
このフォークでは、すべての MCP ツール呼び出しをリアルタイムでモニタリングできる WebSocket 通知を追加しています。各ツール呼び出しは、エンドポイントと引数に関する詳細情報とともに WebSocket 経由でブロードキャストされます。
WebSocket メッセージ形式
interface MCPNotification {
type: 'mcp-notification';
payload: {
endpoint: string; // Tool name that was called
content: any; // Call arguments
timestamp: string; // ISO timestamp
}
}
WebSocket の設定
WebSocket サーバーは、デフォルトでポート 27042 で実行されます。設定内の WS_PORT 環境変数を使用して、このポートを変更できます。
"env": {
"WS_PORT": "<custom port number>" // Example: "8080"
}
使用方法
MCP Server プラグインのインストール
https://plugins.jetbrains.com/plugin/26071-mcp-server
Claude Desktop での使用
Claude Desktop で使用するには、次の内容を claude_desktop_config.json に追加します。
MacOS でのフルパスは ~/Library/Application\ Support/Claude/claude_desktop_config.json、Windows では %APPDATA%/Claude/claude_desktop_config.json です。
{
"mcpServers": {
"ide": {
"command": "npx",
"args": ["-y", "mcp-proxy-sidecar"],
"env": {
"WS_PORT": "27042" // Optional: customize WebSocket port
}
}
}
}
設定オプション
次の環境変数を claude_desktop_config.json で設定できます。
| 変数 | 説明 | デフォルト |
|---|---|---|
WS_PORT | WebSocket サーバーのポート | 27042 |
IDE_PORT | IDE 接続用の特定のポート | 63342-63352 を自動スキャン |
HOST | IDE 接続用のホストアドレス | 127.0.0.1 |
LOG_ENABLED | デバッグログを有効にする | false |
すべてのオプションを含む設定例:
{
"mcpServers": {
"ide": {
"command": "npx",
"args": ["-y", "mcp-proxy-sidecar"],
"env": {
"WS_PORT": "27042",
"IDE_PORT": "63342",
"HOST": "127.0.0.1",
"LOG_ENABLED": "true"
}
}
}
}
注:IDE_PORT を指定しない場合、sidecar は IDE を見つけるためにポート 63342-63352 を自動的にスキャンします。
開発
要件
- Node.js 20.x
- pnpm(最新バージョン)
ビルド
- 依存関係をインストールします。
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) - プルリクエストを作成します
公開
このパッケージは、次の設定で npm に公開されています。
- サプライチェーンのセキュリティのために Provenance を有効化
- 新しいリリースの作成時に GitHub Actions 経由で自動リリース
- npm レジストリで公開
新しいバージョンを公開するには:
- package.json のバージョンを更新します
- バージョンに一致する新しいタグを作成してプッシュします
- そのタグから GitHub リリースを作成します
- ワークフローが自動的にビルドし、npm に公開します
変更履歴
1.0.0
- @jetbrains/mcp-proxy からの初期フォーク
- ツール呼び出しをリアルタイムでモニタリングする WebSocket サポートを追加
- 分かりやすさのためにパッケージ名を変更
- ドキュメントと設定例を更新
クレジット
これは JetBrains MCP Proxy Server のフォークです。元の実装に関する功績はすべて JetBrains チームに帰属します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。