MarcelRoozekrans/roslyn-codelens-mcp

MarcelRoozekrans/roslyn-codelens-mcp

от marcelroozekrans
Roslyn MCP сервер для глубокого семантического анализа .NET-кода. Предоставляет AI-агентам и разработчикам полный доступ к иерархиям типов, графам вызовов и диагностике с рефакторингом — всё в одном инструменте.

Roslyn CodeLens MCP Server

MCP Toplist

NuGet NuGet Downloads npm Build Status codecov License Docs GitHub Sponsors

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

roslyn-codelens-mcp MCP server

Hosted deployment

A hosted deployment is available on Fronteir AI.

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
  • find_event_subscribers — Every += / -= site for an event symbol, with resolved handler and subscribe/unsubscribe tag
  • find_tests_for_symbol — List xUnit/NUnit/MSTest methods that exercise a production symbol; opt-in transitive walk through helpers
  • get_test_summary — Per-project inventory of test methods with framework, attribute kind, data-row count, location, and production symbols referenced
  • find_uncovered_symbols — Public methods and properties no test transitively reaches; sorted by cyclomatic complexity for prioritization
  • generate_test_skeleton — Emit a compilable test-class skeleton (as text) for a method or type. Auto-detects xUnit/NUnit/MSTest; surfaces constructor dependencies as TodoNotes; returns a suggested file path. Closes the loop with find_uncovered_symbols
  • get_type_hierarchy — Walk base classes, interfaces, and derived types
  • get_di_registrations — Scan for DI service registrations. Reads generic (AddSingleton<IFoo, Foo>()), single-generic, typeof pair and factory-lambda forms
  • get_instantiation_options — "How do I construct this type?" in one call: constructors with full parameter detail, static factory methods declared anywhere in the solution (including on a separate factory type), DI registrations, and required members. Pass fromProject to learn whether that project can actually reach each option — it honours InternalsVisibleTo, so it answers "can my test project call this internal constructor?"
  • get_project_dependencies — Get the project reference graph
  • get_symbol_context — One-shot context dump for any type
  • get_public_api_surface — Enumerate every public/protected type and member in production projects; flat, deterministically-sorted list suitable for API review or breaking-change baselines.
  • find_breaking_changes — Diff the current API against a baseline JSON or DLL; report removed members, kind changes, and accessibility changes with Breaking/NonBreaking severity.
  • find_reflection_usage — Detect dynamic/reflection-based usage
  • get_exception_flow — What exceptions can escape a method: walks callees depth-bounded, propagates each throw up through every enclosing try/catch, and reports what still escapes with its propagation path; metadata callees contribute their documented exceptions
  • find_throw_sites — Every place an exception type is thrown, optionally including derived types; rethrows flagged
  • find_catch_blocks — Every catch for a type, optionally via base clauses; flags filtered, rethrowing, and empty (swallowing) handlers
  • find_references — Find all references to any symbol (types, methods, properties, fields, events), each tagged with a kind (read, write, readwrite, invocation, method_group, object_creation, cast, type_check, typeof, base_type, type_constraint, type_argument, declaration, attribute, nameof, xml_doc) and reported per occurrence with a column; filter server-side with kinds (e.g. ["write","readwrite"] for mutation sites)
  • go_to_definition — Find the source file and line where a symbol is defined
  • get_method_source — Full declaration source (XML docs, attributes, signature, body — original formatting) for one or many members by name in a single call: methods (all overloads), constructors, properties, indexers, fields, events; per-item statuses (ok/notFound/ambiguous/metadata/unsupportedKind) so a batch never fails wholesale
  • resolve_stack_trace — Map a pasted .NET stack trace to file/line/symbol, undoing compiler name mangling (async/iterator state machines, lambdas, local functions, generic arity); handles inner-exception chains, log-prefixed lines, and Demystifier traces
  • 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_obsolete_usage — Every [Obsolete] call site grouped by deprecation message and severity, errors first; for planning migrations
  • find_circular_dependencies — Detect cycles in project or namespace dependency graphs
  • check_architecture — Enforce layering rules you supply (forbid and allowOnly) against the real semantic type graph rather than using directives; violations are grouped per boundary with a reference count and example sites
  • get_complexity_metrics — Cyclomatic complexity, cognitive complexity and max nesting depth per member (methods, constructors, properties, indexers, operators). Cyclomatic counts paths and starts at 1; cognitive measures how hard the code is to follow and starts at 0. metric picks which one the threshold and sort use — cognitive is the better refactoring-priority signal, cyclomatic the better test-budget one
  • find_naming_violations — Check .NET naming convention compliance
  • find_async_violations — Sync-over-async, async void misuse, missing awaits, fire-and-forget tasks; per-violation report with severity
  • find_disposable_misuse — IDisposable/IAsyncDisposable instances not wrapped in using/await using/returned/assigned to field; severity error/warning per violation.
  • find_large_classes — Find oversized types by member or line count
  • find_god_objects — Types combining high size with high cross-namespace coupling; sharper signal than raw size for SRP violations
  • find_unused_symbols — Dead code detection via reference analysis. Auto-filters test methods (xUnit/NUnit/MSTest), MCP tool entry points, source-generator output, MEF-composed services, and interop-laid-out fields; filter counts surface in summary.filteredOut
  • get_project_health — Composite audit aggregating 7 quality dimensions per project (complexity, large classes, naming, unused symbols, reflection, async violations, disposable misuse) with counts and top-N hotspots inline
  • get_source_generators — List source generators and their output per project
  • get_generated_code — Inspect generated source code from source generators
  • inspect_external_assembly — Browse types, members, and XML docs from closed-source NuGet packages and referenced assemblies
  • peek_il — Decompile any method to ilasm-style IL bytecode from closed-source or generated assemblies
  • get_code_actions — Discover available refactorings and fixes at any position (extract method, rename, inline variable, and more)
  • apply_code_action — Execute any Roslyn refactoring by title, with preview mode (returns a diff before writing to disk)
  • rename_symbol — Solution-wide safe rename of a type or member via Roslyn's Renamer, with preview mode, conflict reporting, and a freshness check against on-disk edits
  • change_signature — Add, remove, and reorder a method's parameters and rewrite every call site; handles named/optional arguments, params and extension methods, and reports the overrides and interface implementations it cascaded to
  • list_solutions — List all loaded solutions and which one is currently active
  • set_active_solution — Switch the active solution by partial name (all subsequent tools operate on it)
  • load_solution — Load an additional .sln/.slnx at runtime and make it the active solution
  • unload_solution — Unload a loaded solution to free memory
  • rebuild_solution — Force a full reload of the analyzed solution
  • start_background_task — Queue a long-running tool (currently rebuild_solution) to run in the background; returns a taskId to poll
  • get_task_status — Get the current status, result, or error of a background task by its taskId
  • list_running_tasks — List background tasks running or completed within the last 5 minutes
  • trust_solution — Authorize a solution to run Roslyn analyzers (required before get_diagnostics with includeAnalyzers: true)
  • list_trusted_paths — Inspect the persistent trust store + session-trusted solutions
  • revoke_trust — Revoke a previously-granted trust for a solution path
  • analyze_data_flow — Variable read/write/capture analysis within a statement range (declared, read, written, always assigned, captured, flows in/out)
  • analyze_control_flow — Branch/loop reachability analysis within a statement range (start/end reachability, return statements, exit points)
  • analyze_change_impact — Show all files, projects, and call sites affected by changing a symbol — combines find_references and find_callers
  • get_type_overview — Compound tool: type context + hierarchy + file diagnostics in one call
  • analyze_method — Compound tool: method signature + callers + outgoing calls in one call
  • get_overloads — Every overload of a method/constructor (source + metadata) with full parameter and modifier detail in one call
  • get_extension_methods — Every extension member applicable to a type — including arrays, nullables and tuples — from the solution and referenced assemblies (so LINQ shows up), using Roslyn's own applicability rules; covers C# 14 extension blocks including properties and static members
  • get_operators — Every user-defined operator and conversion operator on a type (source + metadata) with kind, signature, parameters, and source location. Includes synthesized record equality and .NET 7+ checked variants
  • get_call_graph — Transitive caller/callee graph for a method, depth-bounded with cycle detection
  • get_file_overview — Compound tool: types defined in a file + file-scoped diagnostics in one call

Часто задаваемые вопросы

У этого сервера пока нет списка инструментов.
2.18.2основная
2.18.1
2.18.0
2.17.0
2.16.2
2.16.1
2.16.0
2.15.0
2.14.0

Выберите клиент, чтобы установить MarcelRoozekrans/roslyn-codelens-mcp:

Любой клиент

Конфиг добавления MCP сервера стандартный, обычно он не меняется вообще, поэтому подходит практически к любому ИИ клиенту, поддерживающему MCP.

{
  "mcpServers": {
    "marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "roslyn-codelens-mcp"
      ]
    }
  }
}
CursorCursor

Перейдите по ссылке и сервер автоматически будет добавлен в Cursor. Либо откройте/создайте файл ~/.cursor/mcp.json(%USERPROFILE%\.cursor\mcp.json на Windows) и добавьте конфиг сервера:

{
  "mcpServers": {
    "marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "roslyn-codelens-mcp"
      ]
    }
  }
}
VS Code

Создайте .vscode/mcp.json в проекте (ключ верхнего уровня — servers):

{
  "servers": {
    "marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "roslyn-codelens-mcp"
      ]
    }
  }
}

Либо добавьте сервер через терминал:

code --add-mcp "{\"name\":\"marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6\",\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"roslyn-codelens-mcp\"]}"
ClaudeClaude Desktop

Откройте Settings → Developer → Edit Config — это откроет файл claude_desktop_config.json:

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

Впишите сервер и полностью перезапустите Claude Desktop:

{
  "mcpServers": {
    "marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "roslyn-codelens-mcp"
      ]
    }
  }
}
Claude CodeClaude Code

Добавьте сервер одной командой в терминале:

claude mcp add marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6 -- npx -y roslyn-codelens-mcp

Либо через JSON-конфиг:

claude mcp add-json marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6 "{\"type\":\"stdio\",\"command\":\"npx\",\"args\":[\"-y\",\"roslyn-codelens-mcp\"]}"
CodexCodex

Добавьте сервер командой в терминале:

codex mcp add marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6 -- npx -y roslyn-codelens-mcp

Либо вручную в ~/.codex/config.toml(%USERPROFILE%\.codex\config.toml на Windows):

[mcp_servers.marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6]
command = "npx"
args = ["-y", "roslyn-codelens-mcp"]
PerplexityPerplexity

MCP доступен подписчикам Perplexity Pro / Max / Enterprise. Локальные серверы — только в приложении для macOS.

  1. Откройте Настройки аккаунта → Connectors.
  2. Установите вспомогательное приложение PerplexityXPC (один раз).
  3. Нажмите Add Connector → вкладка Simple.
  4. В поле Server Name укажите MarcelRoozekrans/roslyn-codelens-mcp, а в поле команды запуска — строку ниже:
npx -y roslyn-codelens-mcp

Нажмите Save и дождитесь статуса Running.

WindsurfWindsurf

Откройте Windsurf Settings → Cascade → MCP Servers или отредактируйте файл ~/.codeium/windsurf/mcp_config.json:

{
  "mcpServers": {
    "marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "roslyn-codelens-mcp"
      ]
    }
  }
}
ClineCline

В панели Cline нажмите иконку MCP Servers → Configure → Configure MCP Servers (или отредактируйте ~/.cline/mcp.json) и добавьте сервер:

{
  "mcpServers": {
    "marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "roslyn-codelens-mcp"
      ],
      "disabled": false,
      "autoApprove": []
    }
  }
}
Continue

Создайте файл в .continue/mcpServers/ (например marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6.yaml) или добавьте блок в config.yaml. MCP работает только в режиме agent:

mcpServers:
  - name: marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6
    command: npx
    args:
      - "-y"
      - "roslyn-codelens-mcp"
Zed

Выполните agent: add context server или откройте настройки (zed: open settings file) и добавьте сервер в объект context_servers:

{
  "context_servers": {
    "marcelroozekrans-roslyn-codelens-mcp-32pcnwvxq6": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "roslyn-codelens-mcp"
      ]
    }
  }
}

Похожие MCP-сервера

pzalutski-pixel/sharplens-mcp

pzalutski-pixel/sharplens-mcp

от pzalutski-pixel

MCP сервер для .NET/C# с 67 инструментами на основе Roslyn: семантический анализ кода, навигация по типам, безопасный рефакторинг с предпросмотром и кодогенерация. Оптимизирован для AI-агентов — да...

C#⭐ 37
hechtcarmel/jetbrains-index-mcp-plugin

hechtcarmel/jetbrains-index-mcp-plugin

от hechtcarmel

MCP сервер для JetBrains IDE, который даёт AI-ассистентам доступ к индексации и рефакторингу. Работает с Java, Python, Go, Rust и другими языками. Включает инструменты для поиска, навигации и рефакторинга - всё через единый протокол.

Kotlin⭐ 363
pzalutski-pixel/javalens-mcp

pzalutski-pixel/javalens-mcp

от pzalutski-pixel

JavaLens — MCP сервер для анализа Java-кода с точностью компилятора. На базе Eclipse JDT он даёт AI-агентам точные ссылки, вызовы, тесты, неиспользуемый код. Полезен для углублённого рефакторинга и отладки.

Java⭐ 44
janreges/ai-distiller-mcp

janreges/ai-distiller-mcp

от janreges

AI Distiller MCP-сервер дистиллирует код до публичных API и типов, сжимая объём на 90-98% для контекста AI. Помогает разработчикам дать Claude и Cursor точное понимание кодовой базы, уменьшая галлю...

C⭐ 172
sonarsource/sonarqube-mcp-server

sonarsource/sonarqube-mcp-server

от sonarsource

Сервер SonarQube MCP подключает анализ качества кода и безопасности к AI-агентам. Разработчики проверяют код прямо из агента, используя SonarQube Cloud или Server, и анализируют фрагменты без переключений.

Java⭐ 665
CodeLogicIncEngineering/codelogic-mcp-server

CodeLogicIncEngineering/codelogic-mcp-server

от codelogicincengineering

MCP сервер интегрирует CodeLogic в AI-помощники: анализирует влияние изменений кода и БД, генерирует CI/CD настройки, строит графы зависимостей для оценки рисков перед внедрением.

Python⭐ 37
© Каталог MCP, 2026. Все права защищены.
Проект не аффилирован с Anthropic и любыми упомянутыми продуктами.
Все названия и торговые марки принадлежат их владельцам.
Контакты для связи: hi@mcp-katalog.ru

Лука Никитин