AnalyzeAssemblyLABSCO 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,FindAssemblyByNugetPackagewhich 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 bymemberKinds - Reverse lookups —
FindImplementationsOf,FindMethodsReturning,FindExtensionMethodsFor,FindReferencesTo, with open-generic matching supported - IL analysis —
GetMethodCallsreads 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_casefor clients —GetTypeMethodsis called asget_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
USE CASES
Getting a signature exactly right
Read the type's methods from the assembly's metadata instead of letting the model reconstruct an overload.
Finding a member when you only remember part of its name
Search the whole assembly by name fragment, narrowing by member kind.
Working out what actually implements an interface
Run the reverse lookup, which handles open-generic matches too, rather than grepping for the interface name.
Answering what a method does when you have no source
Read its IL body to list the calls it makes and the fields it touches.
Locating a DLL you only know by package name
Resolve it out of the local NuGet cache by package id, optionally pinning version and target framework.
36 tools
Listed in project docs. Your client may show a different list.
GetAssemblyInfoFindAssemblyByClassNameFindAssemblyByFileNameFindAssemblyByNugetPackageGetTypesFromAssemblyAnalyzeTypeGetTypeInfoGetTypeHierarchyGetGenericTypeInfoGetTypeAttributesGetNestedTypesGetAllTypeMembersGetTypeMethodsGetTypePropertiesGetTypeFieldsGetTypeEventsGetTypeConstructorsAnalyzeMethodSearchMembersFindImplementationsOfFindMethodsReturningFindExtensionMethodsForFindReferencesToGetMethodCallsGetMemberAttributesGetParameterAttributesGetXmlDocsForTypeGetXmlDocsForMemberAnalyzeSolutionAnalyzeProjectGetProjectOutputPathsResolvePackageReferencesFindDepsJsonDependenciesGetRuntimeOptionsUpdateRuntimeOptionsBEFORE YOU INSTALL
What to know first
Tools you get
36 tools named in the project's documentation.
Requires
- sherlock-mcp on PATH
- .NET 9.0
INSTALLATION
Connect your client
Server setup
dotnet tool install -g Sherlock.MCP.ServerMCP Clients
Cursor
Settings → MCP / Custom tools → Add tool → Command: sherlock-mcp
Claude Desktop, Other MCP clients
{
"mcpServers": {
"sherlock": {
"command": "sherlock-mcp"
}
}
}