BifrostMCP 是一个 Visual Studio Code 扩展,它提供一个符合 MCP(Model Context Protocol)协议的服务器,把 VS Code 强大的开发工具和语言功能暴露给 AI 工具,从而让支持 MCP 协议的 AI 编程助手获得高级的代码导航、分析和操作能力。
用途 该扩展主要用于将 VS Code 的语言服务器能力、符号搜索、代码分析和重构功能开放给 AI 编程助手,使其在辅助编码时能够进行语义级别的代码理解和操作。
主要能力
- 语言服务器集成:访问 VS Code 对任意受支持语言的语言服务器能力。
- 代码导航:查找引用、定义、实现等。
- 符号搜索:在整个工作区中搜索符号。
- 代码分析:获取语义标记、文档符号和类型信息。
- 智能选择:使用语义选择范围进行智能代码选择。
- 代码操作:访问重构建议和快速修复。
- HTTP/SSE 服务器:通过兼容 MCP 的 HTTP 服务器暴露语言功能。
- AI 助手集成:可与支持 MCP 协议的 AI 助手配合使用。
可用工具 扩展暴露的工具包括: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(在整个工作区中搜索符号)。
使用方式
- 从 VS Code 市场安装该扩展。
- 安装所需的语言特定扩展。
- 在 VS Code 中打开项目。
- 扩展激活后会自动启动 MCP 服务器。默认端口为 8008(可通过 bifrost.config.json 配置)。
- 将兼容 MCP 的 AI 助手配置为连接:SSE 端点 http://localhost:8008/sse,消息端点 http://localhost:8008/message。
- 提供示例规则可用于 .cursorrules 文件以获得更好效果,另有示例 MDC 规则。
多项目支持 每个项目可以拥有独立的 MCP 服务器端点和端口。在项目根目录创建 bifrost.config.json 文件,服务器将据此创建项目专用端点(如 http://localhost:5642/my-project/sse)、向 AI 助手提供项目信息、为每个项目使用专用端口并隔离项目服务。每个项目应指定唯一端口以避免多个 VS Code 实例冲突;未指定端口时默认使用 8008 以保持向后兼容。若配置端口已被占用,服务器将启动失败,需要释放端口、更改配置端口或关闭占用该端口的其他 VS Code 实例。
可用命令
- Bifrost MCP: Start Server:在端口 8008 手动启动 MCP 服务器。
- Bifrost MCP: Start Server on port:在指定端口手动启动 MCP 服务器。
- Bifrost MCP: Stop Server:停止正在运行的 MCP 服务器。
- Bifrost MCP: Open Debug Panel:打开调试面板以测试可用工具。
适用场景 适用于使用支持 MCP 协议的 AI 编程助手(如 Cursor、Cline、Roo Code 等)进行代码导航、分析、重构和符号搜索的开发场景。
限制 需要 Visual Studio Code 1.93.0 或更高版本,以及针对所使用语言的语言扩展。若遇到问题,需检查语言扩展是否安装、项目是否在 VS Code 中正确加载、端口 8008 是否可用,并查看 VS Code 输出面板中的错误信息。该扩展采用 APGL-3.0 许可证。