A high-performance code intelligence engine that transforms Python repositories into queryable symbol-centric knowledge graphs. Features deep impact analysis (blast radius detection) with a professional interactive UI and VS Code deep-linking
git clone https://github.com/RajX-dev/N3MOTools overview
<!-- mcp-name: io.github.RajX-dev/n3mo -->
<div align="center">
<img src="docs/n3mo_intro.gif" alt="N3MO In Action" width="750">
<br>

[](https://pypi.org/project/n3mo/)
[](LICENSE)
[](https://www.python.org)
[](https://www.docker.com)
[]()
[](https://registry.modelcontextprotocol.io/?q=n3mo)
[](https://github.com/RajX-dev/N3MO/actions)
**A structural code intelligence engine that transforms repositories into queryable knowledge graphs.**
*Parse once. Query forever. Know exactly what breaks before it does.*
**📜 Licensed under AGPL-3.0** — Free for personal/internal use • [Contact for commercial licensing](#-license)
[What is N3MO](#-what-is-n3mo) • [Architecture](#-architecture) • [Installation](#-installation) • [GitHub App & Pricing](#-github-app-and-commercial-tiers) • [Usage](#-usage) • [Benchmarks](#-benchmarks) • [Roadmap](#-roadmap)
</div>
---
## 🎯 What is N3MO?
N3MO is a symbol-centric code intelligence engine. Instead of scanning raw text, it parses your source code's ASTs, maps call graphs, and models dependencies in a queryable relational database.
For engineering leaders and teams, N3MO acts as a **structural insurance policy** for your codebases.
### 💡 Why N3MO?
* **🛡️ Eliminate Regression Risks:** Utility functions are rarely refactored because developers fear unknown side effects. N3MO maps the transitive blast radius of any symbol to arbitrary depth, showing you exactly what will break before you make the edit.
* **🏎️ Rapid Developer Onboarding:** Instead of senior engineers spending hours explaining codebase flow to new hires, developers can run one command to visualize complex call chains and parent-child dependencies interactively.
* **🤖 AI-Agent Ready Infrastructure:** Modern LLM agents (Cursor, Claude Desktop) are limited by context windows and text search. N3MO's native MCP server lets AI agents query the actual code graph, enabling fast, hallucination-free refactoring.
### 📊 How N3MO Compares
| Capability | Grep / Text Search | IDE "Find References" | N3MO Code Graph |
| :--- | :--- | :--- | :--- |
| **Analysis Basis** | Substring matching | AST-based, direct refs only | Relational knowledge graph |
| **Transitive Traversal** | ❌ None | ❌ Manual, one level at a time | ⚡ **Instant to arbitrary depth** |
| **Blast Radius Mapping** | ❌ None | ❌ Flat search-result list | 🎨 **Interactive visual orbit map** |
| **CI/CD Integration** | ❌ None | ❌ Bound to IDE runtime | ⚙️ **Dockerized CLI + CTE queries** |
| **AI Agent Integration** | ❌ Injected file chunks | ⚠️ Manual context copy | 🤖 **Native MCP server** |
| **Language Coverage** | ✅ Any text file | ⚠️ Language-specific plugins | ✅ **27 languages via Tree-sitter** |
### 🛠️ The Core Problem N3MO Solves
<table>
<tr>
<td width="50%">
**❌ Without N3MO**
<pre>
Developer: "Where does 'login' appear?"
Tool: grep -r "login" .
Result: 647 matches across 89 files
...now what?
</pre>
</td>
<td width="50%">
**✅ With N3MO**
<pre>
Developer: "What breaks if I change login?"
Tool: n3mo impact "login"
Result: 3 direct callers → 5 ripple effects
Full blast radius in < 50ms
</pre>
</td>
</tr>
</table>
> **N3MO doesn't find text — it understands structure.** It traces the actual call graph, not string matches.
**Questions N3MO answers instantly:**
| | Question | How |
|:---:|:---|:---|
| 🔎 | What functions and classes exist in this repo? | Full symbol index across 27 languages |
| 🎯 | Where is this symbol used — directly *and* transitively? | Recursive CTE traversal to arbitrary depth |
| 💥 | What is the **blast radius** of changing this function? | Interactive orbit map with depth slider |
| 🕸️ | How do these components actually connect? | Call graph + parent-child hierarchy |
| 🤖 | Can my AI agent understand this codebase structurally? | Native MCP server for Cursor / Claude |
---
## 🏗️ Architecture
### Knowledge graph model
N3MO builds a **symbol-centric knowledge graph** stored in PostgreSQL:
```mermaid
graph TD
A["📄 Source Code"] -->|Tree-sitter| B["🌳 AST Parser"]
B --> C["🔍 Symbol Extractor"]
D["🔄 Git Hooks"] -->|post-commit| A
C --> E[("🗄️ PostgreSQL<br/>Projects · Symbols · Calls<br/>Imports · Files")]
E --> F["💥 Impact Analysis"]
E --> G["📞 Call Graph"]
E --> H["📊 Dependency Graph"]
F --> I["🎨 Visualizer"]
G --> I
H --> I
F --> J["🤖 MCP Server"]
F --> K["⚓ GitHub Webhook"]
style A fill:#6c63ff,stroke:#4a3fbf,color:#fff
style B fill:#7c74ff,stroke:#4a3fbf,color:#fff
style C fill:#7c74ff,stroke:#4a3fbf,color:#fff
style D fill:#ffd93d,stroke:#d4b800,color:#1a202c
style E fill:#ff6b6b,stroke:#c53030,color:#fff,stroke-width:3px
style F fill:#45b7d1,stroke:#2c8ea8,color:#1a202c
style G fill:#45b7d1,stroke:#2c8ea8,color:#1a202c
style H fill:#45b7d1,stroke:#2c8ea8,color:#1a202c
style I fill:#9ae6b4,stroke:#2f855a,color:#1a202c
style J fill:#ffd93d,stroke:#d4b800,color:#1a202c
style K fill:#ffd93d,stroke:#d4b800,color:#1a202c
```
### System flow
```mermaid
sequenceDiagram
participant User as User / CI
participant CLI as N3MO CLI
participant DB as PostgreSQL (Docker)
participant API as GitHub Webhook API
participant Viz as Graph Visualizer
rect rgb(26, 27, 46)
Note over User, DB: Indexing Flow (Local CLI)
User->>CLI: n3mo index
CLI->>DB: Start PostgreSQL container (if not running)
CLI->>CLI: Walk file tree (SHA-256 hash checks)
CLI->>CLI: Parse AST (Tree-sitter, multiprocessing)
CLI->>DB: Batch insert symbols, calls, imports
CLI->>DB: Resolve imports & call links
DB-->>CLI: Success
CLI-->>User: Complete summary
end
rect rgb(26, 27, 46)
Note over User, Viz: Query & Visualization Flow
User->>CLI: n3mo impact "symbol" --graph
CLI->>DB: Recursive CTE traversal (depth & file filters)
DB-->>CLI: Blast radius subgraph
CLI->>Viz: Generate orbital vis.js HTML
CLI->>User: Launch local web server & open browser
end
rect rgb(26, 27, 46)
Note over API, DB: Webhook / PR Flow
API->>API: Receive GitHub webhook on PR open/update
API->>API: Clone/checkout head & base commit
API->>API: Check LOC limit vs Subscription tier
API->>DB: Index changes (multiprocessing AST parsing)
API->>DB: Resolve call graph impacts
API-->>User: Post markdown report comment on PR
end
```
### Data model
```mermaid
erDiagram
PROJECT ||--o{ SYMBOL : contains
PROJECT ||--o{ CALL : tracks
PROJECT ||--o{ IMPORT : tracks
PROJECT ||--o{ FILE : indexes
SYMBOL ||--o{ CALL : "source of"
SYMBOL ||--o{ CALL : "resolved to"
SYMBOL ||--o{ SYMBOL : "parent of"
PROJECT {
uuid id PK
text name
text repo_url
timestamp created_at
}
SYMBOL {
uuid id PK
uuid project_id FK
text name
text file_path
text kind "function|class|method"
text signature
int start_line
int end_line
uuid parent_id FK
}
CALL {
uuid id PK
uuid project_id FK
uuid source_symbol_id FK
text call_name
int line_number
uuid resolved_symbol_id FK
}
IMPORT {
uuid id PK
uuid project_id FK
text file_path
text module
text name
text alias
uuid resolved_symbol_id FK
}
FILE {
uuid project_id FK
text file_path PK
text sha256
}
```
---
## ✨ Core Capabilities
### Ingestion & Parsing
- **Multi-language support** — 27 languages via dynamic Tree-sitter grammar loading (Python, JS/TS, Go, Rust, Java, C/C++, C#, Kotlin, Swift, Scala, Ruby, PHP, Haskell, Perl, and more)
- **Parallel AST ingestion** — `ProcessPoolExecutor` distributes CPU-bound parsing across all available cores
- **Incremental re-indexing** — SHA-256 file hashing skips unchanged files automatically
- **Idempotent operations** — re-indexing updates existing data without duplication
- **Smart exclusions** — case-insensitive directory filters and camelCase-aware filename checks prevent false positiWhat people ask about N3MO
What is RajX-dev/N3MO?
+
RajX-dev/N3MO is tools for the Claude AI ecosystem. A high-performance code intelligence engine that transforms Python repositories into queryable symbol-centric knowledge graphs. Features deep impact analysis (blast radius detection) with a professional interactive UI and VS Code deep-linking It has 3 GitHub stars and was last updated 2d ago.
How do I install N3MO?
+
You can install N3MO by cloning the repository (https://github.com/RajX-dev/N3MO) or following the README instructions on GitHub. ClaudeWave also provides quick install blocks on this page.
Is RajX-dev/N3MO safe to use?
+
RajX-dev/N3MO has not been audited yet by our security agent. Review the original repository on GitHub before using it in production.
Who maintains RajX-dev/N3MO?
+
RajX-dev/N3MO is maintained by RajX-dev. The last recorded GitHub activity is from 2d ago, with 0 open issues.
Are there alternatives to N3MO?
+
Yes. On ClaudeWave you can browse similar tools at /categories/tools, sorted by popularity or recent activity.
Deploy N3MO to your cloud
Ship this repo to production in minutes. Each platform spins up its own environment with editable env vars.
Maintain this repo? Add a badge to your README
Drop the badge into your GitHub README to show it's tracked on ClaudeWave. Each badge links back to this page and reflects the live Trust Score.
[](https://claudewave.com/repo/rajx-dev-n3mo)<a href="https://claudewave.com/repo/rajx-dev-n3mo"><img src="https://claudewave.com/api/badge/rajx-dev-n3mo" alt="Featured on ClaudeWave: RajX-dev/N3MO" width="320" height="64" /></a>More Tools
A single CLAUDE.md file to improve Claude Code behavior, derived from Andrej Karpathy's observations on LLM coding pitfalls.
An AI SKILL that provide design intelligence for building professional UI/UX multiple platforms
🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman
AI coding assistant skill (Claude Code, Codex, OpenCode, Cursor, Gemini CLI, and more). Turn any folder of code, SQL schemas, R scripts, shell scripts, docs, papers, images, or videos into a queryable knowledge graph. App code + database schema + infrastructure in one graph.
A light-weight and powerful meta-prompting, context engineering and spec-driven development system for Claude Code by TÂCHES.
CLI proxy that reduces LLM token consumption by 60-90% on common dev commands. Single Rust binary, zero dependencies