C# Lang MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • The MCP server provides integration with VS Code's development tools for working with GitHub repositories, facilitating code navigation, analysis, and manipulation capabilities when using AI coding assistants.

Bifrost - VSCode 开发工具 MCP 服务器

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

特征

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

用法

Cline 安装

  • 步骤 1. 安装超级网关
  • 步骤2. 将配置添加到cline
  • 步骤 3. 它会显示红色,但似乎工作正常
{ "mcpServers": { "Bifrost": { "command": "cmd", "args": [ "/c", "npx", "-y", "supergateway", "--sse", "http://localhost:8008/sse" ], "disabled": false, "autoApprove": [], "timeout": 600 } } }

Roo 代码安装

  • 步骤 1:将 SSE 配置添加到全局或基于项目的 MCP 配置中
{ "mcpServers": { "Bifrost": { "url": "http://localhost:8008/sse" } } }

按照此视频安装并使用 Cursor。我还提供了可在 .cursorrules 文件中使用的示例规则,以获得更好的效果。

游标规则示例

对于新版本的 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 :在整个项目中安全地重命名符号。
  • 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# 扩展)

安装

  1. 从 VS Code 市场安装此扩展
  2. 安装开发所需的任何特定语言的扩展
  3. 在 VS Code 中打开你的项目

用法

扩展程序激活后将自动启动 MCP 服务器。要配置 AI 助手使用此服务器,请执行以下操作:

  1. 服务器默认在 8008 端口运行
  2. 配置与 MCP 兼容的 AI 助手以连接到:
    • SSE 端点: http://localhost:8008/sse
    • 消息端点: http://localhost:8008/message

可用命令

  • Bifrost MCP: Start Server - 在端口 8008 上手动启动 MCP 服务器
  • Bifrost MCP: Start Server on port - 在指定端口上手动启动 MCP 服务器
  • Bifrost MCP: Stop Server - 停止正在运行的 MCP 服务器
  • Bifrost MCP: Open Debug Panel - 打开调试面板以测试可用的工具

星史

工具使用示例

查找参考

{ "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" } }

调试

使用MCP: Open Debug Panel命令

故障排除

如果您遇到问题:

  1. 确保已为你的项目安装了适当的语言扩展
  2. 检查你的项目是否已在 VSCode 中正确加载
  3. 验证端口 8008 在您的系统上可用
  4. 检查 VSCode 输出面板是否有任何错误消息

贡献

如果您想添加其他功能,以下是Vscodes 命令。我认为我们还需要重命名和其他一些功能。请随时向GitHub 仓库提交问题或拉取请求。

执照

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

ID: cl0idwbofr