Skip to content

Tools Overview

mcilspy exposes 16 tools through the Model Context Protocol, powered by two complementary engines. Seven metadata tools parse PE headers directly via dnfile and work immediately with no .NET SDK. Nine decompilation tools use ilspycmd for full source recovery, diagrams, and project generation. Two diagnostics tools help you get set up.

ToolPurposeEngineCategory
decompile_assemblyFull C# or IL source recovery with PDB supportilspycmdDecompilation
decompile_methodExtract a single method from a typeilspycmdDecompilation
list_typesEnumerate classes, interfaces, structs, enums, delegatesilspycmdDecompilation
search_typesFind types by name pattern (regex supported)ilspycmdDecompilation
search_stringsFind hardcoded strings in the UserString heapdnfileDecompilation
generate_diagrammerInteractive HTML type relationship diagramilspycmdDecompilation
dump_packageExtract assemblies from NuGet packagesilspycmdDecompilation
get_assembly_infoVersion, framework, signing, and debug infoilspycmdDecompilation
search_methodsFind methods by name or pattern across all typesdnfileMetadata
search_fieldsFind fields, constants, and their default valuesdnfileMetadata
search_propertiesFind properties by name patterndnfileMetadata
list_eventsList all event definitions in an assemblydnfileMetadata
list_resourcesFind embedded files, images, and resource streamsdnfileMetadata
get_metadata_summaryAssembly statistics, references, and framework infodnfileMetadata
check_ilspy_installationDiagnose dotnet CLI and ilspycmd setupbuilt-inDiagnostics
install_ilspyAuto-install .NET SDK and ilspycmd for your platformbuilt-inDiagnostics

Eight tools that use ilspycmd for deep analysis, plus search_strings which reads the UserString heap directly via dnfile. These cover full source recovery, type enumeration, diagram generation, and NuGet package extraction.

Six tools that parse PE metadata tables directly. No .NET SDK required — these work on any machine with Python installed.

Two tools for setup and troubleshooting. These detect your platform and package manager automatically.

When approaching an unknown assembly, start broad and narrow down. The Quick Start guide walks through this sequence in detail:

  1. Reconnaissanceget_metadata_summary for type counts, references, and framework target
  2. Discoverylist_types or search_types to find what exists
  3. Searchsearch_methods, search_fields, search_strings to find specific patterns
  4. Deep divedecompile_assembly or decompile_method for full source code
  5. Visualizationgenerate_diagrammer for type relationship diagrams
  6. Resourceslist_resources to check for embedded files