Roslyn C# Analyzer MCP server

Provides C# code analysis capabilities by leveraging the Microsoft Roslyn compiler platform to validate syntax, find references, and run recommended code analyzers within .NET projects.
Back to servers
Provider
Egor Pavlikhin
Release date
May 16, 2025
Language
C#
Stats
2 stars

Roslyn Code Analysis MCP Server provides C# code analysis capabilities using the Roslyn compiler platform. It helps validate C# files, find symbol references, and perform static code analysis within the context of a .NET project, enabling you to easily detect issues in your code.

Features

  • Code Validation: Analyze C# files for syntax errors, semantic issues, and compiler warnings
  • Symbol Reference Finding: Locate all usages of a symbol across a project
  • Project Context Analysis: Validate files within their project context
  • Code Analyzer Support: Run Microsoft recommended code analyzers

Requirements

  • .NET SDK
  • MSBuild tools
  • NuGet packages for Roslyn analyzers (automatically loaded if available)

Installation

  1. Build the project:

    dotnet build
    
  2. Configure your MCP client with the server settings. Here's an example configuration:

    {
        "servers": {
            "RoslynMCP": {
                "type": "stdio",
                "command": "dotnet",
                "args": [
                    "run",
                    "--no-build",
                    "--project",
                    "path/to/RoslynMCP/RoslynMCP.csproj"
                ]
            }
        }
    }
    
  3. Run the server:

    dotnet run
    

Usage

Validating a C# File

To check a file for errors, warnings, and other issues:

ValidateFile --filePath="/path/to/your/file.cs" --runAnalyzers=true

The --runAnalyzers flag determines whether to execute additional code analyzers beyond basic syntax and semantic validation.

Finding Symbol References

To locate all usages of a symbol in your codebase:

FindUsages --filePath="/path/to/your/file.cs" --line=10 --column=15

This command identifies the symbol at the specified position (line 10, column 15 in this example) and finds all references to it across the project.

Integrating with Your Workflow

You can include validation steps in your workflow with prompts like:

When done implementing changes, run these validation steps as human will not accept work unless these are done:
- Always use Roslyn validation tool on C# (.cs) files

Technical Implementation

The server uses the Microsoft.CodeAnalysis libraries to provide comprehensive code analysis features. It integrates with MSBuild to load full project context, ensuring accurate analysis within the scope of your entire solution rather than just isolated files.

How to add this MCP server to Cursor

There are two ways to add an MCP server to Cursor. The most common way is to add the server globally in the ~/.cursor/mcp.json file so that it is available in all of your projects.

If you only need the server in a single project, you can add it to the project instead by creating or adding it to the .cursor/mcp.json file.

Adding an MCP server to Cursor globally

To add a global MCP server go to Cursor Settings > MCP and click "Add new global MCP server".

When you click that button the ~/.cursor/mcp.json file will be opened and you can add your server like this:

{
    "mcpServers": {
        "cursor-rules-mcp": {
            "command": "npx",
            "args": [
                "-y",
                "cursor-rules-mcp"
            ]
        }
    }
}

Adding an MCP server to a project

To add an MCP server to a project you can create a new .cursor/mcp.json file or add it to the existing one. This will look exactly the same as the global MCP server example above.

How to use the MCP server

Once the server is installed, you might need to head back to Settings > MCP and click the refresh button.

The Cursor agent will then be able to see the available tools the added MCP server has available and will call them when it needs to.

You can also explictly ask the agent to use the tool by mentioning the tool name and describing what the function does.

Want to 10x your AI skills?

Get a free account and learn to code + market your apps using AI (with or without vibes!).

Nah, maybe later