Codebase map for AI agents: code graph, search, call paths, change impact. Local, no API key.
Copy the AI prompt to install this server into Claude Code, Cursor, or another agent — or use 1-click editor setup below.
One-click editor setup isn’t available for this listing yet — we don’t have a confirmed install command, and we’d rather show nothing than point your editor at the wrong package or host. Follow the project’s own setup instructions, linked above.
Code graph · hybrid search · call paths · change impact · an interactive graph UI.
One Rust binary. Local. No API key. MIT.
Live demo · Docs · Quickstart · Tools · Graph UI · Benchmarks · Compare
The real UI on excalidraw (687 files, indexed in under half a second): search, a symbol's code and callers, then the blast radius of a change. Try it in your browser, no install needed.
That's it. Add --claude-hooks to also enrich Claude Code's Grep and Glob. setup detects the clients you have, writes their MCP config, and prints every change it made. Run it again and nothing changes. Then ask your agent: "Use repomap to map this repo."
Claude Code: claude mcp add repomap -- npx -y @sylphx/repomap mcp
Claude Desktop, one click: download repomap-<version>.mcpb from the latest release, open it, and pick your project folder.
Claude Code plugin: /plugin marketplace add SylphxAI/repomap, then /plugin install repomap@repomap
Codex (~/.codex/config.toml):
Docker (stdio, amd64/arm64):
The server indexes the client's workspace root (or its working directory, or REPOMAP_ROOT). Every tool also takes root.
Agents burn most of their context on grep, ls and reading whole files just to work out where things are. repomap gives them the map up front:
parseConfig.file:line.git diff before you commit.All of it comes from a local index: tree-sitter parsing, a resolved import and call graph, PageRank, Louvain communities, BM25 over AST chunks, and a small static code embedding model (33 MB, downloaded once from Hugging Face, then offline). Nothing leaves your machine, and no API is called.
Six tools, each with an obvious job:
| Tool | Ask it | Returns |
|---|---|---|
map | "Give me the lay of the land" / focus: "src/server" | Modules, central files, key symbols, entry points; an outline with line numbers when focused |
search | "where are failed requests retried", "parseConfig" | Ranked file:line ranges (functions, methods, classes) by keywords, names and meaning, with the matching lines |
context | SessionStore.refresh, src/auth/token.ts, token.ts:42 | Code, callers (with call sites), callees, subtypes, members, imports, importers, tests |
trace | from: handleRequest, to: db.query | Shortest call path, or the call tree above/below a symbol |
impact | target: verifyToken or changed: true | Risk level, callers by depth, importing files, modules, tests to run |
db | table: users, or url_env: DATABASE_URL for a live database | Tables, keys, indexes, and the code (file:line) that queries each table |
Answers are compact text that cites file:line, so they cost few tokens. Pass format: "json" for structured output.
The same commands work in your terminal: repomap map, repomap search "…", repomap context X, repomap trace A B, repomap impact --changed, repomap db.
![]() | ![]() |
| Impact. Select a file and press i: everything that depends on it lights up by depth, with a list you can click through. | Code. Click a symbol to see its source, callers and callees. Open ↗ jumps to your editor or to GitHub. |
export writes one HTML file with deep links (#path/to/file) and GitHub links pinned to your commit. It's a good fit for a README, a wiki or a design review.repomap reads your schema from the repository: SQL migrations (applied in order, with down migrations skipped), schema.prisma, Drizzle pgTable/mysqlTable/sqliteTable, SQLAlchemy and Flask-SQLAlchemy models, Diesel table!, and Django models.py (fields, ForeignKey/ManyToManyField, Meta, implicit join tables). It can also introspect a live database. Each table is linked to the code that queries it: raw SQL (FROM users), Prisma (prisma.user.findMany), Diesel (users::table), Django (Post.objects…), and ORM models or tables used by files that import them.
Live connections are strictly read-only:
READ ONLY transaction that the server must confirm.START TRANSACTION READ ONLY transaction.query_only.Only catalog metadata is read, never table rows. The connection string comes from an argument or an environment variable, and it is never stored or printed. Agents get the same data through the db MCP tool; pass url_env rather than the URL itself.
The score rates how well an AI agent can work in the repository, from 0 to 100. It covers eight checks:
Each check that falls short comes with a concrete fix, and the score ends with a badge line for your README. For CI, use --min 70; --update-readme README.md refreshes the badge.
Keep the badge fresh with the GitHub Action:
No reviews yet — be the first to share how this listing worked for you.
Showcase your server listing on GitHub or your project documentation. Embed this dynamic SVG badge to highlight official listing status and live engagement.
[](https://allmcps.com/mcp/repomap)<a href="https://allmcps.com/mcp/repomap"><img src="https://allmcps.com/api/badge/repomap?style=directory" alt="Repomap on AllMCPs" /></a>