项目简介

'roslyn-analyzers' 项目主要提供自定义的 C# Roslyn 诊断分析器,用于在开发过程中提供实时代码反馈和自动代码修复。除了核心的分析器功能,该仓库还包含一个 MCP(Model Context Protocol)服务器,旨在自动化常见的开发任务,从而提高开发效率。

主要功能点

该 MCP 服务器的核心功能在于:

  • 自动化开发任务:管理并执行与项目开发相关的自动化任务,如构建(dogfooding builds, strict building)。
  • 测试执行:支持自动化地执行项目中的单元测试。
  • 文件导航:辅助进行项目文件的导航操作,提供数据访问能力。
  • 上下文服务:作为后端,通过标准协议(JSON-RPC)向 LLM 客户端提供项目上下文信息和调用外部功能的能力。

安装步骤

MCP 服务器的运行依赖于 'tools/mcp' 目录下的脚本。由于这是 .NET 项目,你需要确保已安装 .NET SDK。

  1. 克隆仓库: 首先,通过 Git 克隆 'roslyn-analyzers' 仓库到你的本地机器:
    git clone https://github.com/philips-software/roslyn-analyzers.git
    cd roslyn-analyzers
  2. 运行服务器: 进入仓库目录后,使用提供的脚本启动 MCP 服务器。该脚本位于 'tools/mcp/' 目录下:
    ./tools/mcp/start_mcp_server.sh
    服务器启动后,将根据其实现监听特定端口或通过标准 I/O 与 MCP 客户端通信。

服务器配置

MCP 服务器的配置通常由 MCP 客户端来管理。MCP 客户端需要提供服务器的启动命令和相关参数以建立连接。以下是一个可能的 JSON 配置示例,供 MCP 客户端参考:

{
  "serverName": "RoslynAnalyzers_MCP_Server",
  "command": "./tools/mcp/start_mcp_server.sh",
  "args": [],
  "description": "用于与 Roslyn Analyzers 项目交互的 MCP 开发辅助服务器。"
}
  • 'serverName': 服务器的标识名称,你可以自定义一个易于识别的名称。
  • 'command': 启动 MCP 服务器的脚本路径。根据仓库信息,应指向 './tools/mcp/start_mcp_server.sh'。
  • 'args': 启动脚本可能需要的额外参数(例如,指定监听端口或日志级别)。根据仓库信息,默认情况下启动脚本不需要额外的参数。
  • 'description': 对 MCP 服务器功能的简要描述,帮助用户理解其用途。

基本使用方法

启动 MCP 服务器后,它将等待兼容 MCP 协议的客户端(如 LLM 应用)的连接和请求。作为开发者,你通常不需要直接与服务器的命令行界面交互。你可以通过配置你的 LLM 客户端,使其与此 MCP 服务器通信,从而:

  1. 请求项目资源:例如,获取特定代码文件的内容、项目文件列表或项目结构信息。
  2. 调用工具功能:通过 LLM 客户端指令触发 MCP 服务器上的工具,例如执行一次项目构建、运行单元测试或启动特定的代码分析流程。
  3. 获取 Prompt 模板:如果 MCP 服务器定义了 Prompt 模板,LLM 客户端可以获取并利用这些模板来生成代码、提供建议或执行其他定制化的 LLM 交互。

MCP 客户端将通过 JSON-RPC 协议与服务器通信,利用服务器提供的上下文和工具来辅助你的开发工作,实现更智能、更高效的开发体验。

信息

分类

开发者工具