LabscoMCP early access ↗
jcucciMCP SERVER

Dotnet Sherlock MCP

Reflect over .NET assemblies from an assistant — 36 tools for types, members, XML docs, inheritance, reverse lookups and IL-level call analysis.

by jcucci ↗Code Intelligence & Repository IndexingCommunity

LABSCO SUMMARY

35 of the 36 tools only read metadata, and they say so in the annotations.

Every tool advertises a title plus readOnlyHint, destructiveHint, openWorldHint and idempotentHint, so a client can see at a glance what it is dealing with instead of guessing. tools/list is cacheable with an advertised TTL and a deterministic order, which matters when you are carrying 36 tool definitions. It speaks protocol revision 2026-07-28 and negotiates down for older clients.

What it is

An MCP server that introspects compiled .NET assemblies so a model can answer questions about your code from metadata rather than guesswork: exact signatures, real inheritance chains, the attributes actually applied, and what a method calls at the IL level.

What you get

  • Assemblies found and analysed — AnalyzeAssembly, GetAssemblyInfo, FindAssemblyByClassName, FindAssemblyByFileName, FindAssemblyByNugetPackage which resolves a DLL from the local NuGet cache by package id
  • Type introspection — GetTypesFromAssembly, AnalyzeType, GetTypeInfo, GetTypeHierarchy, GetGenericTypeInfo, GetTypeAttributes, GetNestedTypes
  • Members filtered and paginated — GetAllTypeMembers, GetTypeMethods, GetTypeProperties, GetTypeFields, GetTypeEvents, GetTypeConstructors, AnalyzeMethod
  • A member searched by name fragment across a whole assembly when you do not know its declaring type — SearchMembers, filterable by memberKinds
  • Reverse lookups — FindImplementationsOf, FindMethodsReturning, FindExtensionMethodsFor, FindReferencesTo, with open-generic matching supported
  • IL analysis — GetMethodCalls reads a method's body to list what it calls and which fields it touches, the question signature-level tools cannot answer
  • XML documentation extracted for types and members — GetXmlDocsForType, GetXmlDocsForMember; solutions and projects parsed — AnalyzeSolution, AnalyzeProject, GetProjectOutputPaths
  • Tool names in snake_case for clients — GetTypeMethods is called as get_type_methods

Requirements

Install the global tool with dotnet tool install -g Sherlock.MCP.Server, which adds sherlock-mcp to your PATH, then point the client at the sherlock-mcp command over stdio — no arguments needed, the server self-registers its tools. Version 2.13.0. During development you can run it from source with dotnet run --project src/server/Sherlock.MCP.Server.csproj.

Setup effort

One command — dotnet tool install -g Sherlock.MCP.Server