Labsco
MCP SERVER

HandMirrorMcp

by rkttu

Read the real .NET assembly instead of guessing the API: types, signatures, NuGet packages and P/Invoke surfaces.

Framework & SDK Documentation Lookup
Summary
Version-specific answers about .NET APIs, read off the metadata.

The failure this addresses is narrow and familiar: an agent writes a method that does not exist, or exists with a different signature in the version you actually reference, and the build error arrives a minute later. Reading the assembly turns that into a lookup — and the same reader covers packages you have not installed yet, so a dependency can be inspected before it is added.

What it is

A .NET inspection server that answers API questions from the assemblies themselves. It reads public types, members and XML documentation out of a DLL or a NuGet package, so an agent can check a signature before writing the call that would not have compiled.

What you get
  • Assembly reading down to the member — `inspect_assembly` for every public type with its attributes and XML docs, `list_namespaces` for the shape, `get_type_info` for one type
  • NuGet exploration without leaving the session: `search_nuget_packages`, `get_nuget_package_info`, `get_nuget_package_versions`, `inspect_nuget_package`, `inspect_nuget_package_type`
  • Supply-chain and packaging checks — `get_nuget_vulnerabilities` for known advisories, `inspect_nupkg_contents` and `extract_nupkg_file` for what is actually inside the package, `list_nuget_sources` and `clear_nuget_cache` for the local feed
  • Native interop laid out explicitly: `inspect_native_dependencies` finds DllImport, LibraryImport and COM types in an assembly
  • Project-level diagnosis — `analyze_csproj`, `analyze_solution`, `analyze_config_file`, `analyze_packages_config`, `analyze_file_based_app`, and `explain_build_error` for compiler errors
  • `get_system_info` and `get_dotnet_info` report the OS, hardware and the .NET installations actually present
Requirements

The .NET 8.0 SDK or later, and nothing else — no account, no key, and no network beyond the NuGet feeds you already use. Published on NuGet as HandMirrorMcp; from source it is git clone, dotnet build, and a client entry that runs dotnet with --project pointed at the HandMirrorMcp directory, or the built executable directly. Assembly inspection runs on Mono.Cecil and package operations on NuGet.Protocol.