Token导航 LogoToken导航TokenDH.com
Roslyn MCP Extension logo
运维云端未说明官方级别未说明来源级核验

Roslyn MCP Extension

MCP Server

一个Visual Studio扩展,通过Model Context Protocol (MCP)提供语义C#代码分析功能,利用Visual Studio中的实时Roslyn工作区。

工具数

7

提示词数

0

GitHub Stars

21

资源数

0
代码导航C#云端部署

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

sailro

提供方

sailro

最后核验

2026/5/17 20:23

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

Roslyn MCP扩展——Visual Studio扩展

一个Visual Studio扩展,它公开 语义C#代码分析 通过 模型上下文协议(MCP),由 实时Roslyn工作区 在Visual Studio内部。

与创建自己的独立Roslyn MCP服务器不同 MSBuildWorkspace,此扩展使用Visual Studio的实际 VisualStudioWorkspace --允许您访问未保存的更改、实时诊断和VS已经维护的完整编译状态。

MCP工具

工具说明
roslyn_validate_fileC#文件的编译器错误、警告和可选分析器诊断
roslyn_find_references查找整个解决方案中对符号的所有引用
roslyn_go_to_definition导航到符号的定义
roslyn_get_document_symbols列出文件中的所有符号,包括类型、修饰符和行跨度
roslyn_search_symbols在整个解决方案中按名称搜索符号声明
roslyn_find_dead_code查找可能未使用的类型、方法和字段
roslyn_get_symbol_info获取符号的详细信息和文档

先决条件

  • Visual Studio 2022或2026
  • .NET 10.0 SDK(用于服务器进程)

建筑

解决方案文件位于 src/RoslynMcpExtension.slnx。由于VSIX项目需要MSBuild,请通过Visual Studio或 msbuild:

# Full solution (requires Visual Studio / MSBuild)
msbuild src\RoslynMcpExtension.slnx

# Server and Shared projects only (dotnet CLI)
dotnet build src\RoslynMcpExtension.Server\RoslynMcpExtension.Server.csproj

VSIX项目会自动将MCP服务器进程发布到其输出目录。

安装

  1. 在发布模式下构建解决方案
  2. 安装生成的 .vsixsrc/RoslynMcpExtension/bin/Release/
  3. 重新启动Visual Studio

用法

启动服务器

加载解决方案时,服务器会自动启动(可在中配置 工具>选项>Roslyn MCP扩展).

您还可以通过以下方式手动启动/停止 工具>启动/停止Roslyn MCP服务器.

输出窗格

该扩展将所有活动记录到专用 “Roslyn MCP扩展” Visual Studio输出窗口中的窗格(查看>输出,然后从下拉列表中选择“Roslyn MCP扩展”)。这包括:

  • 服务器生命周期:启动、停止、进程退出、连接状态
  • 工具调用:每个MCP工具调用,包括名称和经过的时间
  • RPC事件:客户端连接/断开连接,管道错误
  • 异常:服务器启动、命令执行或VS交互过程中的任何错误
  • MCP服务器消息:HTTP服务器进程通过RPC登录回“输出”窗格

配置

工具>选项>Roslyn MCP扩展:

  • 港口:HTTP端口(默认值: 5050)
  • 服务器名称:显示给MCP客户端的名称
  • 自动启动:加载解决方案时自动启动

会话恢复

服务器支持透明 会话迁移如果服务器重新启动(例如通过停止/启动命令或解决方案切换),具有过时会话ID的MCP客户端将自动迁移到新会话,无需重新启动客户端。

连接MCP客户端

克劳德桌面版

添加到您的 claude_desktop_config.json:

{
  "mcpServers": {
    "roslyn-mcp": {
      "url": "http://localhost:5050/mcp"
    }
  }
}

VS代码(GitHub副本)

添加到您的 .vscode/mcp.json 或用户设置:

{
  "servers": {
    "roslyn-mcp": {
      "url": "http://localhost:5050/mcp"
    }
  }
}

任何MCP客户端

服务器公开了两种传输方式:

  • 可流式传输的HTTP: http://localhost:5050/mcp (推荐给现代MCP客户)
  • 传统SSE: http://localhost:5050/sse (为了与旧客户端向后兼容)

死代码分析

roslyn_find_dead_code 报告 可能 实时Visual Studio工作区中未使用的方法、字段和类型。它使用Roslyn语义引用加上额外的启发式方法,用于框架驱动和运行时驱动的代码路径,这些路径并不总是作为正常的源引用出现。

该分析故意保守,已经过滤了几种常见的假阳性模式:

  • 测试代码:xUnit、NUnit和MSTest属性,如 Fact, Theory, Test, TestCase, TestMethod, DataTestMethod、设置/清理属性以及包含或继承测试方法的类型
  • 接口契约:显式和隐式接口实现
  • XAML使用:从实例化的控件和窗口的事件处理程序、代码隐藏类型、附加依赖属性和无参数构造函数 .xaml --包括派生类型为XAML激活的基类
  • Visual Studio/MEF组合: Export, Import, ImportingConstructor,以及用装饰的Visual Studio包类型 PackageRegistrationAttribute
  • MCP工具入口点:装饰方法和类型 McpServerToolAttributeMcpServerToolTypeAttribute,由MCP框架动态调用
  • 生成和互操作代码:通用生成的文件、编译器生成的成员和封送处理/ StructLayout 领域
  • 推广模式:静态扩展容器,经典 this 扩展方法和较新的C# extension(...) { }
  • 继承的测试基类:抽象基类型,其派生类是测试容器

死代码检测永远不会完美,特别是对于反射重或外部激活的代码,因此在删除之前仍应检查结果。

示例提示

Validate the file C:\MyProject\src\UserService.cs for errors and warnings
Find all references to the method ProcessOrder in C:\MyProject\src\OrderService.cs at line 42, column 20
Go to the definition of the symbol at line 15, column 10 in C:\MyProject\src\OrderService.cs
List all symbols in C:\MyProject\src\UserService.cs
Search for all symbols named "Repository" in the current solution
What is the symbol at line 25, column 8 in C:\MyProject\src\OrderService.cs?
Find dead code in the active workspace
Find dead code including public members

它与其他Roslyn MCP服务器有何不同

功能此扩展其他roslyn/mcp服务器
工作区实时VS VisualStudioWorkspace独立 MSBuildWorkspace
未保存的更改✅ 查看当前编辑器状态❌ 仅保存文件
查找参考文献✅ 语义 SymbolFinder❌ 文本搜索或单独的工作区
诊断✅ VS编译器直播⚠️ 单独重新编译
构建集成✅ 使用VS编译状态❌ 单独汇编
安装安装VSIX,无需配置为每个项目配置解决方案路径
日志记录✅ 专用输出窗格❌ 控制台/文件日志
会话恢复✅ 透明迁移❌ 客户端必须重新连接

许可证

麻省理工学院

目录标签

目录标签

代码导航C#云端部署语义分析本地部署死代码检测VisualStudio扩展Roslyn

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

7

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP