.NET assembly introspection MCP server with advanced reflection and type analysis capabilities
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent β or use 1-click editor setup below.
One-click editor setup isnβt available for this listing yet β we donβt have a confirmed install command, and weβd rather show nothing than point your editor at the wrong package or host. Follow the projectβs own setup instructions, linked above.
Inspect callable tools, capabilities, and parameters exposed to AI agents by Dotnet Sherlock MCP.
AnalyzeAssemblyCallable MCP tool function
GetAssemblyInfoCallable MCP tool function
FindAssemblyByClassNameCallable MCP tool function
FindAssemblyByFileNameCallable MCP tool function
FindAssemblyByNugetPackageCallable MCP tool function
versionCallable MCP tool function
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:
ModelContextProtocol 2.1.0 (GA)2026-07-28, and negotiates down automatically for clients on earlier revisionsModelContextProtocol 2.1.0, so clients negotiate the current specification revision instead of falling back. The handshake-less request flow is supported, and clients on earlier revisions keep working unchanged.readOnlyHint, destructiveHint, openWorldHint, idempotentHint), so clients can tell at a glance that 35 of them only read metadata.tools/list advertises ttlMs and cacheScope and returns tools in a deterministic order, letting clients skip redundant re-fetches. See CHANGELOG.md for full details.Install the global tool from NuGet (adds sherlock-mcp to your PATH):
Alternatively, during development you can run the server locally:
Sherlock runs as a standard MCP server that communicates over stdio.
sherlock-mcpsherlock-mcp command. Example JSON entry (refer to your clientβs docs for exact file location/format):No arguments are required. The server self-registers all tools when launched.
You usually don't need to paste anything. Sherlock ships its usage guidance in the MCP instructions field returned at initialize, and most MCP clients (including Claude Code) surface that to the agent automatically β so the guidance stays correct and versioned with the package, with no copy-paste to maintain.
The snippets below are optional reinforcement. Keep them short and principle-based rather than enumerating tool names and workflows: a static list pasted into your repo will drift as Sherlock's tools evolve, whereas the tools' own descriptions (and the server instructions) always match the version you're running.
Tool names are exposed in
snake_case(get_type_methods,search_members, β¦); argument names stay camelCase (projection,nameContains).
Optional β a short pointer in your project's CLAUDE.md:
The single-file .cursorrules format is deprecated (and silently ignored in Cursor's Agent mode).
Add a Project Rule at .cursor/rules/sherlock.mdc instead:
For tools that follow the cross-editor AGENTS.md convention, the same short pointer works β drop the Claude Code snippet above into your AGENTS.md.
For system-wide usage, add to your global agent settings:
Below are compact prompt snippets you can paste into your chat to get productive fast. Adjust paths to your local DLLs.
General setup
Enumerate members for a type
Get XML docs for a member
Find types and drill in
Tune paging and filters
Browse lean, then get detail (projection)
Trace relationships and call sites
Tool names: MCP clients call these tools in
snake_caseβGetTypeMethodsβget_type_methods,SearchMembersβsearch_members, and so on. The PascalCase names used throughout this README match the underlying C# methods and the tool descriptions your client displays.
AnalyzeAssembly: Complete assembly overview with public types and metadataGetAssemblyInfo: Assembly-level metadata β identity/version, target framework, and referenced assemblies (projection=full adds all assembly attributes)FindAssemblyByClassName: Locate assemblies containing specific class namesFindAssemblyByFileName: Find assemblies by file name in common build pathsFindAssemblyByNugetPackage: Resolve a DLL from the local NuGet cache by package id (optional version/tfm)GetTypesFromAssembly: List all public types with metadata (paginated)AnalyzeType: Comprehensive type analysis with all membersGetTypeInfo: Detailed type metadata (accessibility, generics, nested types)GetTypeHierarchy: Inheritance chain and interface implementationsGetGenericTypeInfo: Generic parameters, arguments, and variance informationGetTypeAttributes: Custom attributes declared on typesGetNestedTypes: Nested type declarationsGetAllTypeMembers: All members across all categoriesGetTypeMethods: Method signatures, overloads, and metadataGetTypeProperties: Property details including getters/setters and indexersGetTypeFields: Field information including constants and readonly fieldsGetTypeEvents: Event declarations with handler typesGetTypeConstructors: Constructor signatures and parametersAnalyzeMethod: Deep method analysis with overloads and attributesSearchMembers: Search a whole assembly for members whose name contains a fragment β the entry point when you know a member name but not its declaring type. Filter by memberKinds (method|property|field|event|type).Factual signals from GitHub, npm, and our automated checks β not a rating.
No reviews yet β be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/dotnet-sherlock-mcp)<a href="https://allmcps.com/mcp/dotnet-sherlock-mcp"><img src="https://allmcps.com/api/badge/dotnet-sherlock-mcp?style=directory" alt="Dotnet Sherlock MCP on AllMCPs" /></a>