LabscoMCP early access ↗
remleoMCP SERVER

AmazingMCP — MCP Server for .NET / C# Codebases

Roslyn-powered understanding of a C# solution: real symbol search, usage analysis, decompiled NuGet types and an architecture map.

by remleo ↗Code Intelligence & Repository IndexingCommunity

LABSCO SUMMARY

Grep finds the string; this finds the usages.

The distinction matters most on query_usages — inheritance, generic constraints and nameof references are usages that no text search will surface. The digest-then-read pattern is the other thing to adopt early: on a file of a few thousand lines, reading the outline first and pulling two members costs a fraction of reading the file.

What it is

An MCP server that opens your .sln or .slnx through MSBuild Workspaces and compiles every project in memory. All of its tools run against a real Roslyn semantic model rather than text search, and NuGet types are resolved alongside your own source.

What you get

  • query_symbol — find types, methods, properties, fields, extension methods, constants and enum values across the solution and its NuGet packages
  • get_type_details — properties, methods, base types and nested types, including for NuGet types
  • query_usages — every usage of a type: calls, constructor calls, property and field reads and writes, generic arguments and constraints, return and parameter types, inheritance, nameof, typeof, is and as, with predicate filtering and scan scope control
  • read_cs_file_digest — a structural outline of a large file, types and members with line numbers and no implementations; then read_large_cs_file fetches only the members you name
  • decompile_type — decompile any type from a NuGet assembly back to C#, with ILSpy built in and no external tool needed
  • code_lens — fully-qualified types for a line range: locals, field and property types, call signatures, object creations and declarations
  • get_project_design and get_project_design_details — abstraction groups by namespace and the dependencies between them, with * wildcard support
  • One server handles any number of solutions; the workspace is cached with file watchers, so .cs edits recompile incrementally while .csproj or .sln changes invalidate the cache

Requirements

The .NET 10 SDK, then dotnet tool install -g HoldMyCoolantMeatbag.AmazingMCP. It runs as an HTTP server on http://localhost:7777 by default, changeable with --urls, and clients connect with "type": "http". Output sizes are tunable: --Symbol:QueryOutputLineLimit (100), --ReadCs:ReadOutputMaxLength (20000), --ProjectDesign:DetailsOutputMaxLength (30000) and --QueryUsages:QueryMatchLimit (200). --DisabledTools takes a comma-separated list if you want fewer tools in context. The first call against a solution is slow because it compiles; later calls are not.

Setup effort

One command — dotnet tool install -g HoldMyCoolantMeatbag.AmazingMCP