bbajt avatar

CodeMap

bbajt/csharp-code-map

A Roslyn-powered MCP server that gives Claude direct access to your C# and VB.NET codebase structure without reading source files. Exposes 28 tools for symbol lookup, call graph traversal, type hierarchy queries, and architectural fact extraction (HTTP endpoints, DI registrations, config keys, middleware). Builds a persistent semantic index from your .sln or .slnx file, then answers questions like "who calls this method" or "where is this config key used" in 200 tokens instead of 3,600. Handles cross-DLL references into NuGet packages with optional decompilation. Reach for this when you're working on medium to large C# projects and want Claude to navigate by semantic intent rather than grepping through thousands of lines.

tools
28
transport
STDIO
env var
1
last updated
Apr 2, 2026

Tools

28 tools

Public tool metadata for what this MCP can expose to an agent.

symbols_searchSearch by name (prefix match, `OR`), kind, namespace, or file path

Search by name (prefix match, `OR`), kind, namespace, or file path

No parameter schema in public metadata yet.

code_search_textRegex/substring search across source files — returns file:line:excerpt

Regex/substring search across source files — returns file:line:excerpt

No parameter schema in public metadata yet.

symbols_get_cardFull symbol metadata + architectural facts + source code

Full symbol metadata + architectural facts + source code

No parameter schema in public metadata yet.

symbols_get_contextCard + source + all callees with source — deep understanding in one call

Card + source + all callees with source — deep understanding in one call

No parameter schema in public metadata yet.

symbols_get_definition_spanRaw source only, no overhead

Raw source only, no overhead

No parameter schema in public metadata yet.

code_get_spanRead any source excerpt by line range

Read any source excerpt by line range

No parameter schema in public metadata yet.

refs_findAll references to a symbol, classified (Call, Read, Write, Implementation…)

All references to a symbol, classified (Call, Read, Write, Implementation…)

No parameter schema in public metadata yet.

graph_callersDepth-limited caller graph — who triggers this?

Depth-limited caller graph — who triggers this?

No parameter schema in public metadata yet.

graph_calleesDepth-limited callee graph — what does this orchestrate?

Depth-limited callee graph — what does this orchestrate?

No parameter schema in public metadata yet.

graph_trace_featureFull annotated feature flow with facts at every node

Full annotated feature flow with facts at every node

No parameter schema in public metadata yet.

types_hierarchyBase type, interfaces implemented, and all derived types

Base type, interfaces implemented, and all derived types

No parameter schema in public metadata yet.

codemap_summarizeFull codebase overview: endpoints, DI, config, DB, middleware, logging

Full codebase overview: endpoints, DI, config, DB, middleware, logging

No parameter schema in public metadata yet.

codemap_exportPortable context dump (markdown/JSON, 3 detail levels) for any LLM

Portable context dump (markdown/JSON, 3 detail levels) for any LLM

No parameter schema in public metadata yet.

codemap_guideQuick-start guide: session setup, decision table, and usage rules for agents

Quick-start guide: session setup, decision table, and usage rules for agents

No parameter schema in public metadata yet.

index_diffSemantic diff between commits: symbols added/removed/renamed, API changes

Semantic diff between commits: symbols added/removed/renamed, API changes

No parameter schema in public metadata yet.

surfaces_list_endpointsEvery HTTP route (controller + minimal API) with handler and file:line

Every HTTP route (controller + minimal API) with handler and file:line

No parameter schema in public metadata yet.

surfaces_list_config_keysEvery `IConfiguration` access with usage pattern

Every `IConfiguration` access with usage pattern

No parameter schema in public metadata yet.

surfaces_list_db_tablesEF Core entities + `[Table]` attributes + raw SQL table references

EF Core entities + `[Table]` attributes + raw SQL table references

No parameter schema in public metadata yet.

workspace_createIsolated overlay for in-progress edits

Isolated overlay for in-progress edits

No parameter schema in public metadata yet.

workspace_resetClear overlay, back to baseline

Clear overlay, back to baseline

No parameter schema in public metadata yet.

workspace_listAll active workspaces with staleness, SemanticLevel, and fact count

All active workspaces with staleness, SemanticLevel, and fact count

No parameter schema in public metadata yet.

workspace_deleteRemove a workspace

Remove a workspace

No parameter schema in public metadata yet.

index_refresh_overlayRe-index changed files incrementally (~63ms)

Re-index changed files incrementally (~63ms)

No parameter schema in public metadata yet.

index_ensure_baselineBuild the semantic index (idempotent, cache-aware, auto-discovers solution)

Build the semantic index (idempotent, cache-aware, auto-discovers solution)

No parameter schema in public metadata yet.

index_list_baselinesAll cached baselines with size, age, and commit

All cached baselines with size, age, and commit

No parameter schema in public metadata yet.

index_cleanupRemove stale baselines (dry-run default; `repo_path` required; never HEAD or any workspace's baseline)

Remove stale baselines (dry-run default; `repo_path` required; never HEAD or any workspace's baseline)

No parameter schema in public metadata yet.

index_remove_repoRemove ALL baselines and workspaces of a repo (dry-run default; `repo_path` required; refuses while another process has a workspace open)

Remove ALL baselines and workspaces of a repo (dry-run default; `repo_path` required; refuses while another process has a workspace open)

No parameter schema in public metadata yet.

repo_statusGit state + whether a baseline exists for current HEAD

Git state + whether a baseline exists for current HEAD

No parameter schema in public metadata yet.

Sponsors

Configuration

CODEMAP_CACHE_DIR

Path to a shared baseline cache directory. When set, index.ensure_baseline checks the cache before running a full Roslyn build — useful on CI or shared machines.

Readme

Details

Repository
github.com/bbajt/csharp-code-map
Package
codemap-mcp
Transport
STDIO
Registry
MCP registry, active