제작자의 저장소에서 쓰인 그대로 가져왔어요. PopNx MCP가 검토하거나 보증한 내용이 아니에요. HTML, 이미지, 스크립트는 제거했어요. 링크를 누르면 이 사이트를 벗어나요.
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, refactoring, and more.
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 ()), 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.
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_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