AmazingMCP
AmazingMCP — MCP Server for .NET / C# Codebases
Documentation
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.AmazingMCPRequires .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`/`.slnx` via 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. `.cs` changes trigger incremental recompilation; `.csproj`/`.sln` changes 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`, and `decompile_type` work on any referenced package.
Usage
AmazingMCP
# example:
AmazingMCP --urls=http://localhost:7777 --Symbol:QueryOutputLineLimit=50 --ReadCs:ReadOutputMaxLength=50000
# see all options:
AmazingMCP --helpThe 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:7777Or 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 testLicense
MIT
Frequently asked questions
What is AmazingMCP?
AmazingMCP is AmazingMCP — MCP Server for .NET / C# Codebases
How do I install AmazingMCP?
Open the GitHub repository and follow its README. Most MCP servers are added to your client's MCP config, then called by your agent.
Is AmazingMCP open source?
Yes — it is hosted on GitHub at https://github.com/Remleo/AmazingMCP.
Related MCP tools
Unity MCP acts as a bridge between AI assistants and your Unity Editor. Give your LLM tools to manage assets, control scenes, edit scripts, and automate tasks within Unity.
AI Skills, MCP Tools, and CLI for Unity Engine. Full AI develop and test loop. Use cli for quick setup. Efficient token usage, advanced tools. Any C# method may be turned into a tool by a single line. Works with Claude Code, Gemini, Copilot, Cursor and any other absolutely for free.
Catalog of official Microsoft MCP (Model Context Protocol) server implementations for AI-powered data access and tool integration
An MCP server that allows MCP clients like Claude Desktop or Cursor to perform actions in the Unity Editor C#-based implementation.
The official C# SDK for Model Context Protocol servers and clients. Maintained in collaboration with Microsoft. Trusted by 3500+ developers.
Model Context Protocol (MCP) plugin to connect with Unity Editor — designed for OpenAI, Gemini, Claude, Deepseek and Grok interoperability
Run your own MCP server? See who uses it and what to fix.
Measure it with TrackMCP