项目简介

Roslyn Code Analysis MCP Server 是一个实现了 Model Context Protocol (MCP) 的服务器端应用。它利用 .NET Roslyn 编译器平台强大的代码分析能力,为大型语言模型 (LLM) 或其他客户端提供 C# 代码相关的上下文信息和功能。通过将复杂的代码分析逻辑封装成标准化的MCP工具,使得LLM可以方便地集成C#开发工作流,例如进行代码审查、查找引用、验证修改等。

主要功能点

  • 代码验证 (ValidateFile): 检查指定的 C# 文件,报告语法错误、语义问题以及编译器生成的警告。可以根据需要选择是否同时运行配置的代码分析器。
  • 符号引用查找 (FindUsages): 在指定的 C# 文件和位置查找特定的代码符号(如变量、方法、类等),并列出该符号在整个项目中的所有使用位置。
  • 项目上下文分析: 理解 C# 文件在其所属的 .NET 项目中的上下文,包括引用的库、项目设置等,从而进行更准确、全面的代码分析。
  • 代码分析器支持: 能够加载并运行标准的 Roslyn 代码分析器,帮助发现潜在的代码质量、性能或规范问题。

安装步骤

  1. 环境准备: 确保您的系统已安装 .NET SDK (建议最新版本) 和 MSBuild 工具。
  2. 克隆仓库: 使用 Git 克隆 roslyn-mcp 仓库到您的本地机器。
  3. 构建项目: 打开命令行或终端,导航到克隆的仓库目录。进入 'RoslynMCP/RoslynMCP' 子目录(包含 '.csproj' 文件的目录),然后运行命令 'dotnet build'。这将编译服务器应用程序。

服务器配置

此MCP服务器通过标准输入/输出(Stdio)进行通信。MCP客户端需要知道如何启动此服务器进程并与其建立连接。以下是MCP客户端配置此服务器所需的关键信息:

  • 服务器名称: 您可以为此服务器指定一个名称,例如 'RoslynMCP'。
  • 通信类型: 设置为 'stdio',表示使用标准输入/输出流进行通信。
  • 启动命令 (command): 用于启动服务器进程的可执行文件。设置为 'dotnet'。
  • 启动参数 (args): 传递给启动命令的参数列表。设置为 '["run", "--no-build", "--project", "你的/绝对/路径/到/roslyn-mcp/RoslynMCP/RoslynMCP/RoslynMCP.csproj"]'。请将 '"你的/绝对/路径/到/roslyn-mcp/RoslynMCP/RoslynMCP/RoslynMCP.csproj"' 替换为构建好的 'RoslynMCP.csproj' 文件在您系统中的实际绝对路径。'--no-build' 参数告诉 'dotnet run' 命令跳过重新构建步骤,直接运行已构建的项目。

一个典型的MCP客户端配置(通常是 JSON 格式)会包含以上信息,但不直接在服务器端展示为代码。

基本使用方法

与MCP客户端建立连接后,您可以调用服务器提供的工具来执行C#代码分析任务:

  • 调用 'ValidateFile' 工具: 向服务器发送调用请求,参数包括要验证的C#文件的路径('filePath',支持相对或绝对路径)以及一个可选参数 'runAnalyzers' (布尔值,默认为 true) 指定是否运行代码分析器。服务器将返回包含诊断信息的文本结果。
  • 调用 'FindUsages' 工具: 向服务器发送调用请求,参数包括C#文件的路径('filePath')、符号所在的行号('line',1-based)和列号('column',1-based)。服务器将返回该符号的详细信息及其在项目中的所有引用位置列表(通常是格式化后的文本)。

信息

分类

开发者工具