mcpField
B
Bifrost - VSCode Dev Tools MCP Server

Bifrost - VSCode Dev Tools MCP Server

本地服务
github.com/biegehydra开发工具22531 周前更新

关于 Bifrost - VSCode Dev Tools MCP Server

Bifrost 是一个 VS Code 扩展,内置 MCP 服务,将查找引用、重命名等语义化开发工具暴露给 AI 编码工具。它面向使用 Cursor、Cline、Roo Code 等 AI 助手的开发者,并支持多项目的独立端口配置。

主要功能

  1. 01基于语言服务的代码导航与符号搜索
  2. 02查找引用、定义与实现
  3. 03重命名与代码操作
  4. 04类型层级与调用层级查看
  5. 05按项目配置独立端口与端点
  6. 06HTTP/SSE 方式的 MCP 服务

适用场景

  1. 01让 AI 助手查找符号的所有引用
  2. 02在多个 VS Code 窗口中分别连接不同项目
  3. 03借助语义工具辅助跨文件重命名
  4. 04查看类继承关系与函数调用链

MCP 相关

该扩展是 MCP 服务,通过 HTTP/SSE 端点向 MCP 客户端暴露 VS Code 的语言功能,例如 find_usages、rename 和 get_call_hierarchy 等工具。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"BifrostMCP": {
"command": "npx",
"args": [
"-y",
"supergateway"
]
}
}
}
启动命令npx -y supergateway

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
npmsupergateway

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Bifrost - VSCode 开发工具 MCP 服务

VSCode 扩展下载量

此 VS Code 扩展提供了一个模型上下文协议(MCP)服务,可将 VSCode 强大的开发工具和语言功能开放给 AI 工具。使用支持 MCP 协议的 AI 编码助手时,它可以提供高级代码导航、分析和处理功能。

图片

目录

功能

  • 语言服务器集成:访问 VSCode 为任何受支持语言提供的语言服务器功能
  • 代码导航:查找引用、定义、实现等
  • 符号搜索:在工作区中搜索符号
  • 代码分析:获取语义令牌、文档符号和类型信息
  • 智能选择:使用语义选择范围,实现智能代码选择
  • 代码操作:访问重构建议和快速修复
  • HTTP/SSE 服务:通过兼容 MCP 的 HTTP 服务开放语言功能
  • AI 助手集成:可与支持 MCP 协议的 AI 助手配合使用

使用

安装
  1. 从 VS Code 市场安装此扩展
  2. 安装开发所需的语言专用扩展
  3. 在 VS Code 中打开项目
配置

扩展激活时会自动启动 MCP 服务。若要配置 AI 助手使用此服务:

  1. 服务默认运行在端口 8008 上(可通过 bifrost.config.json 配置)
  2. 配置兼容 MCP 的 AI 助手连接到:
    • SSE 端点:http://localhost:8008/sse
    • 消息端点:http://localhost:8008/message
大模型规则

我还提供了可用于 .cursorrules 文件的规则示例,以获得更好的效果。

Cursor 规则示例

MDC 规则示例

Cline 安装
  • 步骤 1. 安装 Supergateway
  • 步骤 2. 将配置添加到 cline
  • 步骤 3. 它会显示为红色,但似乎可以正常工作
Windows 配置
{
  "mcpServers": {
    "Bifrost": {
      "command": "cmd",
      "args": [
        "/c",
        "npx",
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 600
    }
  }
}
Mac/Linux 配置
{
  "mcpServers": {
    "Bifrost": {
      "command": "npx",
      "args": [
        "-y",
        "supergateway",
        "--sse",
        "http://localhost:8008/sse"
      ],
      "disabled": false,
      "autoApprove": [],
      "timeout": 600
    }
  }
}
Roo Code 安装
  • 步骤 1:将 SSE 配置添加到全局或基于项目的 MCP 配置中
{
  "mcpServers": {
    "Bifrost": {
      "url": "http://localhost:8008/sse"
    }
  }
}

截图_78

观看此视频,了解如何安装并与 cursor 配合使用

对于新版 CURSOR,请使用此代码
{
  "mcpServers": {
    "Bifrost": {
      "url": "http://localhost:8008/sse"
    }
  }
}

多项目支持

处理多个项目时,每个项目都可以拥有专用的 MCP 服务端点和端口。如果你打开了多个 VS Code 窗口,或正在处理多个需要语言服务器功能的项目,这会很有用。

项目配置

在项目根目录中创建 bifrost.config.json 文件:

{
    "projectName": "MyProject",
    "description": "Description of your project",
    "path": "/my-project",
    "port": 5642
}

服务将使用此配置来:

  • 创建项目专属端点(例如,http://localhost:5642/my-project/sse)
  • 向 AI 助手提供项目信息
  • 为每个项目使用专用端口
  • 将项目服务与其他正在运行的实例隔离
示例配置
  1. 后端 API 项目:
{
    "projectName": "BackendAPI",
    "description": "Node.js REST API with TypeScript",
    "path": "/backend-api",
    "port": 5643
}
  1. 前端 Web 应用:
{
    "projectName": "FrontendApp",
    "description": "React frontend application",
    "path": "/frontend-app",
    "port": 5644
}
端口配置

每个项目都应指定自己的唯一端口,以避免多个 VS Code 实例同时运行时发生冲突:

  • bifrost.config.json 中的 port 字段决定服务使用的端口
  • 如果未指定端口,为保持向后兼容,默认使用 8008
  • 为不同项目选择不同的端口,确保它们可以同时运行
  • 如果配置的端口已被占用,服务将无法启动,你需要:
    • 释放该端口
    • 更改配置中的端口
    • 关闭正在使用该端口的其他 VS Code 实例
连接到项目专属端点

更新 AI 助手配置,以使用项目专属端点和端口:

{
  "mcpServers": {
    "BackendAPI": {
      "url": "http://localhost:5643/backend-api/sse"
    },
    "FrontendApp": {
      "url": "http://localhost:5644/frontend-app/sse"
    }
  }
}
向后兼容性

如果不存在 bifrost.config.json,服务将使用默认配置:

  • 端口:8008
  • SSE 端点:http://localhost:8008/sse
  • 消息端点:http://localhost:8008/message

这可确保与现有配置和工具兼容。

可用工具

该扩展可访问许多 VSCode 语言功能,包括:

  • find_usages:查找所有符号引用。
  • go_to_definition:立即跳转到符号定义。
  • find_implementations:查找接口/抽象方法的实现。
  • get_hover_info:悬停时获取丰富的符号文档。
  • get_document_symbols:概览文件中的所有符号。
  • get_completions:提供上下文感知的自动补全。
  • get_signature_help:提供函数参数提示和重载信息。
  • get_rename_locations:安全地获取项目中可执行重命名的位置。
  • rename:重命名符号。
  • get_code_actions:提供快速修复、重构和改进建议。
  • get_semantic_tokens:提供增强的高亮数据。
  • get_call_hierarchy:查看调用关系(调用方/被调用方)。
  • get_type_hierarchy:可视化类和接口的继承关系。
  • get_code_lens:查看内联信息(引用、测试等)。
  • get_selection_range:智能扩展代码块的选区。
  • get_type_definition:跳转到基础类型定义。
  • get_declaration:导航到符号声明。
  • get_document_highlights:高亮符号的所有出现位置。
  • get_workspace_symbols:在整个工作区中搜索符号。

要求

  • Visual Studio Code 版本 1.93.0 或更高
  • 为要使用的语言安装相应的语言扩展(例如,为 C# 文件安装 C# 扩展)
可用命令
  • Bifrost MCP: Start Server - 手动在端口 8008 上启动 MCP 服务
  • Bifrost MCP: Start Server on port - 手动在指定端口上启动 MCP 服务
  • Bifrost MCP: Stop Server - 停止正在运行的 MCP 服务
  • Bifrost MCP: Open Debug Panel - 打开调试面板以测试可用工具

image

Star 历史

Star History Chart

工具使用示例

查找引用
{
  "name": "find_usages",
  "arguments": {
    "textDocument": {
      "uri": "file:///path/to/your/file"
    },
    "position": {
      "line": 10,
      "character": 15
    },
    "context": {
      "includeDeclaration": true
    }
  }
}
工作区符号搜索
{
  "name": "get_workspace_symbols",
  "arguments": {
    "query": "MyClass"
  }
}

故障排除

如果遇到问题:

  1. 确保已为项目安装相应的语言扩展
  2. 检查项目是否已在 VSCode 中正确加载
  3. 确认系统上的端口 8008 可用
  4. 检查 VSCode 输出面板中是否有错误消息

贡献

如果你想添加更多功能,可以参考VS Code 命令并着手实现。我认为我们仍需要添加重命名功能和其他一些功能。 欢迎向 GitHub 仓库提交问题或拉取请求。

vsce package

调试

使用 MCP: Open Debug Panel 命令 图片

许可证

此扩展根据 APGL-3.0 许可证授权。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。