Token导航 LogoToken导航TokenDH.com
Dotnet Roslyn MCP logo
开发工具未说明官方级别未说明来源级核验

Dotnet Roslyn MCP

MCP Server

一个基于Microsoft Roslyn SDK的模型上下文协议(MCP)stdio服务器,为AI编码助手提供语义代码分析、导航、重构和诊断功能,适用于.NET/C#代码库。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
代码分析C#Claude开发工具Claude

安装说明

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

作者 / 组织

brendankowitz

提供方

brendankowitz

最后核验

2026/5/17 20:22

快速接入

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

详细介绍

Roslyn MCP服务器

![NuGet Tool](https://www.nuget.org/packages/dotnet-roslyn-mcp) ![.NET 8.0](https://dotnet.microsoft.com/download/dotnet/8.0) ![License: MIT](LICENSE)

一个模型上下文协议(MCP)stdio服务器,将Microsoft Roslyn SDK功能暴露给Claude Code等AI编码助手。为提供语义代码分析、导航、重构和诊断。NET/C#代码库。

18+强大的工具 包括影响分析、安全重构、死代码检测、自动代码修复、批处理操作和依赖关系可视化!

特性

  • 语义分析:100%编译器准确的代码理解
  • 跨解决方案导航:查找引用、实现、调用者和类型层次结构
  • 影响分析:在重构之前,查看哪些代码调用了您的方法
  • 安全重构:在预览模式下跨解决方案重命名符号
  • 死码检测:查找未使用的类型、方法和字段
  • 实时诊断:获取编译错误和警告
  • 符号搜索:在整个解决方案中搜索类型、方法、属性
  • 界面提取:从类生成DI/可测试性接口
  • 依赖关系可视化:绘制项目依赖关系图并检测周期
  • 代码组织:组织使用、获取方法重载等

安装

先决条件

  • .NET 8.0 SDK或运行时

构建和安装

# Build the project
dotnet build -c Release

# Pack as global tool
dotnet pack -c Release

# Install globally
dotnet tool install --global --add-source ./src/bin/Release dotnet-roslyn-mcp

# Verify installation
dotnet-roslyn-mcp --version

配置

使用Claude Code命令行界面(推荐)

安装全局工具后,使用CLI将其添加到Claude Code中:

claude mcp add --transport stdio roslyn \
  --env DOTNET_SOLUTION_PATH="/path/to/your/solution.sln" \
  -- dotnet-roslyn-mcp

或者使用其他环境变量:

claude mcp add --transport stdio roslyn \
  --env DOTNET_SOLUTION_PATH="/path/to/your/solution.sln" \
  --env ROSLYN_LOG_LEVEL="Information" \
  --env ROSLYN_MAX_DIAGNOSTICS="100" \
  -- dotnet-roslyn-mcp

窗户:

claude mcp add --transport stdio roslyn ^
  --env DOTNET_SOLUTION_PATH="C:\path\to\your\solution.sln" ^
  --env ROSLYN_LOG_LEVEL="Information" ^
  --env ROSLYN_MAX_DIAGNOSTICS="100" ^
  -- dotnet-roslyn-mcp

源代码运行(开发)

如果您想直接从源代码运行MCP服务器,而无需全局安装:

Linux/macOS:

claude mcp add --transport stdio roslyn \
  --env DOTNET_SOLUTION_PATH="/path/to/your/solution.sln" \
  -- dotnet run --project /path/to/vs-ide-mcp/src/RoslynMcp.csproj

窗户:

claude mcp add --transport stdio roslyn ^
  --env DOTNET_SOLUTION_PATH="C:\path\to\your\solution.sln" ^
  -- cmd /c dotnet run --project C:\path\to\vs-ide-mcp\src\RoslynMcp.csproj

手动配置

或者,创建一个 .claude/mcp-spec.json 解决方案根目录中的文件:

{
  "mcpServers": {
    "roslyn": {
      "command": "dotnet-roslyn-mcp",
      "env": {
        "DOTNET_SOLUTION_PATH": "${workspaceFolder}/YourSolution.sln"
      }
    }
  }
}

环境变量

变量默认值描述
DOTNET_SOLUTION_PATH(必需).sln文件或包含它的目录的路径
ROSLYN_LOG_LEVEL信息日志记录级别(调试、信息、警告、错误)
ROSLYN_ENABLE_SEMANTIC_CACHEtrue启用文档缓存
ROSLYN_MAX_DIAGNOSTICS100返回的最大诊断数
ROSLYN_INCLUDE_HIDDEN_DIAGNOSTICSfalse包括隐藏的严重性诊断
ROSLYN_PARALLEL_ANALYSIStrue启用并行项目分析
ROSLYN_TIMEOUT_SECONDS30操作超时(大型解决方案增加)

可用工具(共18个)

核心与健康

  1. 罗斯林:健康检查 -检查服务器运行状况和工作区状态
  2. roslyn:加载解决方案 -加载a。NET分析解决方案
  3. 罗斯林:获取符号信息 -获取符号的详细语义信息

导航

  1. 罗斯林:查找引用 -查找对某个符号的所有引用
  2. 罗斯林:查找实现 -查找接口/抽象类的所有实现
  3. \**罗斯林:寻找来电者* -查找调用特定方法的所有方法(影响分析)

分析与发现

  1. roslyn:类型层次结构 -获取类型的继承层次结构
  2. 罗斯林:搜索_符号 -在解决方案中按名称搜索符号
  3. 罗斯林:不可知论 -获取编译器错误和警告
  4. 罗斯林:查找未使用代码 -查找死代码(未使用的类型、方法、字段)
  5. 罗斯林:依赖图 -可视化项目依赖关系并检测周期

重构

  1. 罗斯林:重命名符号 -通过预览跨解决方案安全重命名符号
  2. 罗斯林:提取接口 -从类生成DI/可测试性接口
  3. 罗斯林:组织起来 -使用指令对未使用的内容进行排序和删除

代码修复和结构

  1. 罗斯林:get_code_fixes -获取可用的诊断代码修复
  2. 罗斯林:工程结构 -获取解决方案/项目结构
  3. roslyn:获取方法过载 -获取方法的所有重载
  4. 罗斯林:娱乐会员 -获取包含方法/属性/类信息

示例提示

以下是配置MCP服务器后,您可以使用Claude Code的一些示例提示:

影响分析:

"Find all callers of the ProcessPayment method"
"What code will break if I change this method signature?"
"Who uses the CustomerRepository?"

安全重构:

"Preview renaming ICustomerRepository to IUserRepository"
"Safely rename ProcessPayment to HandlePayment across the solution"

死码检测:

"Find all unused code in the Application project"
"What private methods are never called?"
"Show me unused classes in the Domain layer"

界面提取:

"Extract an interface from PaymentService class"
"Generate IPaymentService interface with ProcessPayment and RefundPayment methods"

依赖关系可视化:

"Show me the project dependency graph"
"Are there any circular dependencies?"
"Generate a Mermaid diagram of project dependencies"

查找参考文献:

"Find all references to the ProcessPayment method"
"Where is CustomerService being used?"

探索类型层次结构:

"What classes implement ICustomerRepository?"
"Show me the type hierarchy for CustomerService"
"What interfaces does PaymentProcessor implement?"

代码导航:

"Show me all the overloads of ProcessOrder"
"What's the containing class for this method?"
"Search for all methods containing 'Customer'"

诊断:

"Get all compilation errors in the solution"
"Show me warnings in CustomerService.cs"
"What errors are in the Payment project?"

建筑

┌─────────────────────────────────────┐
│     Claude Code (MCP Client)        │
└───────────────┬─────────────────────┘
                │ stdin/stdout (JSON-RPC 2.0)
┌───────────────▼─────────────────────┐
│          McpServer.cs                │
│  - Protocol handling                 │
│  - Tool registration                 │
│  - Request routing                   │
└───────────────┬─────────────────────┘
                │
┌───────────────▼─────────────────────┐
│       RoslynService.cs               │
│  - Solution management               │
│  - Semantic analysis                 │
│  - Symbol resolution                 │
└───────────────┬─────────────────────┘
                │
┌───────────────▼─────────────────────┐
│  Microsoft.CodeAnalysis (Roslyn)    │
│  - MSBuildWorkspace                  │
│  - SemanticModel                     │
│  - SymbolFinder                      │
└─────────────────────────────────────┘

许可证

麻省理工学院许可证-版权所有(c)2025 Brendan Kowitz

许可证 文件以获取详细信息。

目录标签

目录标签

代码分析C#Claude开发工具本地部署语义理解代码重构AI辅助编程

支持客户端

Claude

接入字段

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

未说明

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

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

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

0

权限和风险

未说明none部署方式未说明

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

安装前确认

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

仍需确认:installCommand

来源信息

继续浏览同类 MCP