关于 MCP Proxy Sidecar
MCP Proxy Sidecar 是 JetBrains MCP Server 的分支,供通过 MCP 客户端连接 JetBrains IDE 的用户使用。它转发 IDE 命令,并通过 WebSocket 实时广播工具调用以供监控。
主要功能
- 01将 MCP 命令转发至 JetBrains IDE
- 02通过 WebSocket 广播工具调用
- 03包含端点、参数和时间戳
- 04可配置 WebSocket 和 IDE 端口
适用场景
- 01使用 JetBrains IDE 时监控工具调用
- 02通过 MCP 客户端连接 JetBrains IDE
MCP 相关
它接收客户端的 MCP 请求,将命令转发给 JetBrains IDE 并返回响应。工具调用也会广播给 WebSocket 客户端。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
MCP Proxy Sidecar
这是 JetBrains MCP Server 的一个分支,由 @dortegau 创建,新增了 WebSocket 监控功能。
本项目在扩展原始 MCP 服务功能的同时,增加了 WebSocket 支持,并保持与原始实现所有功能的兼容性。
架构
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 桌面应用)使用 MCP 协议与 Sidecar 通信
- Sidecar 将命令转换并转发给 JetBrains IDE
- 来自 IDE 的响应会经由 Sidecar 返回
- 所有工具调用都会通过 WebSocket 广播,以供监控
功能
此分支新增了 WebSocket 通知,可让你实时监控所有 MCP 工具调用。每次工具调用都会通过 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 服务插件
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 会自动扫描 63342-63352 端口以查找 IDE。
开发
要求
- Node.js 20.x
- pnpm(最新版本)
构建
- 安装依赖:
pnpm install --frozen-lockfile - 构建项目:
pnpm build
参与贡献
- Fork 此仓库
- 创建功能分支(
git checkout -b feature/amazing-feature) - 提交更改(
git commit -m 'Add some amazing feature') - 推送到该分支(
git push origin feature/amazing-feature) - 创建 Pull Request
发布
此软件包发布到 npm,并具备以下特点:
- 启用来源证明以保障供应链安全
- 创建新版本时通过 GitHub Actions 自动发布
- 在 npm 注册表中公开访问
发布新版本:
- 更新 package.json 中的版本号
- 创建并推送与版本号一致的新标签
- 根据该标签创建 GitHub Release
- 工作流会自动构建并发布到 npm
更新日志
1.0.0
- 从 @jetbrains/mcp-proxy 初始分支
- 新增 WebSocket 支持,以实时监控工具调用
- 重命名软件包,使其名称更清晰
- 更新文档和配置示例
致谢
这是 JetBrains MCP Proxy Server 的一个分支。原始实现的所有功劳都归于 JetBrains 团队。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。