DnSpyMCP
A powerful MCP server for .NET reverse engineering, game hacking, and Il2Cpp dump analysis. Features 31 tools for deep assembly inspection, cross-referencing, network patching, and more.
Install / Use
claude mcp add rabbanyhmm -- npx -y github:rabbanyhmm/DnSpyMCPIf the server publishes to npm under a different name, use that package instead ā check the repo README.
MCP Server
Model Context Protocol server
Quality Score
Category
OtherSupported Platforms
Tags
Our assessment of DnSpyMCP
DnSpyMCP scores 83/100 on our quality scale, 181st of 241 Other skills we index.
Its MCP Server is 11 KB long, well organised into 31 sections with 14 code examples: a thorough specification that gives an agent plenty to work with.
It has 10 GitHub stars, so there is little community track record yet; judge it on its content.
Maintenance, license and trust
- The repository was last updated 43 days ago, so DnSpyMCP is actively maintained.
- It is released under the MIT license, a permissive license that allows use, modification and commercial use with attribution.
- Its trust signals score 97/100, with no cautions. These come from repository metadata, not a code audit ā read the skill file before letting an agent act on it.
DnSpyMCP compared with similar skills
All 4 of these similar skills score higher than DnSpyMCP; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| DnSpyMCP (this skill)by rabbanyhmm | 83 | 10 | 43d ago | MCP Server |
| Agent-Reachby Panniantong | 100 | 96.4k | 4d ago | CLAUDE.md |
| headroomby headroomlabs-ai | 100 | 75.1k | 1d ago | CLAUDE.md |
| CowAgentby zhayujie | 100 | 47.4k | today | CLAUDE.md |
| Scraplingby D4Vinci | 100 | 87.0k | 1d ago | MCP Server |
Frequently asked questions
- How do I install DnSpyMCP?
- Run
claude mcp add rabbanyhmm -- npx -y github:rabbanyhmm/DnSpyMCP. The install tabs above show the steps for each supported agent. - Which AI agents does DnSpyMCP work with?
- It is written for Claude Code and Claude Desktop, as a MCP Server file. Other agents that read the same format can often use it too.
- Is DnSpyMCP safe to use?
- It is MIT-licensed and scores 97/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is DnSpyMCP still maintained?
- The repository was last updated 43 days ago, so DnSpyMCP is actively maintained.
Skill content
View source on GitHubš¬ DnSpy MCP Server
A powerful MCP server for .NET reverse engineering, game hacking, and Il2Cpp dump analysis.
31 AI-optimized tools ⢠Cross-References ⢠Network Reversing ⢠Il2Cpp Support ⢠TCP Proxy Analysis ⢠Multi-DLL Search
</div>Features
- 31 MCP Tools for deep .NET assembly analysis, patching, and game reversing
- Fully async, non-blocking architecture
- Il2Cpp / Unity game dump optimized (offset search, RVA lookup, dummy detection)
- Cross-reference scanning (method callers, field references)
- Network/TCP proxy reverse engineering (packet handler discovery, crypto usage scanning)
- Hardcoded secret extraction (IPs, URLs, API keys)
- Multi-assembly search ā search all DLLs in a folder at once
- dump.cs bridge ā resolve dump.cs line numbers to DummyDll types
- C-struct layout export ā ready for cheat engine / Frida scripts
- Default assembly auto-discovery ā
DNSPY_DEFAULT_ASSEMBLYenv var support - AI agent instructions ā
instructions.mdfor AI agent onboarding - Single-file publish (win-x64 / linux-x64)
- MCP stdio transport (Claude Code / Codex / Cursor / OpenCode / Antigravity compatible)
Project Layout
src/DotNetInspectorMcp/
āāā Program.cs # Entry point with graceful shutdown
āāā Hosting/McpServerHost.cs # Dependency wiring
āāā Models/McpServer.cs # MCP request router
āāā Communication/StdioJsonRpc.cs # Stdio JSON-RPC transport
āāā Domain/AssemblyAnalyzer.cs # Core analysis engine
āāā Domain/ResourceRegistry.cs # MCP resources
āāā Endpoints/AssemblyTools.cs # All tool implementations
āāā Endpoints/ToolRegistry.cs # Reflection-based tool discovery
āāā Endpoints/Attributes.cs # [McpTool] / [ToolParam] attributes
āāā Endpoints/ToolCallResult.cs # Tool result model
āāā Endpoints/ToolContext.cs # DI context for tools
Tools (31 total)
Assembly Inspection
| Tool | Description |
|------|-------------|
| list_types | List all types. Supports gameCodeOnly filter to hide Unity/System noise. |
| decompile_type | Decompile a full type to C#. |
| decompile_method | Decompile a specific method. Auto-detects Il2Cpp dummy bodies. |
| get_method_il | Get raw IL instructions for a method. |
| search_members | Search types, methods, fields, properties by name. |
| list_methods | List all methods of a type with tokens. |
| find_string_references | Find all string literal usages across the assembly. |
Game Dump / Il2Cpp Analysis
| Tool | Description |
|------|-------------|
| analyze_type | Full class layout: fields with offsets, properties, methods with RVAs. |
<<<<<<< HEAD
| get_type_layout | Basic C-struct layout for cheat development. Automatically marks inline value types ([Inline Struct]) and omits pointer formatting. |
| get_type_layout | Basic C-struct layout for cheat development. |
9b7039f949a85947fd36460a2e67b8073fd13b11 |
get_struct_layout| Advanced C++ struct export with explicit padding (char _pad) computed from offsets. | |get_method_rva| Get the Il2Cpp RVA for a specific method. | |search_by_offset| Search by hex (0x16D0) or decimal offset to find fields/methods. Numeric comparison. | |find_enum_values| Find/resolve enum values by magic number, hex value, or partial name. | |find_ui_bindings| Scan a class to find all Unity UI component references and the methods modifying them. | |get_class_pointer| Parsescript.jsonfrom Il2CppDumper to get staticTypeInfoclass pointers for memory scanning. |
Deep Reverse Engineering
| Tool | Description |
|------|-------------|
| find_method_callers | Cross-reference: find all methods that call a target method. |
| find_field_references | Cross-reference: find all methods that read/write a target field. |
| trace_field_consumers | Traces the full call graph up from a field read/write to find who ultimately consumes the data. |
| find_derived_types | Find all classes inheriting from a base class or interface. |
| search_by_inheritance | Find classes inheriting from a base type and optionally filter by field names. |
| lookup_token | Resolve a raw hex token (e.g., 0x06001234) to its Type/Method/Field. |
| diff_types | Compare two types side-by-side to find field offset and signature differences. |
| resolve_method_signature | Generates C++ function pointer typedefs for hooking (e.g., MinHook/Frida). |
Network / TCP Proxy Reversing
| Tool | Description |
|------|-------------|
| find_network_handlers | Heuristic scan for Socket/TcpClient/Packet handlers with RVAs. |
| find_crypto_usage | Heuristic scan for AES/RSA/Encrypt/Decrypt methods. |
| scan_secrets | Extract hardcoded IPs, URLs, WebSocket endpoints, and API keys. |
Multi-Assembly & Dump Bridge
| Tool | Description |
|------|-------------|
| search_workspace | Search ALL .dll files in a directory for matching types/members. |
| resolve_dump_line | Bridge dump.cs line numbers to DummyDll types with full analysis. |
Patching
| Tool | Description |
|------|-------------|
| patch_replace_string_literal | Replace a string literal at a specific IL offset. Always creates backup. |
| patch_nop_instructions | NOP one or more IL instructions. Always creates backup. |
Navigation
| Tool | Description |
|------|-------------|
| format_inspector_jump | Build step-by-step navigation from metadata tokens. |
Default Assembly Path
You can avoid repeating assemblyPath on every tool call by setting:
# Environment variable
set DNSPY_DEFAULT_ASSEMBLY=C:\path\to\DummyDll\Assembly-CSharp.dll
The server also auto-discovers assemblies in common locations relative to CWD:
DummyDll/Assembly-CSharp.dllDump/DummyDll/Assembly-CSharp.dllManaged/Assembly-CSharp.dll
Resources
inspector://assembliesā list cached assembliesinspector://assembly?path=<path>&view=summaryā assembly summaryinspector://assembly?path=<path>&view=typesā all type names
Build
dotnet build src/DotNetInspectorMcp/DotNetInspectorMcp.csproj -c Release
Run
dotnet run --project src/DotNetInspectorMcp/DotNetInspectorMcp.csproj -c Release
Publish (single-file)
./publish.ps1 -Runtime win-x64
./publish.ps1 -Runtime linux-x64
MCP Client Configuration
Claude Code / Cursor / Codex
{
"mcpServers": {
"dnspy-mcp": {
"command": "dotnet",
"args": [
"<PATH_TO>/DnSpyMCP.dll"
]
}
}
}
OpenCode (Windows)
Config file: %USERPROFILE%\.config\opencode\opencode.json
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"dnspy-mcp": {
"type": "local",
"enabled": true,
"command": [
"dotnet",
"<PATH_TO>/DnSpyMCP.dll"
]
}
}
}
Using Published .exe (no dotnet runtime needed)
{
"mcpServers": {
"dnspy-mcp": {
"command": "<PATH_TO>/DnSpyMCP-win-x64.exe",
"args": []
}
}
}
Replace
<PATH_TO>with the actual path to your built DLL or published EXE.
AI Agent Instructions
Copy configs/instructions.md to your MCP server's tool directory so AI agents automatically get usage guidance:
# Antigravity example:
copy configs\instructions.md %USERPROFILE%\.gemini\antigravity-ide\mcp\dnspy\instructions.md
Quick Start
- Build or publish
- Add config to your MCP client (see above)
- Copy
configs/instructions.mdto your MCP tool directory - Restart your MCP client
- Ask the AI to call
list_typeswith your target assembly path
Example Workflows
Find what modifies a health field
1. search_members ā find "health" field
2. find_field_references ā see all methods that read/write it
3. decompile_method ā inspect the logic
4. get_method_rva ā get the RVA for Frida hooking
TCP Proxy / Packet Interception
1. find_network_handlers ā find Send/Receive methods
2. find_crypto_usage ā find encryption before packets are sent
3. scan_secrets ā extract server IPs and endpoints
4. get_method_rva ā get RVAs for Frida hooks
Il2Cpp Game Analysis
1. list_types (gameCodeOnly=true) ā see only game scripts
2. analyze_type ā get full memory layout with offsets
3. get_type_layout ā export as C struct for cheat engine
4. search_by_offset 0x16D0 ā find what field is at that offset
5. find_method_callers ā trace who calls a specific function
Multi-DLL Discovery
1. search_workspace ā search all DLLs in DummyDll folder
2. analyze_type ā deep dive into the matching type
3. find_field_references ā cross-reference analysis
Bridge dump.cs to DummyDll
1. resolve_dump_line ā resolve a dump.cs line to a type/member
2. analyze_type ā get the full analysis from DummyDll
Star History
<a href="https://www.star-history.com/?repos=rabbanyhmm%2FDnSpyMCP&type=date&legend=bottom-right"> <picture> <source media="(prefers-color-scheme: dark)" srcset="https://api.star-history.com/chart?repos=rabbanyhmm/DnSpyMCP&type=date&theme=dark&legend=bottom-right" /> <source media="(prefers-color-scheme: light)" srcset="https://api.star-history.com/chart?repos=rabbanyhmm/DnSpyMCP&type=date&legend=bottom-right" /> <img alt="Star History Chart" src="https://api.star-history.com/chart?repos=rabbanyhmm/DnSpyMCP&type=date&legend=bottom-right" /> </picture> </a>Related Skills
Agent-Reach
96.4kGive your AI agent eyes to see the entire internet. Read & search Twitter, Reddit, YouTube, GitHub, Bilibili, XiaoHongShu ā one CLI, zero API fees.
headroom
75.1kCompress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.
CowAgent
47.4kOpen-source personal AI assistant & Agent Harness. Plans tasks, runs tools and skills, self-evolves with memory and knowledge. Multi-agent, multi-model, multi-channel. Lightweight, extensible, one-line install.
Scrapling
87.0kš·ļø An adaptive Web Scraping framework that handles everything from a single request to a full-scale crawl! Don't be shy, join here: https://discord.gg/EMgGbDceNQ and follow here for daily tips and tricks: https://x.com/Scrapling_dev
Languages
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit ā see the Safety scan above for what the skill file itself contains.
