MarcelRoozekrans

Roslyn CodeLens MCP Server

Community MarcelRoozekrans
Updated

Roslyn-based MCP server providing semantic code intelligence for .NET codebases — type hierarchies, call sites, DI registrations, and reflection usage for Claude Code

Roslyn CodeLens MCP Server

A Roslyn-based MCP server that gives AI agents deep semantic understanding of .NET codebases — type hierarchies, call graphs, DI registrations, diagnostics, and more.

Features

  • find_implementations — Find all classes/structs implementing an interface or extending a class
  • find_callers — Find every call site for a method, property, or constructor
  • get_type_hierarchy — Walk base classes, interfaces, and derived types
  • get_di_registrations — Scan for DI service registrations
  • get_project_dependencies — Get the project reference graph
  • get_symbol_context — One-shot context dump for any type
  • find_reflection_usage — Detect dynamic/reflection-based usage
  • find_references — Find all references to any symbol (types, methods, properties, fields, events)
  • go_to_definition — Find the source file and line where a symbol is defined
  • get_diagnostics — List compiler errors, warnings, and Roslyn analyzer diagnostics
  • get_code_fixes — Get available code fixes with structured text edits for any diagnostic
  • search_symbols — Fuzzy workspace symbol search by name
  • get_nuget_dependencies — List NuGet package references per project
  • find_attribute_usages — Find types and members decorated with a specific attribute
  • find_circular_dependencies — Detect cycles in project or namespace dependency graphs
  • get_complexity_metrics — Cyclomatic complexity analysis per method
  • find_naming_violations — Check .NET naming convention compliance
  • find_large_classes — Find oversized types by member or line count
  • find_unused_symbols — Dead code detection via reference analysis
  • get_source_generators — List source generators and their output per project
  • get_generated_code — Inspect generated source code from source generators
  • rebuild_solution — Force a full reload of the analyzed solution

Quick Start

VS Code / Visual Studio (via dnx)

Add to your MCP settings (.vscode/mcp.json or VS settings):

{
  "servers": {
    "roslyn-codelens": {
      "type": "stdio",
      "command": "dnx",
      "args": ["RoslynCodeLens.Mcp", "--yes"]
    }
  }
}

Claude Code Plugin

claude install gh:MarcelRoozekrans/roslyn-codelens-mcp

.NET Global Tool

dotnet tool install -g RoslynCodeLens.Mcp

Then add to your MCP client config:

{
  "mcpServers": {
    "roslyn-codelens": {
      "command": "roslyn-codelens-mcp",
      "args": [],
      "transport": "stdio"
    }
  }
}

Usage

The server automatically discovers .sln files by walking up from the current directory. You can also pass a solution path directly:

roslyn-codelens-mcp /path/to/MySolution.sln

Performance

All type lookups use pre-built reverse inheritance maps, member indexes, and attribute indexes for O(1) access. Benchmarked on an i9-12900HK with .NET 10.0.3:

Tool Latency Memory
find_circular_dependencies 288 ns 1.3 KB
get_project_dependencies 299 ns 1.2 KB
go_to_definition 442 ns 568 B
get_type_hierarchy 720 ns 856 B
find_implementations 804 ns 704 B
get_symbol_context 1.1 µs 1.0 KB
get_source_generators 2.6 µs 8.3 KB
find_attribute_usages 6.8 µs 312 B
get_generated_code 13 µs 9.8 KB
get_diagnostics 27 µs 23 KB
get_complexity_metrics 50 µs 5.8 KB
find_large_classes 60 µs 1.2 KB
get_di_registrations 60 µs 13 KB
get_nuget_dependencies 62 µs 16 KB
find_reflection_usage 82 µs 15 KB
find_callers 182 µs 38 KB
search_symbols 517 µs 2.4 KB
find_references 927 µs 208 KB
find_unused_symbols 1.1 ms 212 KB
find_naming_violations 5.0 ms 670 KB
Solution loading (one-time) ~928 ms 8 MB

Hot Reload

The server watches .cs, .csproj, .props, and .targets files for changes. When a change is detected, affected projects are lazily re-compiled on the next tool query — only stale projects and their downstream dependents are re-compiled, not the full solution.

Location-returning tools include an IsGenerated flag to distinguish source-generator output from hand-written code.

Requirements

  • .NET 10 SDK
  • A .NET solution with compilable projects

Development

dotnet build
dotnet test
dotnet run --project benchmarks/RoslynCodeLens.Benchmarks -c Release

License

MIT

MCP Server · Populars

MCP Server · New

    Kiln-AI

    kilntainers

    MCP server to give every agent an ephemeral Linux sandboxes for executing shell commands.

    Community Kiln-AI
    destinyfrancis

    Open CLAW Knowledge Distiller 🦞📚

    Open CLAW Knowledge Distiller · 龍蝦知識蒸餾器 — Turn YouTube/Bilibili videos into structured knowledge articles. Local Qwen3-ASR MLX + AI summarization. MCP server for Claude Code / Open CLAW agents.

    Community destinyfrancis
    RelayPlane

    @relayplane/proxy

    Open source cost intelligence proxy for AI agents. Cut costs ~80% with smart model routing. Dashboard, policy engine, 11 providers. MIT licensed.

    Community RelayPlane
    civyk-official

    WinWright

    Playwright-style MCP server for Windows desktop, system, and browser automation. 110 tools for WPF, WinForms, Win32, Chrome/Edge via Model Context Protocol.

    Community civyk-official
    mavdol

    Capsule

    A secure, durable runtime for AI agents. Run untrusted code in isolated WebAssembly sandboxes.

    Community mavdol