dortegau
MCP 服务配置
复制以下 JSON 到 OPClaw 或其他 MCP 客户端的配置文件中即可使用
{
"mcpServers": {
"ide": {
"args": [
"-y",
"mcp-proxy-sidecar"
],
"command": "npx",
"env": {
"HOST": "127.0.0.1",
"IDE_PORT": "63342",
"LOG_ENABLED": "true",
"WS_PORT": "27042"
}
}
}
}
服务介绍
MCP 代理 Sidecar
这是 JetBrains MCP Server 的一个分支,由 @dortegau 创建,增加了 WebSocket 监控功能。
该项目在保留原始 MCP 服务器所有功能的同时,扩展了对 WebSocket 的支持。
架构
mermaid
graph LR
A[MCP 客户端例如 Claude桌面应用]
B[MCP 代理Sidecar带 WebSocket]
C[JetBrains IDE]
D[WebSocket 客户端监控]
A <--MCP 请求/响应--> B
B <--IDE 命令/响应--> C
B --WebSocket 通知<br>端口 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 消息格式
typescript
interface MCPNotification {
type: mcp-notification ;
payload: {
endpoint: string; // 调用的工具名称
content: any; // 调用参数
timestamp: string; // ISO 时间戳
}
}
WebSocket 配置
WebSocket 服务器默认运行在端口 27042 上。您可以通过配置 WS_PORT 环境变量来自定义此端口:
json
"env": {
"WS_PORT": "<自定义端口号>" // 示例: "8080"
}
使用
安装 MCP 服务器插件
https://plugins.jetbrains.com/plugin/26071-mcp-server
与 Claude 桌面应用一起使用
要与 Claude 桌面应用一起使用,请将以下内容添加到您的 claude_desktop_config.json 中。
MacOS 上的完整路径为 ~/Library/Application Support/Claude/claude_desktop_config.json,Windows 上的完整路径为 %APPDATA%/Claude/claude_desktop_config.json。
json
{
"mcpServers": {
"ide": {
"command": "npx",
"args": ["-y", "mcp-proxy-sidecar"],
"env": {
"WS_PORT": "27042" // 可选:自定义 WebSocket 端口
}
}
}
}
配置选项
以下环境变量可以在您的 claude_desktop_config.json 中配置:
| 变量 | 描述 | 默认值 |
|---|---|---|
WS_PORT |
WebSocket 服务器端口 | 27042 |
IDE_PORT |
IDE 连接的特定端口 | 自动扫描 63342-63352 |
HOST |
IDE 连接的主机地址 | 127.0.0.1 |
LOG_ENABLED |
启用调试日志 | false |
包含所有选项的示例配置:
json
{
"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 (最新版本)
构建
- 安装依赖项:
bash
pnpm install --frozen-lockfile2. 构建项目:
bash
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 发布
- 工作流将自动构建并发布到 npm
变更日志
1.0.0
- 从 @jetbrains/mcp-proxy 初始 fork
- 添加了 WebSocket 支持,用于实时工具调用监控
- 为清晰起见重命名包
- 更新文档和配置示例
致谢
这是 JetBrains MCP Proxy Server 的一个 fork。原始实现的所有功劳归功于 JetBrains 团队。