MCP Proxy Sidecar
一个修改过的 JetBrains MCP 服务器,增加了 WebSocket 监控功能,允许用户实时监控 MCP 工具调用,同时保持与原始实现的兼容性。
README
MCP 代理 Sidecar
这是 JetBrains MCP Server 的一个分支,增加了 WebSocket 监控功能,由 @dortegau 创建。
该项目在保持与原始实现的所有功能兼容的同时,通过 WebSocket 支持扩展了原始 MCP 服务器的功能。
架构
graph LR
A[MCP 客户端<br>例如 Claude<br>桌面应用]
B[MCP 代理<br>Sidecar<br>带 WebSocket]
C[JetBrains IDE]
D[WebSocket 客户端<br>监控]
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 消息格式
interface MCPNotification {
type: 'mcp-notification';
payload: {
endpoint: string; // 调用的工具名称
content: any; // 调用参数
timestamp: string; // ISO 时间戳
}
}
WebSocket 配置
WebSocket 服务器默认在端口 27042 上运行。您可以使用配置中的 WS_PORT 环境变量自定义此端口:
"env": {
"WS_PORT": "<自定义端口号>" // 示例: "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" // 可选:自定义 WebSocket 端口
}
}
}
}
配置选项
以下环境变量可以在您的 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 版本
- 工作流程将自动构建并发布到 npm
更新日志
1.0.0
- 从 @jetbrains/mcp-proxy 初始 fork
- 增加了 WebSocket 支持,用于实时工具调用监控
- 为了清晰起见,重命名了包
- 更新了文档和配置示例
鸣谢
这是 JetBrains MCP Proxy Server 的一个分支。原始实现的所有功劳归于 JetBrains 团队。
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。