ND

notgate/dnspy-mcp

Developer tools

이 페이지는 AI로 자동 번역되었습니다. 기술적인 세부 사항은 원문을 확인하세요. 원문 보기

21 stars 2 forks 품질 51 트렌드 10

Headless CLI reflection debugger for .NET assemblies with MCP server support

개요

A Model Context Protocol server for static .NET assembly analysis powered by ICSharpCode.Decompiler (dnSpyEx engine). Exposes decompilation, IL disassembly, metadata inspection, and protection analysis as MCP tools over stdio. Never executes target assemblies. - .NET 8 SDK or later - Compatible MCP client (Claude Desktop, Cursor, or any client supporting MCP stdio transport) detect_anti_debug, detect_anti_tamper, and get_protection_report perform static analysis only. The target assembly is never loaded as a .NET type, never JIT-compiled, and never executed. Analysis uses ICSharpCode.Decompiler's type system and PE reader exclusively. - P/Invoke declarations targeting known anti-debug APIs (IsDebuggerPresent, NtQueryInformationProcess, etc.) - Managed API usage (System.Diagnostics.Debugger.IsAttached, etc.

README

원문 README의 일부입니다. 원문 보기.

dnSpy-MCP

A Model Context Protocol server for static .NET assembly analysis powered by ICSharpCode.Decompiler (dnSpyEx engine). Exposes decompilation, IL disassembly, metadata inspection, and protection analysis as MCP tools over stdio. Never executes target assemblies.

Requirements

  • .NET 8 SDK or later
  • Compatible MCP client (Claude Desktop, Cursor, or any client supporting MCP stdio transport)

Installation

git clone https://github.com/ZeraTS/dnSpy-MCP.git
cd dnSpy-MCP
dotnet build src/DnSpyMcp/DnSpyMcp.csproj -c Release

Claude Desktop Configuration

Add to claude_desktop_config.json:

{
  "mcpServers": {
    "dnspy-mcp": {
      "command": "dotnet",
      "args": ["/path/to/src/DnSpyMcp/bin/Release/net8.0/DnSpyMcp.dll"]
    }
  }
}

Tools

Tool Description Key Parameters
get_pe_info Get PE/COFF header information, assembly metadata, and target framework assemblyPath
get_resources List all manifest resources embedded in the assembly assemblyPath
resolve_token Resolve a metadata token (hex, e.g. 0x02000001) to its definition assemblyPath, tokenHex
list_pinvokes List all P/Invoke (DllImport) declarations in the assembly assemblyPath
find_attributes Find all types and methods decorated with a specific attribute assemblyPath, attributeName
get_methods_for_type Get all methods defined on a specific type assemblyPath, typeName
decompile_assembly Decompile the entire assembly to C# source code assemblyPath
decompile_type Decompile a specific type to C# source code assemblyPath, typeName
decompile_method Decompile a specific method to C# source code assemblyPath, typeName, methodName
dump_il Dump IL (CIL) disassembly for the whole assembly, a type, or a specific method assemblyPath, typeName?, methodName?
inspect_type Inspect a type’s structure: fields, methods, properties, interfaces, optionally with source assemblyPath, typeName, includeSource?
inspect_method Inspect a specific method: signature, parameters, decompiled source, optionally IL assemblyPath, typeName, methodName, includeSource?, includeIL?
list_types List all type definitions in the assembly assemblyPath
find_methods Find methods in the assembly, optionally filtered by name pattern assemblyPath, pattern?
search_strings Search for string literals in the assembly’s decompiled source assemblyPath, pattern, useRegex?
search_members Search for types, methods, fields, and properties by name pattern assemblyPath, pattern
set_breakpoint Set a virtual breakpoint on a method at a specific IL offset assemblyPath, typeName, methodName, ilOffset
list_breakpoints List all active virtual breakpoints
GitHub에서 전체 README 보기

설치

This server does not publish a one-line install command.

Open the repository installation guide MCP 초보자라면? mcpskill.org 가이드부터 시작하세요 →

설정

{ "mcpServers": { "dnspy-mcp": { "command": "dotnet", "args": ["/path/to/src/DnSpyMcp/bin/Release/net8.0/DnSpyMcp.dll"] } } }