Amazingmcp — Mcp Server For .net / C# Codebases
RemoteAbout Amazingmcp — Mcp Server For .net / C# Codebases
Amazingmcp — Mcp Server For .net / C# Codebases analyzes .NET and C# projects with Roslyn and provides code-query and architecture tools for AI agents. It uses live in-memory compilation and incremental caching, and can resolve NuGet types and decompile assembly types.
Key features
- 01Search types, members, and their usages
- 02Read C# file outlines and selected implementations
- 03Analyze code with the Roslyn semantic model
- 04Inspect project architecture and dependencies
- 05Search and decompile NuGet types
- 06Recompile incrementally after file changes
Use cases
- 01Locate types, members, and call sites in a codebase
- 02Read relevant parts of large C# files on demand
- 03Map namespace groups and project dependencies
- 04Inspect decompiled C# for types in NuGet assemblies
MCP support
The MCP server exposes tools for code search, usage analysis, file reading, decompilation, and architecture queries. Clients can connect over HTTP to the service, which listens at http://localhost:7777 by default.
Configuration
Remote servers need no local install. Pick your client, then copy the config or install in one click.
http://localhost:7777claude mcp add --transport http AmazingMCP http://localhost:7777{"mcpServers":{"AmazingMCP":{"type":"http","url":"http://localhost:7777"}}}Open in Cursor{"servers":{"AmazingMCP":{"type":"http","url":"http://localhost:7777"}}}Open in VS Code{"mcpServers":{"AmazingMCP":{"type":"http","url":"http://localhost:7777"}}}{"mcpServers":{"AmazingMCP":{"serverUrl":"http://localhost:7777"}}}Run commands in a terminal; paste JSON into the client’s MCP config and restart. Servers that need sign-in will prompt on first connect.
Tools
Details
From the project READMEAmazingMCP — 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
Comments
New to MCP?
From what the protocol is to installing your first server, these answers cover most first questions.
An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.