Roslyn代码分析服务器

一个基于Roslyn编译器平台的MCP服务器,提供C#代码分析功能,包括代码验证、符号引用查找和项目上下文分析。

  • by egorpavlikhin
  • C#
  • 本地部署
  • 32 星标
  • 更新于
在 GitHub 查看 egorpavlikhin/roslyn-mcp

使用说明

Roslyn代码分析MCP服务器

概述

使用Roslyn编译器平台提供C#代码分析功能的模型上下文协议(MCP)服务器。此工具有助于验证C#文件,查找符号引用,并在上下文中执行静态代码分析。NET项目。

特性

  • 代码验证:分析C#文件的语法错误、语义问题和编译器警告
  • 符号参考查找:查找项目中符号的所有用法
  • 项目背景分析:验证项目上下文中的文件
  • 代码分析器支持:运行Microsoft推荐的代码分析器

工具

  • ValidateFile:使用Roslyn验证C#文件并运行代码分析器
  • FindUsages:查找指定位置对符号的所有引用

配置示例

{
    "servers": {
        "RoslynMCP": {
            "type": "stdio",
            "command": "dotnet",
            "args": [
                "run",
                "--no-build",
                "--project",
                "E:/Source/roslyn-mcp/RoslynMCP/RoslynMCP/RoslynMCP.csproj"
            ]
        }
    }
}

示例提示

When done implementing changes, run these validation steps as human will not accept work unless these are done:
- Always use Roslyn validation tool on C# (.cs) files

入门指南

  1. 构建项目
  2. 使用以下命令运行应用程序:
    dotnet run
    
  3. 服务器将通过标准I/O启动并监听MCP命令

需求

  • .NET SDK
  • MSBuild工具
  • Roslyn分析器的NuGet包(如果可用,则自动加载)

示例用法

验证C#文件:

ValidateFile --filePath="/path/to/your/file.cs" --runAnalyzers=true

查找符号的所有用法:

FindUsages --filePath="/path/to/your/file.cs" --line=10 --column=15

技术细节

  • 用途 Microsoft.CodeAnalysis 代码分析库
  • 与MSBuild集成以加载完整的项目上下文
  • 支持标准诊断分析仪
  • 包括语法、语义和分析器诊断的详细输出