n3mo — Claude Code MCP server: what it does, how to install
Builds a symbol knowledge graph directly from source code ASTs without embedding models. Helps trace the blast radius of any refactor before editing.
claude mcp add n3mo -- uvx n3moWhat n3mo does
The server parses source files using 27 Tree-sitter grammars and models call hierarchies inside PostgreSQL. Indexing is deterministic. It requires zero LLM API calls during the ingestion phase, which avoids index drift and semantic guesswork. You get exact relations instead of fuzzy text matches.
Agents query call trees and parent-child links through recursive CTE operations. Instead of piping raw grep results into the prompt window, your tool inspects the actual dependency paths. Running the local stack requires Docker and Python 3.10 or newer.
The project is governed by the PolyForm Noncommercial 1.0.0 license, meaning commercial deployments require a paid license from the author.
What it helps with
- Map direct and transitive callers for a modified function
- Calculate the blast radius of structural changes across files
- Inspect component hierarchies without manual code tracing
- Supply AI coding assistants with exact syntax-based call graphs
Example prompts for the agent
- Check the blast radius across downstream callers before I edit validate_session.
- Trace all transitive references to the process_payment function.
- Show the parent-child relationship graph for the authentication module.
How to install n3mo
Platform CLI
claude mcp add n3mo -- uvx n3mouvx runs the command named after the package; if the README names another one, use uvx --from n3mo <command>
Platform CLI
codex mcp add n3mo -- uvx n3mouvx runs the command named after the package; if the README names another one, use uvx --from n3mo <command>
Config file
{
"mcpServers": {
"n3mo": {
"command": "uvx",
"args": [
"n3mo"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from n3mo <command>
Config file
{
"servers": {
"n3mo": {
"type": "stdio",
"command": "uvx",
"args": [
"n3mo"
]
}
}
}uvx runs the command named after the package; if the README names another one, use uvx --from n3mo <command>
Platform CLI
gemini mcp add n3mo uvx n3mouvx runs the command named after the package; if the README names another one, use uvx --from n3mo <command>
Step by step, with commands for each platform: How to add an MCP server to Claude Code, Codex, Cursor, VS Code, Gemini CLI and more
Questions about n3mo
How to install n3mo in Claude Code?
Register the server by running claude mcp add n3mo -- uvx n3mo.
What does n3mo do?
It converts repository code into a relational symbol graph via Tree-sitter AST parsing. Coding assistants can then query exact call chains and predict broken dependencies.
Can n3mo be used in commercial projects?
The codebase is released under PolyForm Noncommercial 1.0.0. Free usage is restricted to noncommercial activities, while business environments need a separate license.