Slnmap 0.9.0
See the version list below for details.
dotnet tool install --global Slnmap --version 0.9.0
dotnet new tool-manifest
dotnet tool install --local Slnmap --version 0.9.0
#tool dotnet:?package=Slnmap&version=0.9.0
nuke :add-package Slnmap --version 0.9.0
Slnmap
Slnmap (sln-map) — a semantic map of your .sln for AI coding agents.
Open source under the MIT license. Source, issues, and full docs: github.com/EMahmoudNabil/slnmap
Your AI agent can't refactor .NET code it can't see. Ask an agent "what breaks if I change this interface?" and it guesses from the files in its context — missing callers in other projects and files it never opened. Slnmap gives the agent a precise, compiler-accurate map of your whole solution, so it answers correctly: every caller, every implementation, across every project. It runs locally and serves the map to your agent or editor over MCP.
Quickstart
1. Install (requires the .NET SDK 9.0+):
dotnet tool install --global Slnmap
2. Analyze your solution (builds slnmap.db in the current folder):
slnmap analyze path/to/YourSolution.sln
3. Connect your MCP client. For Claude Code, add this to .mcp.json, using an absolute path to
the slnmap.db you just built:
{
"mcpServers": {
"slnmap": {
"command": "slnmap",
"args": ["serve", "--db", "C:/path/to/your/project/slnmap.db"]
}
}
}
The tools
The server exposes thirteen read-only tools — find_symbol, get_dependencies, impact_analysis,
get_architecture_overview, find_usages, find_implementations, get_type_hierarchy,
find_tests_for_symbol, get_project_dependencies, find_circular_dependencies,
get_symbol_source, list_endpoints, and find_endpoint (full descriptions in the
README).
For an interface, impact_analysis follows both the interface's callers and its concrete
implementations/overrides — across projects, in files nobody has open. HTTP endpoints are
first-class graph nodes — from ASP.NET Core Minimal APIs (v0.7.0) and attribute-routed controllers
(v0.8.0): ask "which endpoint serves /api/vendors/42?" or "what breaks if I change this handler?"
and get the actual route back.
There's also slnmap viz: exports the graph as a single self-contained, interactive HTML file —
no server, no CDN, works offline.
Privacy
100% local — and now you can verify it. No telemetry, no network calls, no cloud service; analysis works fully offline. Now that the CLI and MCP server are open source, the claim is auditable.
License & support
Slnmap is open source under the MIT license. The CLI and MCP server are MIT-licensed and will stay that way. Future hosted or team-oriented features may be commercial.
For questions or to report an issue, open a GitHub issue or contact hello@slnmap.dev.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net9.0 is compatible. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
This package has no dependencies.
| Version | Downloads | Last Updated |
|---|---|---|
| 0.12.0 | 0 | 8/22/2026 |
| 0.11.0 | 0 | 8/22/2026 |
| 0.10.0 | 44 | 8/21/2026 |
| 0.9.0 | 46 | 8/21/2026 |
| 0.8.2 | 103 | 8/14/2026 |
| 0.8.1 | 85 | 8/14/2026 |
| 0.8.0 | 91 | 8/12/2026 |
| 0.7.0 | 93 | 8/12/2026 |
| 0.6.1 | 89 | 8/8/2026 |
| 0.6.0 | 92 | 8/8/2026 |
| 0.5.0 | 103 | 8/7/2026 |
| 0.4.0 | 120 | 7/23/2026 |
| 0.3.0 | 107 | 7/22/2026 |
| 0.2.1 | 113 | 7/19/2026 |
| 0.2.0 | 104 | 7/18/2026 |
| 0.1.9 | 98 | 7/18/2026 |
| 0.1.8 | 104 | 7/18/2026 |
| 0.1.7 | 99 | 7/18/2026 |
| 0.1.6 | 107 | 7/17/2026 |
| 0.1.5 | 102 | 7/17/2026 |
New: enum members are first-class graph nodes (kind EnumMember) -- every
member materializes, referenced or not, and find_usages/impact_analysis answer at member
granularity (MyEnum.Value), the same question v0.6.1 answered for consts. Event usage is now
tracked: += / -= subscription and Event?.Invoke raising sites produce References edges, so
find_usages on an event finds its subscribers and raisers. typeof() inside assembly-level
attributes ([assembly: HostingStartup(typeof(...))]) now produces a reference attributed to the
project node. Also verified-and-pinned: generic type arguments to external framework methods
(UseMiddleware of T) already produce edges. Upgrading: just re-run analyze -- the tool-version
check forces the full rebuild automatically. See CHANGELOG.md for details.
Source: https://github.com/EMahmoudNabil/slnmap