返回市场
罗森MCP

罗森MCP

作者:carquiza17 星标更新:2025-06-24

项目介绍

Roslyn MCP 服务器

这是一个与微软Roslyn编译器平台集成的C# MCP(模型上下文协议)服务器,为Claude Desktop提供C#代码库的代码分析和导航功能。

功能

  • 通配符符号搜索 - 使用模式匹配查找类、方法和属性(如*ServiceGet*User等)
  • 引用跟踪 - 查找整个解决方案中符号的所有用法
  • 符号信息 - 获取关于类型、方法、属性等的详细信息
  • 依赖性分析 - 分析项目依赖关系和命名空间使用模式
  • 代码复杂度分析 - 使用环形复杂度指标识别高复杂度的方法
  • 性能优化 - 多级缓存和增量分析以处理大型代码库
  • 安全性 - 输入验证和路径清理

预备条件

  • .NET 8.0 SDK或更高版本
  • Visual Studio 2022 或 VS Code(推荐用于开发)
  • Claude Desktop 应用程序

安装

  1. 克隆或下载项目

    git clone https://github.com/carquiza/RoslynMCP.git
    cd RoslynMCP/RoslynMcpServer
    
  2. 恢复NuGet包

    dotnet restore
    
  3. 构建项目

    dotnet build
    
  4. 测试服务器(可选)

    dotnet run
    

快速设置

Windows

运行PowerShell设置脚本:

.\setup.ps1

Linux/macOS

运行安装测试:

./test-installation.sh

Claude Desktop 配置

要将此MCP服务器连接到Claude Desktop,您需要修改Claude Desktop的配置文件:

配置文件位置

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json

配置内容

在您的claude_desktop_config.json文件中添加以下内容:

{
  "mcpServers": {
    "roslyn-code-navigator": {
      "command": "dotnet",
      "args": [
        "run", 
        "--project", 
        "/path/to/RoslynMCP/RoslynMcpServer"
      ],
      "env": {
        "DOTNET_ENVIRONMENT": "Production",
        "LOG_LEVEL": "Information"
      }
    }
  }
}

重要:请将/path/to/RoslynMCP/RoslynMcpServer替换为您项目的实际绝对路径。

使用

配置完成后,请重启Claude Desktop。您应该能看到Roslyn MCP Server出现在可用工具中。这里是一些示例查询:

搜索符号

搜索我的解决方案C:\MyProject\MyProject.sln中所有以'Service'结尾的类

查找引用

查找C:\MyProject\MyProject.sln中UserRepository类的所有引用

获取符号信息

获取C:\MyProject\MyProject.sln中CalculateTotal方法的信息

分析依赖关系

分析C:\MyProject\MyProject.sln中的依赖关系

代码复杂度分析

查找C:\MyProject\MyProject.sln中复杂度高于7的方法

可用工具

  1. SearchSymbols - 使用通配符模式搜索符号
  2. FindReferences - 查找特定符号的所有引用
  3. GetSymbolInfo - 获取符号的详细信息
  4. AnalyzeDependencies - 分析项目依赖关系和使用模式
  5. AnalyzeCodeComplexity - 识别高复杂度的方法

开发和测试

使用MCP Inspector

对于开发和测试,您可以使用MCP Inspector:

# 安装检查器
npm install -g @modelcontextprotocol/inspector

# 测试您的服务器
npx @modelcontextprotocol/inspector dotnet run --project ./RoslynMcpServer

架构

服务器具有模块化架构,包括:

  • MCP服务器层:处理与Claude Desktop的通信
  • Roslyn集成层:管理工作区和编译
  • 搜索引擎层:实现符号搜索和分析
  • 多级缓存:针对大型代码库进行性能优化
  • 安全层:输入验证和清理

许可证

该项目采用MIT许可证 - 详情见LICENSE文件。

作者

Christopher Arquiza

贡献

欢迎贡献!请随意提交Pull Request。