关于 Roslyn Workbench MCP
Roslyn Workbench MCP 是面向 C# 开发者和编码 Agent 的本地 MCP 服务,提供编译器语义分析及 Roslyn 生成的修复与重构。更改先进入事务供审查,提交前不会写入源文件。
主要功能
- 01发现并应用 Roslyn Code Actions
- 02导航符号并追踪引用
- 03检查诊断与代码结构
- 04分析项目依赖和变更影响
- 05预览、提交或回滚事务
适用场景
- 01应用编译器建议的 C# 修复
- 02追踪调用方与实现
- 03写入前审查拟议重构
- 04评估解决方案范围内的更改
MCP 相关
它通过 stdio 在本地运行,向 MCP 客户端提供工作区导航、分析、Code Actions 和工作区管理功能。可用的修改及事务工具取决于运行模式。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。
工具
本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。
详细介绍
Roslyn Workbench MCP
将 Visual Studio C# 工作流带给你的 Agent
你在 Visual Studio 2026 中使用的 C# 修复和重构功能,如今也可供你的 AI 编码 Agent 使用。
Roslyn Workbench MCP 通过本地 MCP 服务,让你的 Agent 使用 Roslyn 代码操作和感知编译器的 C# 分析。你的 Agent 可以查找适用的修复和重构,应用编译器生成的更改,并在写入源文件前向你展示结果。它使用与 Visual Studio C# 工具相同的 .NET Compiler Platform。
使用 Roslyn 代码操作
通过一个发现和暂存工作流,即可使用 230 多个符合条件的内置 Roslyn 代码修复和重构提供程序。你可以让 Agent:
- 提取方法、引入参数、内联临时变量或封装字段。
- 将循环转换为 LINQ,或使用适用的 Roslyn 重构来改进代码。
- 查找当前文档中针对编译器诊断和分析器诊断的修复。
- 准备适用于文档、项目或解决方案的受支持“全部修复”操作。
- 暂存选定的更改,检查事务差异,然后提交或回滚。
这些更改由 Roslyn 生成,并根据你的实际代码和项目配置选定,而不是让 Agent 通过文本替换来模拟重构。有关发现、“全部修复”和暂存,请参阅 代码操作指南。
提供程序的数量不等于单个操作的数量:一个提供程序可以提供多个选项,且是否适用取决于代码、诊断和项目配置。需要交互式选项对话框、安装软件包或进行不受支持的项目系统更改的操作不包括在内;本工具并未完整复现 Visual Studio 的所有功能。
在更改代码前了解它
- 使用编译器语义跳转到定义、查找引用和实现,并追踪调用方和被调用方。
- 在持久的多工作区会话中探索类型层次结构、项目依赖项和公共 API 范围。
- 检查诊断、异步用法、可空性和控制流,并调查更改和测试的影响。
- 限制 Agent 的响应范围,避免将整个解决方案加载到对话中。
内置参考目录包含 57 个 MCP 工具定义,涵盖导航、分析、代码操作和工作区管理。实时工具集取决于运行模式、配置和已启用的插件;三个代码操作工具可提供许多适用的修复和重构,无需为每个提供程序单独添加一个 MCP 工具。
编译器驱动的更改,可审阅的事务
源代码更改通过事务暂存,并支持预览、历史记录、回滚、冲突检测和崩溃恢复。代码操作和符号重命名使用相同的事务边界:只有显式提交事务后,才会写入源文件。在需要审批的模式下,审核内容会绑定到精确更改回执。
服务通过 stdio 在本地运行,工作区分析和重构均在你的计算机上执行。默认仅进行检查;你可以选择何时启用源代码更改。构建、测试和 Git 提交仍是常规开发工作流的一部分。
安装
Roslyn Workbench 通过 NuGet.org 以 Lantean.Roslyn.Workbench.Mcp .NET 工具的形式分发,需要受支持的 .NET 10 SDK。请固定为你打算运行的确切发行版本。兼容性政策规定了稳定的 1.x 版本对工具、错误和续接、恢复格式及插件 API 的保障。
无需永久安装,即可运行指定版本的软件包:
dnx Lantean.Roslyn.Workbench.Mcp@VERSION --yes -- --version
或者,使用 dotnet tool install --global Lantean.Roslyn.Workbench.Mcp --version VERSION 将同一软件包安装为全局工具。
有关安装和 MCP 客户端配置,请参阅文档站点。
配置任何能够启动本地 stdio 进程的 MCP 客户端,使其运行:
{
"command": "roslyn-workbench-mcp",
"args": [
"--operational-mode", "inspection-only",
"--state-directory", "/absolute/path/to/roslyn-workbench-state"
]
}
inspection-only 是安全的默认模式,不会公开源代码修改或事务工具。选择 transactional,以使用由客户端确认的提交;选择 approval-required,以要求确认与确切的事务审查回执绑定;或者有意选择 autonomous-trusted,以在没有 Host 确认的情况下执行事务。有关客户端 elicitation 要求,请参阅配置指南。
支持的环境
支持 Windows x64、Linux x64 和 WSL2 x64。在完成托管验证之前,macOS x64 和 ARM64 仅尽力支持。Windows ARM64 和 Linux ARM64 目前不是受支持的发行目标。任何支持本地 stdio 服务的 MCP 客户端都可以使用此服务;需要 elicitation 的操作取决于客户端是否声明支持并允许此功能。
Roslyn Workbench 技能
此可选技能可引导 Agent 完成工作区选择、语义检查、Code Actions、事务和恢复。支持 MCP 资源的客户端可以从已安装的服务读取 skill://roslyn-workbench/SKILL.md,其中 11 个针对特定任务的参考资料仅会在需要时加载。
如需单独安装,下载开发版技能包,并按照安装指南操作。选择与你安装的服务相匹配的文档,以便在有可用版本后获取对应发行版的技能包。将完整的 roslyn-workbench 目录(包括其参考资料、客户端元数据和徽标)解压到客户端支持的技能位置。技能的发现和激活取决于客户端;该技能不会更改权限或 Host 政策。
改进 Agent 的工具选择
连接 Roslyn Workbench 后,其工具即可使用,但当普通文件和文本搜索工具也能尝试完成任务时,MCP 客户端可能不会自动选择这些工具。简短的仓库说明可以告知 Agent 何时应优先使用能够理解编译器的工具,而不必强制其在所有 C# 工作流中都使用这些工具。
将以下基本说明添加到 Agent 使用的用户级指导中;如果只希望它适用于特定代码库,也可以添加到仓库指导中:
## Roslyn Workbench
When Roslyn Workbench MCP is available, consider using it for C# work that benefits from compiler semantics, including precise symbol navigation, references, diagnostics, code structure, Code Actions, change-impact analysis and transactional source changes. Its semantic tools are particularly useful when symbol identity or compiler interpretation matters, while the repository's normal tools and commands remain suitable for builds, tests, package management, documentation and non-semantic file operations. Transaction previews and structured next actions can help keep source changes safe and easy to review.
文档站点说明了 Codex、GitHub Copilot、Claude Code 和其他 MCP 客户端的用户级及仓库级配置方法。如果在多个仓库中都能使用 Roslyn Workbench,用户级指导可以避免重复添加说明;仓库指导则可以为单个代码库提供更具体的指导。
信任与事务安全
只打开你信任的工作区。加载工作区会评估 MSBuild 项目逻辑,后续操作还可能以 Host 进程的操作系统权限加载项目分析器。默认情况下会禁用外部插件加载;提供 --enable-plugins 即表示明确选择将已配置的第三方插件作为受信任的进程内代码加载,这些代码不受沙箱隔离。
配置为 transactional 或 autonomous-trusted 模式时,典型的安全工作流如下:
- 检查
server-status,并使用workspace-open打开可信的解决方案、解决方案筛选器或项目。 - 使用查询工具检查已加载的工作区。
- 检查
workspace-status,然后使用transaction-start开始事务。 - 暂存一项变更或代码操作,并使用
transaction-preview检查。 - 提交已审核的事务,或使用
transaction-rollback将其丢弃。
实时 MCP tools/list 响应是运行中实例所公开工具和架构的权威来源。文档网站提供更完善的、带版本信息的工具参考和 Agent 指南。
插件与贡献
插件作者请参考单独的 Lantean.Roslyn.Workbench.Mcp.Plugins 包。有关受支持的 API 和部署布局,请参阅插件编写指南。用户需手动安装可信插件;目前没有经过筛选的插件仓库。
欢迎外部拉取请求。请先讨论范围,并使用 GitHub 可验证的加密签名为每个贡献的提交签名。流程请参阅贡献政策。
支持与项目链接
致谢
Roslyn Workbench MCP 得以实现,离不开 .NET Compiler Platform。感谢 Roslyn 团队构建并维护编译器工具,为其语义分析和重构功能提供支持。
感谢 Sentry 为其可选的错误报告服务提供开源许可证,支持本项目。
Roslyn Workbench MCP 采用 MIT License 许可。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。