Loading repository data…
Loading repository data…
caiquebrito / repository
Local knowledge graph that gives Claude instant, accurate understanding of your codebase — fewer tokens, sharper answers. One command to sync, an MCP server to plug in, and a 3D viewer to explore.
A transparent discovery signal based on current public GitHub metadata.
This score does not audit code, security, maintainers, documentation quality, or suitability. Verify the repository and its current documentation before adoption.
A local knowledge graph that helps Claude AI understand your entire codebase. No cloud, no API keys, no subscriptions.
Claude is smart, but it starts fresh each session. You describe your architecture, paste file paths, re-explain dependencies. Every conversation, you're explaining the same things.
The CLAUDE.md trick helps, but it's manual, gets outdated, and doesn't capture relationships.
What if Claude understood your entire codebase automatically?
Nodum builds a knowledge graph of your code and feeds it to Claude via MCP (Model Context Protocol).
One command:
nodum sync
Then Claude understands:
Better answers. Fewer tokens. No hallucinations.
npm install -g @caiquebrito/nodum-cli @caiquebrito/nodum-mcp
cd ~/my-project
nodum sync
Scans your project and creates a knowledge graph at ~/.nodum/my-project/.
Claude Code reads MCP servers from a .mcp.json file in your project root, or from its own user config — not from settings.json (the mcpServers field there is silently ignored). Pick one:
Option A: claude mcp add (recommended — handles PATH for you)
claude mcp add nodum -- nodum-mcp
Restart Claude Code, then run /mcp to confirm nodum is connected.
Option B: .mcp.json in your project root
Create a .mcp.json file at the root of the project you want indexed:
{
"mcpServers": {
"nodum": {
"command": "nodum-mcp"
}
}
}
When Claude Code opens in that directory it will prompt you to trust the server — accept it, then it appears in /mcp.
Claude Code spawns the MCP server without your shell's full PATH, so it may not find the global npm bin. Point the config at absolute paths instead. Find them with:
which node # e.g. /opt/homebrew/bin/node
which nodum-mcp # e.g. /opt/homebrew/bin/nodum-mcp
Then in .mcp.json, launch node directly with the script path:
{
"mcpServers": {
"nodum": {
"command": "/opt/homebrew/bin/node",
"args": ["/opt/homebrew/bin/nodum-mcp"]
}
}
}
Claude: "What's the auth flow in this project?"
Claude now understands your entire codebase structure
and can give accurate, context-aware answers. ✨
Extracts: files, functions, classes, interfaces, imports, dependencies
Files ──imports──> Files
├─ Functions ──calls──> Functions
├─ Classes ──extends──> Classes
└─ Interfaces ──implements──> Interfaces
Stored at ~/.nodum/projectname/graph/graph.json
9 tools Claude can use:
sync_project — Scan a projectget_graph — Fetch the knowledge graphsearch_graph — Find functions/classes/files with semantic search (v2.0)get_node — Details about a code elementget_dependencies — What does X depend on?get_dependents — What depends on X?analyze_file — Deep dive into a fileexpand_cluster — Explore grouped code regions (v2.0)project_status — List all synced projectsView your code as an interactive 3D graph:
nodum serve
Opens http://localhost:7842/ — orbit, zoom, click nodes, explore connections.
# Sync from current directory (or specify path)
nodum sync # Uses current directory
nodum sync /path/to/project # Or explicit path
# View 3D graph
nodum serve
# Check synced projects
nodum status
Everything local, nothing uploaded:
~/.nodum/
├── projects.json # Index of all projects
└── my-project/
├── graph/graph.json # Knowledge graph
├── memory/SUMMARY.md # Project summary (auto-generated)
└── logs/
├── activity.md
└── YYYY-MM-DD.md # Daily sync logs
"Review this PR — what's the impact?"
→ Claude analyzes all affected files using the graph
→ Shows complete dependency tree
"Walk me through the auth flow from login page to API"
→ Claude traces through the graph
→ Builds accurate architecture diagram
"Can I move this service to a separate module?"
→ Claude checks all dependents in the graph
→ Shows exact breaking points
→ Suggests refactoring plan
"Explain this project structure to me"
→ Claude understands actual architecture
→ No guessing, no hallucinations
→ Accurate explanation with real code references
| Project Size | Scan Time | Graph Size |
|---|---|---|
| 50 files | ~5 sec | ~150 KB |
| 500 files | ~30 sec | ~2 MB |
| 1000+ files | ~1 min | ~5 MB |
Nodum v2.0 introduces semantic search and hierarchical clustering to maximize token efficiency:
expand_cluster toolCombined Impact: Up to 83% token reduction on repeated queries + 68% reduction on context size = Nodum is 5-6x more efficient than raw graph dumps.
Uses language-specific parsers to extract:
Builds a directed graph:
Saves to ~/.nodum/projectname/:
graph.json — the knowledge graphSUMMARY.md — auto-generated project summaryactivity.md — sync history| Language | File Types | What's Extracted |
|---|---|---|
| TypeScript | .ts, .tsx | imports, functions, classes, interfaces |
| JavaScript | .js, .jsx | imports, functions, classes |
| Python | .py | imports, functions, classes (via AST) |
| Kotlin | .kt | imports, functions, classes, objects |
| Java | .java | imports, methods, classes |
More coming in v2!
We measure RAG effectiveness with our benchmark suite:
v2.0 Token Efficiency:
Answer Quality:
See benchmarks/README.md for detailed methodology and results.
nodum/
├── packages/
│ ├── core/ # Code parsing + graph generation
│ ├── cli/ # Command-line interface
│ ├── server/ # HTTP server (3D viewer)
│ └── mcp/ # MCP server (Claude integration)
├── benchmarks/ # Token efficiency benchmarks & demos
├── docs/
│ ├── guides/ # Getting started & usage
│ │ ├── QUICKSTART.md
│ │ ├── SETUP-GUIDE.md
│ │ └── RUN.md
│ ├── architecture/ # Technical deep dives
│ │ ├── MCP.md
│ │ └── SMART-CONTEXT.md
│ └── development/ # Contributing & planning
│ ├── PUBLISH.md
│ ├── ROADMAP.md
│ └── LAUNCH.md
├── README.md # Main readme (you are here)
├── CHANGELOG.md # Release notes
└── CLAUDE.md # Project context for Claude
npm install -g @caiquebrito/nodum-cli @caiquebrito/nodum-mcp
nodum sync
npm install @caiquebrito/nodum-cli @caiquebrito/nodum-mcp
npx nodum sync
git clone https://github.com/caiquebrito/nodum
cd nodum
npm install
npm run build
npm install -g .
nodum watch — auto-sync on file changesSee ROADMAP.md for full details.
Getting Started:
Architecture:
Development:
Benchmarks:
Q: Is my code uploaded anywhere?
A: No. Everything stays local in ~/.nodum/. Nothing touches the cloud.
Q: Do I need the MCP server to use the CLI/viewer?
A: No. nodum sync and nodum serve work standalone. MCP is optional for Claude integratio