CR

carquiza/roslynmcp

Developer tools

Эта страница переведена автоматически. Технические детали смотрите в оригинале. Открыть оригинал

67 stars 12 forks Качество 59 Тренд 14

Сервер Model Context Protocol (MCP), который предоставляет возможности анализа кода C# с использованием Microsoft Roslyn

Обзор

Сервер C# MCP (Model Context Protocol), который интегрируется с платформой компилятора Microsoft Roslyn, чтобы предоставить Claude Desktop возможности анализа кода и навигации для кодовых баз C#. - Найти классы, методы и свойства с использованием сопоставления шаблонов (*Сервис, Get*User и т.д.) - Найти все виды использования символов по всем решениям - Получить подробную информацию о типах, методах, свойствах и многом другом - Анализ зависимостей проектов и шаблонов использования пространства имен - Определить высокосложные методы с использованием метрик цикломатической сложности - Многоуровневое кэширование и инкрементный анализ для больших кодовых баз - Ввод валидации и санации пути - .NET 8.0 SDK или более поздняя версия - Visual Studio 2022 или VS Code (рекомендуется для разработки) - приложение Claude Desktop Чтобы подключить этот MCP-сервер к Claude Desktop, необходимо изменить конфигурационный файл Claude Desktop: - %APPDATA%\Claude\claude desktop config.json - ~/Library/Application Support/Claude/claude desktop config.

Обзор (машинный перевод)

Сервер C# MCP (Model Context Protocol), который интегрируется с платформой компилятора Microsoft Roslyn, чтобы предоставить Claude Desktop возможности анализа кода и навигации для кодовых баз C#.

Особенности

Wildcard Symbol Search - Найдите классы, методы и свойства, используя сопоставление шаблонов ([T0], [T1] и т.д.) Справочное отслеживание - Найти все виды использования символов по всем решениям Символическая информация - Получите подробную информацию о типах, методах, свойствах и многом другом Анализ зависимости Анализ зависимостей проектов и моделей использования пространства имен Code Complexity Analysis - Идентификация высокосложных методов с использованием цикломатических метрик сложности Performance Optimized - Многоуровневый кэширование и инкрементный анализ для больших кодовых баз ** Безопасность** - Проверка входа и дезинфицирование пути

Предпосылки

.NET 8.0 SDK или более поздняя версия Visual Studio 2022 или VS Code (рекомендуется для разработки) Приложение Claude Desktop

##Установка

1.Клонировать или скачать проект

2.Восстановить пакеты NuGet

  1. Создать проект

4.** Проверьте сервер** (необязательно)

Быстрая настройка

Windows

Запустите сценарий настройки PowerShell:

Эта страница переведена автоматически. Технические детали смотрите в оригинале.

README

Показан фрагмент оригинального README. Открыть оригинал.

Roslyn MCP Server

A C# MCP (Model Context Protocol) server that integrates with Microsoft’s Roslyn compiler platform to provide Claude Desktop with code analysis and navigation capabilities for C# codebases.

Features

  • Wildcard Symbol Search - Find classes, methods, and properties using pattern matching (*Service, Get*User, etc.)
  • Reference Tracking - Locate all usages of symbols across entire solutions
  • Symbol Information - Get detailed information about types, methods, properties, and more
  • Dependency Analysis - Analyze project dependencies and namespace usage patterns
  • Code Complexity Analysis - Identify high-complexity methods using cyclomatic complexity metrics
  • Performance Optimized - Multi-level caching and incremental analysis for large codebases
  • Security - Input validation and path sanitization

Prerequisites

  • .NET 8.0 SDK or later
  • Visual Studio 2022 or VS Code (recommended for development)
  • Claude Desktop application

Installation

  1. Clone or download the project

    git clone https://github.com/carquiza/RoslynMCP.git
    cd RoslynMCP/RoslynMcpServer
    
  2. Restore NuGet packages

    dotnet restore
    
  3. Build the project

    dotnet build
    
  4. Test the server (optional)

    dotnet run
    

Quick Setup

Windows

Run the PowerShell setup script:

.\setup.ps1

Linux/macOS

Run the installation test:

./test-installation.sh

Claude Desktop Configuration

To connect this MCP server to Claude Desktop, you need to modify the Claude Desktop configuration file:

Configuration File Location

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

Configuration Content

Add the following to your claude_desktop_config.json file:

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

Important: Replace /path/to/RoslynMCP/RoslynMcpServer with the actual absolute path to your project directory.

Usage

Once configured, restart Claude Desktop. You should see the Roslyn MCP Server appear in the available tools. Here are some example queries:

Search for Symbols

Search for all classes ending with 'Service' in my solution at C:\MyProject\MyProject.sln

Find References

Find all references to the UserRepository class in C:\MyProject\MyProject.sln

Get Symbol Information

Get information about the CalculateTotal method in C:\MyProject\MyProject.sln

Analyze Dependencies

Analyze dependencies for the solution at C:\MyProject\MyProject.sln

Code Complexity Analysis

Открыть полный README на GitHub

Установка

npx @modelcontextprotocol/inspector dotnet run --project ./RoslynMcpServer
Новичок в MCP? Начните с руководства на mcpskill.org →

Конфигурация

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