VSCode MCP服务器扩展

将VSCode转变为强大的MCP服务器,为AI助手提供无缝访问整个开发环境的能力,支持智能多实例协调。

  • by P-de-Jong
  • TypeScript
  • 本地部署
  • 2 星标
  • 更新于
在 GitHub 查看 P-de-Jong/codebridge-mcp

使用说明

码桥MCP

将您的VSCode转换为强大的MCP服务器 -通过智能多实例协调,让AI助手无缝访问您的整个开发环境。

🚀 快速设置

1.安装和自动启动

  1. 在VSCode中安装CodeBridge MCP扩展
  2. 扩展自动作为端口上的MCP服务器启动 9100
  3. 您的VSCode现在可以通过MCP访问! 🎉

2.连接您的AI助手

克劳德代码

claude mcp add --transport http codebridge http://localhost:9100/mcp

OpenCode配置

{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "codebridge-mcp": {
      "type": "local",
      "command": [
        "npx", "mcp-remote", "http://localhost:9100/mcp",
        "--allow-http", "--transport", "http-only"
      ],
      "enabled": true
    }
  }
}

Claude桌面配置

{
  "mcpServers": {
    "codebridge-mcp": {
      "command": "npx",
      "args": [
        "mcp-remote", "http://localhost:9100/mcp",
        "--allow-http", "--transport", "http-only"
      ]
    }
  }
}

任何MCP客户端

http://localhost:9100/mcp

✨ 为什么选择CodeBridge MCP?

🏗️ 全栈开发变得简单

  • 多实例支持:React前端(VSCode#1)+Node.js后端(VSCode#2)+移动应用程序(VSCode#3)-所有这些都可以通过一个MCP连接访问
  • 智能路由:AI自动知道每个请求的目标工作区
  • 现场环境:实时诊断、打开的文件和编辑器状态,而不仅仅是静态文件
  • 零设置:适用于您现有的VSCode设置,无需LSP配置

🤖 AI驱动的功能

  • 实时分析:AI在您编码时看到实时诊断和错误
  • 跨项目情报:AI理解前端/后端代码之间的关系
  • 情境感知建议:基于您的实际工作空间状态和当前选择
  • 元数据:符号、参考、定义-AI的完整IDE上下文

🛠️ 可用的MCP工具

  • get_workspaces -发现所有VSCode实例和工作区文件夹
  • get_diagnostics -实时LSP诊断,以工作区为目标
  • get_open_files -跨所有实例打开文件(聚合)
  • get_file_content -具有工作区特定路由的文件内容
  • get_selection -选定的文本和上下文,以工作区为目标
  • find_references -跨工作区符号引用
  • find_definition -带有工作区布线的符号定义
  • get_workspace_symbols -在所有工作空间中搜索符号
  • search_files -使用工作区过滤进行文件搜索

📋 需求

  • VSCode 1.80.0+ -扩展程序在VSCode内部运行
  • Node.js 18+ -用于MCP客户端连接(如果使用基于npm的客户端)
  • 无外部依赖关系 -扩展中的所有内容都是自包含的

备注:该扩展创建了一个HTTP MCP服务器,任何兼容MCP的客户端都可以连接到该服务器。

⚙️ 扩展设置

服务器配置

  • codebridge-mcp.server.autoStart:激活时自动启动MCP服务器(默认值:true)
  • codebridge-mcp.server.port:首选MCP服务器端口(默认值:9100)
  • codebridge-mcp.debug.enableLogging:用于故障排除的调试日志记录(默认值:false)

多实例协调

  • codebridge-mcp.coordination.enabled:启用多实例协调(默认值:true)
  • codebridge-mcp.coordination.mode:强制协调模式-“自动”、“主”、“工作”、“独立”(默认:“自动”)
  • codebridge-mcp.coordination.masterPort:主实例端口(默认值:9100)
  • codebridge-mcp.coordination.workerPortRange:工作端口范围(默认值:[91019199])

故障切换和可靠性

  • codebridge-mcp.failover.enabled:启用自动故障转移(默认值:true)
  • codebridge-mcp.failover.electionTimeout:领导者选举超时(毫秒)(默认值:5000)
  • codebridge-mcp.failover.healthCheckInterval:健康检查频率(毫秒)(默认值:3000)

🎛️ 命令

服务器管理

  • CodeBridge MCP: Start Server -启动MCP服务器
  • CodeBridge MCP: Stop Server -停止MCP服务器
  • CodeBridge MCP: Show Server Status -显示服务器和工作区信息
  • CodeBridge MCP: Toggle Debug Logging -启用/禁用调试日志记录

多实例协调

  • CodeBridge MCP: Show Coordination Status -显示主/工作状态和连接
  • CodeBridge MCP: List Connected Instances -显示所有连接的VSCode实例
  • CodeBridge MCP: Force Master Mode -超控协调检测(高级)
  • CodeBridge MCP: Reset Coordination -重启协调系统

3.开始使用MCP工具

// Discover all your workspaces
await client.callTool("get_workspaces", {});

// Get real-time diagnostics from your code
await client.callTool("get_diagnostics", { 
  workspace: "MyProject" 
});

// Access your open files
await client.callTool("get_open_files", {});

// Get your current selection
await client.callTool("get_selection", {});

4.多实例设置(高级)

非常适合 全栈开发 -前端、后端、移动应用程序等都有单独的VSCode实例,所有这些都可以通过一个MCP连接访问!

工作流程示例:

VSCode #1: React Frontend (port 9100 - Master)
VSCode #2: Node.js Backend (port 9101 - Worker)  
VSCode #3: Mobile App (port 9102 - Worker)

→ AI Assistant connects once to port 9100
→ Gets unified access to all three codebases
→ Can analyze frontend/backend interactions
→ Routes tools to the right project automatically

🏗️ 建筑

主工人协调

┌─────────────────┐    ┌─────────────────┐    ┌─────────────────┐
│   VSCode #1     │    │   VSCode #2     │    │   VSCode #3     │
│   (Master)      │    │   (Worker)      │    │   (Worker)      │
│   Port: 9100    │◄──►│   Port: 9101    │    │   Port: 9102    │
│   ┌───────────┐ │    │   ┌───────────┐ │    │   ┌───────────┐ │
│   │MCP Server │ │    │   │Local Tools│ │    │   │Local Tools│ │
│   │+ Coord    │ │    │   │           │ │    │   │           │ │
│   └───────────┘ │    │   └───────────┘ │    │   └───────────┘ │
└─────────────────┘    └─────────────────┘    └─────────────────┘
         ▲
         │
    ┌────────────┐
    │ MCP Client │ (Always connects to port 9100)
    └────────────┘

技术栈

  • Express.js:HTTP服务器和协调端点
  • @模型上下文协议/sdk:符合标准的MCP传输
  • VSCode API代码:直接访问以获得最佳性能
  • TypeScript:全类型安全和稳健的错误处理
  • 领导人选举:Raft激发了容错共识

🔧 发展

构建并打包扩展:

# Install dependencies
bun install

# Build the extension
bun run build

# Package for distribution
bun run package

# Run in development mode
bun run dev

🐛 故障排除

端口已在使用中

如果端口9100被占用,扩展将自动找到下一个可用端口(9101、9102等)。检查VSCode状态栏或运行 CodeBridge MCP: Show Server Status 查看实际端口。

连接问题

  1. 确保VSCode扩展正在运行(CodeBridge MCP: Show Server Status)
  2. 验证MCP端点URL是否与您的服务器端口匹配
  3. 检查防火墙设置是否允许本地主机连接
  4. 启用调试日志记录: CodeBridge MCP: Toggle Debug Logging

多实例问题

  • 仅将MCP客户端连接到主实例(通常是端口9100)
  • 使用 CodeBridge MCP: Show Coordination Status 检查主/工作人员角色
  • 必要时重置协调: CodeBridge MCP: Reset Coordination
# Install dependencies
bun install

# Build the extension
bun run build

# Package for distribution
bun run package

# Run in development mode
bun run dev

🤝 贡献

看 Developpent.md 了解技术细节和贡献指南。