Labsco
MCP SERVER

.NET Types Explorer

by V0v1kkk

Reflection over your project's compiled assemblies, so a coding agent reads the real method signatures instead of inventing them.

Code Intelligence & Repository Indexing
Summary
The type surface off the assembly that is actually on disk.

The failure it addresses is familiar: an agent writing against a third-party library it has only half-memorised, confidently calling a method that does not exist. Reflection over the compiled output gives it the exact version the code will compile against, and the assemblies-then-namespaces-then-types order keeps that from arriving as one unreadable dump.

What it is

Point this at a .csproj and it reports what is genuinely in scope. It uses MSBuild to find the compiled output and reflection to read the types out of it, then hands them back in a top-down order — assemblies, then namespaces, then types — so a large dependency tree arrives in pieces an agent can actually work through. Two further tools query nuget.org directly.

What you get
  • Every assembly a project references
  • The namespaces inside the assemblies you pick
  • Types with full names and generic parameters, implemented interfaces, constructors, methods with return types and parameters, properties with accessors, fields, and events with handler types
  • NuGet package search with prerelease control
  • A package's version history with its dependency groups per target framework, so you can see what a version drags in before recommending it
  • Wildcard filters and pagination on every call, to keep a large library from arriving all at once
  • Custom and private package feeds, queried in parallel and de-duplicated in the order you list them
Requirements

.NET 10.0 SDK or later and a project to point at, or the maintainer's Docker image with your projects directory mounted in, which needs no SDK on the machine. Because it reads compiled output, build state matters: by default the project must be built, while an alternative resolution mode reads package assemblies straight from the NuGet global cache after a restore alone, at the cost of skipping the project's own types. It inspects one project and its NuGet dependencies and does not follow references to sibling projects, so a solution is scanned a project at a time. Output is located by probing the requested configuration, then Release, then Debug — build in one of those before scanning.

Setup effort

One command — docker pull vrogozhin/dotnet-types-explorer-mcp:latest