Skip to main content
Glama
dortegau

MCP Proxy Sidecar

by dortegau

MCP 代理边车

npm 版本 执照 发布到 NPM

JetBrains MCP Server的一个分支,添加了 WebSocket 监控功能,由@dortegau创建。

该项目通过 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

上图说明了系统架构和数据流:

  1. MCP 客户端(例如 Claude 桌面应用程序)使用 MCP 协议与 Sidecar 进行通信

  2. Sidecar 转换命令并将其转发到 JetBrains IDE

  3. IDE 的响应通过 Sidecar 发送回来

  4. 所有工具调用均通过 WebSocket 广播,以进行监控

Related MCP server: VSCode LSP MCP Server

特征

此分支添加了 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(最新版本)

建造

  1. 安装依赖项:

    pnpm install --frozen-lockfile
  2. 构建项目:

    pnpm build

贡献

  1. 分叉存储库

  2. 创建你的功能分支( git checkout -b feature/amazing-feature )

  3. 提交您的更改( git commit -m 'Add some amazing feature' )

  4. 推送到分支( git push origin feature/amazing-feature )

  5. 打开拉取请求

出版

该软件包已发布到 npm,其中包含:

  • 溯源功能可确保供应链安全

  • 创建新版本时通过 GitHub Actions 自动发布

  • npm 注册表上的公共访问

要发布新版本:

  1. 更新 package.json 中的版本

  2. 创建并推送与版本匹配的新标签

  3. 从标签创建 GitHub 版本

  4. 工作流程将自动构建并发布到 npm

变更日志

1.0.0

  • 来自 @jetbrains/mcp-proxy 的初始分支

  • 增加了 WebSocket 支持,用于实时工具调用监控

  • 为清晰起见,重命名包

  • 更新的文档和配置示例

致谢

这是JetBrains MCP 代理服务器的一个分支。所有原创实现的功劳都归于 JetBrains 团队。

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that enables programmatic management and monitoring of development servers through a unified interface and interactive TUI. It provides tools for process control, log streaming, and experimental browser automation via Playwright.
    1
    MIT
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI-driven interactions with Minecraft through a WebSocket-based server and MCP protocol, allowing external MCP clients and in-game chat to trigger AI tools.
    4
    MIT