Roslyn MCP 服务器

使用说明(Markdown 格式)

  • 项目简介

    • Roslyn MCP 服务器是一个完整的后端服务,实现了 MCP 的核心能力:托管资源(Resources)、注册并执行工具(Tools)、定义并渲染 Prompt 模板(Prompts),并通过 JSON-RPC/stdio 等传输协议与客户端通信。服务器负责会话管理、能力声明,以及对外部工具与上下文数据的统一管理,旨在为 LLM 客户端提供安全、可扩展的代码上下文服务。
  • 主要功能点

    • 资源管理:提供数据访问能力,支持将代码分析结果、符号信息等资源化管理。
    • 工具注册与执行:注册一组可被 LLM 调用的工具(如代码导航、诊断、修改代码等),并通过 MCP 协议执行这些工具。
    • Prompt/模板渲染:支持按需渲染与生成用于与模型交互的 Prompt 模板,便于统一与模型的对话风格。
    • 会话与能力声明:服务端维护会话状态和能力集合,确保可扩展性与安全性。
    • 多传输协议支持:默认通过标准输入输出(stdio)与 Claude 类客户端进行交互,同时可扩展支持 HTTP、SSE、WebSocket 等传输方式。
    • 本地模型/推理集成:内置本地推理模型(SharpTinyCoder)及相关组件,提供本地化的代码生成/分析能力,减少对外部依赖的需求。
  • 安装步骤

    • 确保使用 Windows x64 环境(文档中要求的运行环境)。
    • 安装 .NET 10.x SDK。
    • 克隆或下载仓库源码后,在解决方案根目录执行 dotnet build 构建。
    • 运行构建产物 RoslynMcpServer.exe,或从 Release 包中直接启动。
    • 运行 --init 初始化配置(生成 .mcp.json、CLAUDE.md 等),按照提示完成可选 Hooks/Skills 的启用。
    • 启动 Claude Code 客户端并在命令中使用 /mcp 连接到 roslyn 的 MCP 服务。
  • 服务器配置(MCP 客户端需要与 MCP 服务器建立连接时使用的配置信息)

    • 说明:MCP 客户端需要知道服务器的启动命令与参数(command、args),以便能够正确启动并与 MCP 服务器建立通信。以下为示例配置信息描述,请按实际路径与环境替换,但不以代码块形式展示到终端或配置文件中。
    • 配置示例(JSON 说明,不作为代码块出现): { "serverName": "roslyn", "command": "path\to\RoslynMcpServer.exe", "args": [] } 注释:serverName 为在客户端清单中的名称标识,command 指向服务器可执行文件的路径,args 为启动参数数组。若需要自动初始化项目,可将 args 设置为 ["--init"],随后客户端即可引导服务器生成所需的 .mcp.json 与 CLAUDE.md 等文件。
    • 说明:实际客户端通常只需要知道服务器的名称与启动指令即可,在首次连接前可通过命令行或可视化工作流把上述配置导入客户端。
  • 基本使用方法

    • 启动服务器:运行 RoslynMcpServer.exe(默认运行 MCP 服务)。
    • 初始配置:首次启动时执行 --init,服务器会创建 .mcp.json、CLAUDE.md 等文件,并引导你完成本地 hooks/skills 的设置。
    • 连接 Claude/LLM 客户端:在 Claude Code 中输入 /mcp 指令,选择 roslyn 服务器并建立连接。 Claude 将通过 MCP 协议向服务器请求资源、调用工具、获取和渲染 Prompt。
    • 使用工具与模板:客户端可通过 MCP 工具列表调用相应工具(如 Code Navigation、Diagnostics、Graph 分析等),并通过 Prompts 与服务器协作完成对代码的理解、分析和改造任务。
    • 调试与扩展:服务器内置多种 Hooks、Knowledge/Graph 数据库以及本地推理模型,便于本地化训练和扩展功能。
  • 额外说明

    • 开发者可基于 CLAUDE.md 模板、.mcp.json 配置和 Hooks/Skills 扩展工作流,以实现更丰富的交互模式与工具链。
    • 服务器端日志与可观测性通过 Logs/ToolCallLogger 等机制提供,便于追踪工具调用与推理过程。

服务器信息