codegraph
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@codegraphFind context for user authentication implementation"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
gitatlas
The code graph that lives in your git history — built once, correct at every commit, shared by every human, agent, and bot on the team.
gitatlas indexes your repository into a symbol graph (functions, classes, methods, calls, inheritance, type usage, imports), keeps that graph in lock-step with your commits via git hooks, and serves it to any MCP-capable AI tool — Claude Code, Cursor, Codex, Antigravity, Windsurf, Copilot — through a standard Model Context Protocol server.
┌─────────────┐ tree-sitter ┌──────────────────┐ MCP (stdio) ┌──────────────┐
│ your repo │ ───────────────► │ .gitatlas/ │ ────────────────► │ Claude Code │
│ │ │ graph.db │ │ Cursor │
│ git commit │ ── post-commit ─►│ (SQLite, local) │ │ Codex, ... │
└─────────────┘ incremental └──────────────────┘ └──────────────┘Why git-native instead of file watchers?
Most code-intelligence tools watch your editor session: OS file watchers, debounce timers, reconciliation on connect. That works on your laptop — and nowhere else. gitatlas keys everything to git instead: the graph is a pure function of a commit, updated by hooks, keyed by content hash. That buys you what watchers can't:
CI and cloud agents. File watchers are useless in CI and to cloud coding agents. A commit-pinned graph can be built once in CI, cached by SHA, and pulled by every teammate and bot.
Correct across branch switches and rebases — content-hash keying means a checkout is just a cache lookup, not a re-index.
History (roadmap): because the graph is a function of a commit, "what did the callers of X look like two releases ago?" is an answerable question. Watcher-based tools have no past.
And the practical basics:
Zero infrastructure. One SQLite file in
.gitatlas/next to.git/. No daemon, no docker, no service.Fast. Full index of a multi-service repo in ~150ms; no-op incremental update ~50ms.
Languages: TypeScript, JavaScript, JSX/TSX, Java, Python — via tree-sitter WASM grammars, so installation never needs a C++ toolchain.
Respects .gitignore. Discovery uses
git ls-files; build output never pollutes the graph.
Related MCP server: agentmako
Token-frugal by design
AI agents answer repo questions by grepping and reading whole files. On a real repo (Java Spring microservices + a Chrome extension), answering 8 typical developer questions cost:
Metric | With gitatlas | grep + read files |
Context tokens the agent must read | 3,241 | 57,882 |
Tool invocations | 8 | 23 |
Dead-end searches | 0 | 1 |
That is a 17.9× context reduction — which converts directly to cost, latency, and freed-up model attention. How:
Real tasks embed identifiers — "handle the case where
checkIsFsereturns false".find_contextdetects them as anchors and returns the definition plus a ±4-line window around every reference site, instead of whole enclosing functions (~945 → ~354 tokens on a representative query, with better coverage).Paraphrases anchor too: developers paraphrase identifiers by splitting them into words, so symbols match by subtoken coverage — "the FSE check" finds
checkIsFse, "the perplexity configured check" findsisConfigured. No embeddings, no model downloads.List results group by file and collapse repeated prefixes; long lists cap with
+N more; generic task words ("handle", "cases", "false") are stopworded.repo_maporients an agent in an unfamiliar repo — most central symbols (PageRank), signatures only — for a few hundred tokens.
Installation
npm install -g gitatlasOr from source:
git clone https://github.com/bajpayeeritik/gitatlas.git
cd gitatlas && npm install && npm run build && npm linkRequires Node.js ≥ 20.
Quick start
cd your-repo
gitatlas index # build the graph → .gitatlas/graph.db
gitatlas install-hook # auto-update on every commit / merge / branch switch
gitatlas stats # see what got indexed
echo ".gitatlas/" >> .gitignoreConnect your AI tool
Claude Code — .mcp.json in the repo root:
{
"mcpServers": {
"gitatlas": {
"command": "gitatlas",
"args": ["serve", "--root", "."]
}
}
}Cursor — same JSON shape in .cursor/mcp.json.
Codex CLI — ~/.codex/config.toml:
[mcp_servers.gitatlas]
command = "gitatlas"
args = ["serve", "--root", "."]Any other stdio MCP client works with the same command + args.
PR blast radius (GitHub Action)
Put the graph in front of your whole team — no installs required. One workflow file and every pull request gets a sticky comment: which symbols the PR touches, and everything elsewhere that depends on them.
# .github/workflows/blast-radius.yml
name: blast radius
on:
pull_request:
types: [opened, synchronize, reopened, ready_for_review]
permissions:
contents: read
pull-requests: write
concurrency:
group: blast-radius-${{ github.event.pull_request.number }}
cancel-in-progress: true
jobs:
impact:
if: ${{ !github.event.pull_request.draft }}
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: bajpayeeritik/gitatlas@mainDebounced at every layer, because a noisy PR bot gets uninstalled:
One sticky comment per PR, updated in place — never a new comment per push.
Fingerprint skip — if a push doesn't change the impact analysis, the comment isn't even edited (no notification churn).
Concurrency cancel — rapid pushes cancel superseded runs.
Relevance gate — docs-only PRs exit before indexing anything.
Event + draft filtering — runs only on
opened/synchronize/reopened/ready_for_review, skips drafts.
The same report is available locally: gitatlas impact-report <changed files...>.
MCP tools
Tool | What it answers |
| One-shot orientation: the most central symbols in the repo, grouped by file, signatures only |
| Most relevant code for a task — identifiers (and paraphrases of them) are anchored with definition + usage windows; the rest ranked by lexical match × PageRank under a token budget |
| Definition of a symbol plus a ±4-line window around every reference site — the cheapest complete answer to "change how X is used everywhere" |
| Reverse / forward dependencies of a symbol |
| Blast radius of editing a file (direct + 1-hop transitive dependents) |
| All symbols in a file with line ranges — structure without reading it |
| Exact and fuzzy lookup |
| Freshness, size, forced refresh |
CLI
Every tool is also a CLI command — usable with no AI client at all:
gitatlas symbol AnalysisService # where is this defined?
gitatlas callers UserCodingData # who uses it?
gitatlas callees AnalysisController # what does it depend on?
gitatlas usages isConfigured # def + code window at every usage site
gitatlas outline src/service/Foo.java # file structure without reading it
gitatlas impact src/service/Foo.java # what breaks if I change this?
gitatlas repo-map --budget 1200 # whole-repo orientation map
gitatlas context "how does retry work" # ranked snippets under a token budgetAll commands take --root <path> (defaults to the current directory).
How it works
Parse — tree-sitter (WASM) extracts definitions, references (calls,
extends,implements, type usage — Spring-style DI included), and imports.Store — SQLite (WAL), keyed by content hash; removing a file cascades; an extractor-version stamp auto-invalidates stale parses.
Link — references resolve to definitions across the repo, producing the edge table.
Update — git hooks (
post-commit,post-merge,post-checkout) re-parse only changed files. Existing hooks are appended to, never clobbered.Serve — structural queries straight from SQLite; ranking fuses lexical match with PageRank centrality.
Comparison, honestly
If you want 30-language editor-session indexing with a bundled binary and file watchers, CodeGraph is excellent and more mature. gitatlas is for the git-shaped half of the problem: a commit-pinned graph that CI, cloud agents, and whole teams can share, with token cost as a first-class metric. Small repo, small tool, deliberately boring internals.
Limitations (honest ones)
Name-based linking. References resolve by identifier name, not full type resolution — same-named symbols each receive edges. SCIP-precision resolution is the top roadmap item.
Dynamic dispatch, reflection, and metaprogramming are invisible, as in every static index.
who_callson an interface returns implementors and users together (edge kinds are stored but not yet filterable).
Roadmap
PR blast-radius GitHub Action (impact analysis as a sticky PR comment)
Graph-by-SHA caching in CI: build once, distribute to the team
SCIP/LSP-based precise symbol resolution
Graph time-travel: query the graph at any commit; semantic changelogs
Embedding fusion for true-synonym queries (paraphrases already work via subtokens)
More languages (Go, Rust, C#, Ruby)
Contributing
Issues and PRs welcome. src/indexer/ (tree-sitter extraction), src/graph/ (SQLite store, ranking, formatting), src/mcp/ (server), src/cli.ts. npm run build then node dist/cli.js index --root <some-repo> is the whole dev loop.
Releasing
Publishing is automated. Bump the version in package.json, then push a matching tag:
npm version patch # or minor / major — updates package.json and creates the commit
git push && git push --tagsThe release workflow verifies the tag matches package.json, builds, and publishes to npm with provenance. It needs one repo secret, NPM_TOKEN — a granular access token with read/write on packages and bypass 2FA enabled (Settings → Secrets and variables → Actions).
License
MIT
This server cannot be installed
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Servers
- Alicense-qualityCmaintenanceDeep code indexing for AI agents. Search symbols, navigate call graphs, explore inheritance, track git history — all via MCP.Last updated52MIT
- AlicenseBqualityAmaintenanceLocal-first codebase intelligence engine providing AI coding agents with a typed MCP toolset for understanding and navigating code repositories.Last updated10051Apache 2.0
- Alicense-qualityCmaintenanceEnables AI clients to perform local code search, indexing, and analysis across Java, JavaScript/TypeScript, .NET/C#, and Python projects through the MCP protocol.Last updated2Apache 2.0
- AlicenseBqualityFmaintenanceLocal-first codebase context engine that parses code into a ranked dependency graph and serves it to AI tools via MCP for deep structural understanding.Last updated551MIT
Related MCP Connectors
User-owned memory for AI agents, Copilot, Claude, IDEs, CLIs, and chat apps over remote MCP.
Enterprise code intelligence for M&A, security audits, and tech debt. Hosted server with 200k free.
Persistent memory and cross-session learning for AI coding assistants (hosted remote MCP).
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/bajpayeeritik/gitatlas'
If you have feedback or need assistance with the MCP directory API, please join our Discord server