HoldMyCoolantMeatbag.AmazingMCP
1.5.0
dotnet tool install --global HoldMyCoolantMeatbag.AmazingMCP --version 1.5.0
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
dotnet tool install --local HoldMyCoolantMeatbag.AmazingMCP --version 1.5.0
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=HoldMyCoolantMeatbag.AmazingMCP&version=1.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
nuke :add-package HoldMyCoolantMeatbag.AmazingMCP --version 1.5.0
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
AmazingMCP — MCP Server for .NET / C# Codebases
An MCP server that gives AI agents deep understanding of C# codebases via Roslyn — type search, dependency graphs, usage analysis, and architecture overviews, all from a live in-memory compilation.
Installation
dotnet tool install -g HoldMyCoolantMeatbag.AmazingMCP
Requires .NET 10 SDK.
MCP Tools
| Tool | Description |
|---|---|
query_symbol |
Find types, members (methods, properties, fields), extension methods, constants, and enum values across the solution and NuGet packages |
get_type_details |
Full type info: properties, methods, base types, nested types (including NuGet) |
query_usages |
Find all usages of a type across the solution: method calls, constructor calls, property/field read and write, generic arguments and constraints, return types, parameter types, inheritance, nameof, typeof, is/as. Supports predicate filtering and scan scope control |
read_cs_file_digest |
Token-efficient entry point for large .cs files (hundreds or thousands of lines): returns a structural outline — types and members with line numbers, no implementations. Use this first, then fetch only the members you need with read_large_cs_file |
read_large_cs_file |
Read specific member implementations from a .cs file by name filter — use after read_cs_file_digest to load only what's relevant instead of the entire file |
decompile_type |
Decompile any type from a NuGet assembly to C# source — no external tools required, ILSpy is built in |
code_lens |
Resolve fully-qualified types for any line range in a .cs file: local variables, field/property types, method call signatures, object creations, and declarations — all from the Roslyn semantic model |
get_project_design |
High-level architecture map: abstraction groups by namespace and inter-group dependencies |
get_project_design_details |
Detailed view of abstractions and implementations for specified namespaces (supports * wildcard) |
Features
- One server, any number of solutions — start it once and point it at any project per call, no restart needed when switching between solutions.
- Live in-memory compilation — opens
.sln/.slnxvia MSBuild Workspaces and compiles all projects in memory. All tools run against a real Roslyn semantic model, not text search. - Incremental cache — workspace is cached with file watchers.
.cschanges trigger incremental recompilation;.csproj/.slnchanges invalidate the full cache. First call per solution is slow; subsequent calls are instant. - NuGet-aware — NuGet types are fully resolved and searchable alongside source types.
query_symbol,get_type_details, anddecompile_typework on any referenced package.
Usage
AmazingMCP <options>
# example:
AmazingMCP --urls=http://localhost:7777 --Symbol:QueryOutputLineLimit=50 --ReadCs:ReadOutputMaxLength=50000
# see all options:
AmazingMCP --help
The server starts on http://localhost:7777 by default.
Command-line options
| Option | Default | Description |
|---|---|---|
--urls |
http://localhost:7777 |
Listening URL |
--Symbol:QueryOutputLineLimit |
100 |
Max output lines for query_symbol |
--ReadCs:ReadOutputMaxLength |
20000 |
Max output characters for read_large_cs_file |
--ProjectDesign:DetailsOutputMaxLength |
30000 |
Max output characters for get_project_design_details |
--ProjectDesign:DetailsXmlDocSummaryMaxLength |
2000 |
Max XML doc summary characters in get_project_design_details |
--QueryUsages:QueryMatchLimit |
200 |
Max usage matches for query_usages |
--Diagnostics:IncludeExceptionDetails |
false |
Include full exception details in tool error responses (for diagnostics) |
--HttpServerTransport:IdleTimeout |
7.00:00:00 |
MCP session idle timeout — how long a session is kept alive without activity (e.g. 7.00:00:00 for 7 days, 2:00:00 for 2 hours) |
--DisabledTools |
(none) | Comma-separated list of tool names to disable (e.g. code_lens,get_project_design) |
MCP Client Configuration
Add to your MCP client config (Claude Desktop, JetBrains AI, Kiro, etc.):
{
"mcpServers": {
"AmazingMCP": {
"type": "http",
"url": "http://localhost:7777"
}
}
}
Then start the server manually in your terminal:
AmazingMCP --urls=http://localhost:7777 <other options>
Or add a launcher entry so the client starts the server automatically:
{
"mcpServers": {
"AmazingMCP": {
"type": "http",
"url": "http://localhost:7777"
},
"AmazingMCP Launcher": {
"command": "AmazingMCP",
"args": ["--urls=http://localhost:7777"]
}
}
}
Documentation
- Changelog
- QuerySymbol — type and member search
- QueryUsages — usage search
- CodeLens — type resolution for a code span
- FileStructure — token-efficient file reading
- DecompileType — NuGet assembly decompilation
- ProjectDesign — architecture overview tool
- DependencyMap — dependency map
Contributing
PRs and issues are welcome. Please open an issue before submitting a large change.
git clone https://github.com/remleo/AmazingMCP
cd AmazingMCP
dotnet build
dotnet test
License
MIT
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net10.0 is compatible. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.