Roslyn代码智能服务器

RoslynMcp是一个通过MCP协议将Roslyn代码智能能力提供给AI代理的.NET应用,实现了对C#代码库的深度理解和分析。

  • by chrismo80
  • C#
  • 本地部署
  • 13 星标
  • 更新于
在 GitHub 查看 chrismo80/RoslynMcp

使用说明

罗斯林·麦克普

一个模型上下文协议(MCP)服务器,为人工智能代理带来Roslyn代码智能。

在NuGet上获取它

该项目使用Roslynator,在Apache 2.0下获得许可。

安装

dotnet tool install -g RoslynMcp

更新

dotnet tool update -g RoslynMcp

MCP配置(OpenCode)

  "mcp": {
    "roslyn": {
      "type": "local",
      "command": [
        "roslynmcp"
      ]
    }
  }

它是什么

罗斯林·麦克普是一个。NET应用程序,展示了 罗瑟琳 (.NET编译器平台)通过MCP协议。它充当了AI助手和C#代码库之间的桥梁,实现了深入的代码理解和分析。

为什么它存在

传统的AI代码助手通常依赖于简单的模式匹配(grep/glob),这会错过语义上下文。RoslynMcp通过提供以下内容解决了这个问题:

  • 语义理解 --它知道你的代码是什么 手段,不仅仅是它是什么 说
  • 符号解析 --了解整个解决方案的类型、方法和属性
  • 调用图跟踪 --查看代码如何在系统中流动

推荐工作流程

根据你已经知道的情况选择切入点。

%%{init: {"theme": "base", "themeVariables": { "background": "transparent" }}}%%
flowchart TD
    ls[load_solution]
    lp[load_project]
    lt[load_type]
    lm[load_member]
    fr[find_references]
    st[search_type]
    sm[search_member]
    df[diagnose_file]
    rt[run_tests]
    ls -->|projectPath| lp
    lp -->|typeSymbolId| lt
    lt -->|memberSymbolId| lm
    lt -->|typeSymbolId| fr
    st -->|typeSymbolId| lt
    sm -->|memberSymbolId| lm
    lm -->|memberSymbolId| fr
    ls -.-> st
    ls -.-> sm
    lm -.->|filePath from location| df
    df -.-> rt
    classDef tool fill:#1f2937,stroke:#9ca3af,color:#f9fafb;
    class ls,lp,lt,lm,fr,st,sm,df,rt tool;
    linkStyle default stroke:#9ca3af,stroke-width:1.5px;

这使导航语义和符号感知,而不依赖于纯文本搜索,同时在需要时仍能为您提供快速搜索和文件级验证。

完整的工具描述可以 在这里找到