
Dotnet Sherlock Mcp
This server gives Claude deep reflection capabilities over .NET assemblies. It exposes 31+ tools for type introspection, member analysis, and dependency resolution. You can enumerate methods and properties with filtering and pagination, extract XML documentation, trace type hierarchies, find implementations of interfaces, and parse project files and deps.json. It's built for scenarios where you need accurate type information rather than hallucinated API signatures: analyzing unfamiliar codebases, generating code against existing types, or building tooling that needs precise metadata about constructors, generics, and attributes. Runs as a global dotnet tool over stdio and includes smart caching for performance.
- GitHub stars
- 10
- tools
- 32
- transport
- STDIO
- env vars
- 2
- last updated
- Oct 5, 2026
Tools
32 toolsPublic tool metadata for what this MCP can expose to an agent.
OpenAssemblyReturns a short `asm_…` handle to pass as `assemblyHandle` instead of `assemblyPath` on any tool that takes an assembly.
Returns a short `asm_…` handle to pass as `assemblyHandle` instead of `assemblyPath` on any tool that takes an assembly.
No parameter schema in public metadata yet.
AnalyzeAssemblyComplete assembly overview with public types and metadata
Complete assembly overview with public types and metadata
No parameter schema in public metadata yet.
GetAssemblyInfoAssembly-level metadata — identity/version, target framework, and referenced assemblies (`projection=full` adds all assembly attributes)
Assembly-level metadata — identity/version, target framework, and referenced assemblies (`projection=full` adds all assembly attributes)
No parameter schema in public metadata yet.
FindAssemblyByClassNameLocate assemblies declaring a public type by simple, full or nested name
Locate assemblies declaring a public type by simple, full or nested name
No parameter schema in public metadata yet.
FindAssemblyByFileNameFind assemblies by file name under a root directory, with the same exclusions and ranking
Find assemblies by file name under a root directory, with the same exclusions and ranking
No parameter schema in public metadata yet.
FindAssemblyByNugetPackageResolve a DLL from the local NuGet cache by package id (optional `version`/`tfm`)
Resolve a DLL from the local NuGet cache by package id (optional `version`/`tfm`)
No parameter schema in public metadata yet.
GetTypesFromAssemblyList all public types with metadata (paginated)
List all public types with metadata (paginated)
No parameter schema in public metadata yet.
AnalyzeTypeType metadata plus all members; use `GetTypeInfo` + `GetTypeMembers projection=full`
Type metadata plus all members; use `GetTypeInfo` + `GetTypeMembers projection=full`
No parameter schema in public metadata yet.
GetTypeInfoDetailed type metadata (accessibility, generics, nested types)
Detailed type metadata (accessibility, generics, nested types)
No parameter schema in public metadata yet.
GetTypeHierarchyInheritance chain and interface implementations; `format='mermaid'` returns a Mermaid `classDiagram`
Inheritance chain and interface implementations; `format='mermaid'` returns a Mermaid `classDiagram`
No parameter schema in public metadata yet.
GetGenericTypeInfoGeneric parameters, arguments, and variance information
Generic parameters, arguments, and variance information
No parameter schema in public metadata yet.
GetTypeAttributesCustom attributes declared on types
Custom attributes declared on types
No parameter schema in public metadata yet.
GetNestedTypesNested type declarations
Nested type declarations
No parameter schema in public metadata yet.
GetTypeMembersMethods, properties, fields, events and constructors of a type in one paginated list
Methods, properties, fields, events and constructors of a type in one paginated list
No parameter schema in public metadata yet.
AnalyzeMethodDeep method analysis with overloads and attributes
Deep method analysis with overloads and attributes
No parameter schema in public metadata yet.
GetTypeMethodsDeprecated; use GetTypeMembers with kinds
Deprecated; use GetTypeMembers with kinds
No parameter schema in public metadata yet.
GetTypePropertiesDeprecated; use GetTypeMembers with kinds
Deprecated; use GetTypeMembers with kinds
No parameter schema in public metadata yet.
GetTypeFieldsDeprecated; use GetTypeMembers with kinds
Deprecated; use GetTypeMembers with kinds
No parameter schema in public metadata yet.
GetTypeEventsDeprecated; use GetTypeMembers with kinds
Deprecated; use GetTypeMembers with kinds
No parameter schema in public metadata yet.
GetTypeConstructorsDeprecated; use GetTypeMembers with kinds
Deprecated; use GetTypeMembers with kinds
No parameter schema in public metadata yet.
GetAllTypeMembersDeprecated; use GetTypeMembers projection=full
Deprecated; use GetTypeMembers projection=full
No parameter schema in public metadata yet.
SearchMembersSearch a whole assembly for members whose name contains a fragment
Search a whole assembly for members whose name contains a fragment
No parameter schema in public metadata yet.
FindImplementationsOfTypes implementing an interface or deriving from a base class (open-generic match supported)
Types implementing an interface or deriving from a base class (open-generic match supported)
No parameter schema in public metadata yet.
FindMethodsReturningMethods whose return type matches a given type (open-generic match supported)
Methods whose return type matches a given type (open-generic match supported)
No parameter schema in public metadata yet.
FindExtensionMethodsForExtension methods that extend a given type (scans static classes by `this`-parameter)
Extension methods that extend a given type (scans static classes by `this`-parameter)
No parameter schema in public metadata yet.
FindReferencesToBroader sweep across parameters, fields, properties, events, and generic arguments
Broader sweep across parameters, fields, properties, events, and generic arguments
No parameter schema in public metadata yet.
FindEndpointsASP.NET Core endpoints from controller attribute routes and minimal API map calls
ASP.NET Core endpoints from controller attribute routes and minimal API map calls
No parameter schema in public metadata yet.
FindServiceRegistrationsMicrosoft.Extensions.DependencyInjection registrations read from IL calls
Microsoft.Extensions.DependencyInjection registrations read from IL calls
No parameter schema in public metadata yet.
FindEfEntitiesThe DbSet<T> properties of every DbContext subclass
The DbSet<T> properties of every DbContext subclass
No parameter schema in public metadata yet.
FindHandlersMediatR-style handlers for requests, notifications, streams and pipeline behaviors
MediatR-style handlers for requests, notifications, streams and pipeline behaviors
No parameter schema in public metadata yet.
GetMethodCallsRead a method's IL body to list what it calls and which fields it touches
Read a method's IL body to list what it calls and which fields it touches
No parameter schema in public metadata yet.
CompareApiSurfaceDiff the public API of two versions of an assembly
Diff the public API of two versions of an assembly
No parameter schema in public metadata yet.
Sponsors
Configuration
SHERLOCK_TOOL_PROFILEdefault: fullTool profile to expose: 'full' (default, every tool) or 'core' (21 essential tools).
SHERLOCK_SOURCE_FETCHdefault: known-hostsWhere get_member_source may fetch Source Link files from: 'known-hosts' (default; GitHub, GitLab, Bitbucket and Azure DevOps), 'any' host, or 'off'.
Readme
Sherlock MCP for .NET
Sherlock MCP for .NET is a comprehensive Model Context Protocol (MCP) server that provides deep introspection capabilities for .NET assemblies. It enables Language Learning Models (LLMs) to analyze and understand your .NET code with precision, delivering accurate and context-aware responses for complex development scenarios.
This tool is essential for developers who want to harness LLM capabilities for:
- Deep codebase analysis - Understanding complex .NET architectures and dependencies
- Precise type information - Getting detailed metadata about types, members, and their signatures
- Automated documentation - Extracting and utilizing XML documentation and attributes
- Custom tooling - Building sophisticated tools that interact with .NET assemblies
- Code generation - Creating accurate code based on existing type structures
Key Features
Details
- Repository
- github.com/jcucci/dotnet-sherlock-mcp
- Category
- Reverse Engineering
- Package
Sherlock.MCP.Server- Transport
- STDIO
- Registry
- MCP registry, active