Context7
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Description from the maker (original English)
Offline codebase knowledge graph: 91% token reduction vs naive RAG, plus cross-session agent memory.
These three are never merged into one score: opinions, measurements and popularity are different things.
We have not written a plain-language summary for this one yet. Below are the facts we read from the registry.
Pick the AI app you use, then copy the settings.
You need
Which app do you use?
Pick your app above. We remember it, so next time the button says “Install in …”.
Open Claude Desktop → Settings → Developer → Edit Config, and paste this into claude_desktop_config.json
{
"mcpServers": {
"nervapack": {
"command": "uvx",
"args": [
"nervapack"
]
}
}
}Run this in your terminal
claude mcp add nervapack -- uvx nervapackPaste into .cursor/mcp.json in your project, or ~/.cursor/mcp.json
{
"mcpServers": {
"nervapack": {
"command": "uvx",
"args": [
"nervapack"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
Paste into .vscode/mcp.json in your project
{
"servers": {
"nervapack": {
"type": "stdio",
"command": "uvx",
"args": [
"nervapack"
]
}
}
}Your browser asks to open the app, then the app shows the settings and asks you to confirm. Key values are left empty for you to fill in.
This one runs on your computer, and ChatGPT can only connect to servers on the internet. Pick another app.
Your choice stays on this device in a cookie; no account needed.
These settings are generated from the maker’s registry entry. If the README says otherwise, follow the README.
Runs on your computer; the tool list appears in your AI app after you install it.
We check information anyone can see; we have not read the code. Checks that do not apply are left out of the count. · Checked Nov 8, 2026
The registry name was verified with the GitHub account ramdhavepreetam, which owns the repo
We have not read this repo from GitHub yet
We have not read this repo from GitHub yet
This one runs on your computer; there is no internet endpoint
Runs on your computer and uses local settings instead
Runs on your computer; we can only read tool lists from internet endpoints
Compared with every active server in this category in the registry. Stars count only when the publisher owns the repo.
It passed 1 of 1 applicable basic checks. We have not read the code. Before adding a key or token, see what access the server asks for and use a key with only the permissions you need.
The registry does not list a required key, though some servers ask you to sign in on first use.
It runs on your computer. Your AI app starts it when needed, and data does not pass through the maker’s servers (unless it calls an online service itself).
The GitHub repo last changed –, and the latest version (0.5.8) reached the registry 4 months ago.
Apps that support MCP, such as Claude Desktop, Claude Code, Cursor and VS Code. You also need Python (uv) on your computer.
In the same category: Context7, Codebase Memory, Exa
Servers in the same category from other makers, sorted by stars.
Reading a card:★ GitHub starsiThree pillars: reviews · checks · usageiUpdated = latest version published to the registryi
Feeds AI the latest docs for libraries and frameworks before it answers, so code it writes does not use outdated, removed functions.
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Connect AI agents to Exa for web search, content fetching, and multi-step research.
Copied from the maker’s repo as written. PopNx MCP has not reviewed or endorsed it. HTML, images and scripts are removed. Links lead off this site.
NervaPack is a privacy-first, offline knowledge graph for your codebase. It solves two fundamental problems with standard Vector RAG:
NervaPack runs 100% on your machine. It uses tree-sitter to parse your codebase into a deterministic Abstract Syntax Tree graph, then uses a local Ollama model to draw hard semantic edges between your documentation and your code. Queries traverse this graph with a K-Hop BFS, returning a hyper-targeted, token-efficient context window — no cloud required.
91.2% Average Token Reduction — independently verified on real-world codebases.
| Test Type | Tokens (Naive) | Tokens (NervaPack) | Reduction |
|---|---|---|---|
| Simple Query | 10,926 | 101 | 99.1% |
| Medium Query | 13,092 | 164 | 98.7% |
| Complex Query | 3,290 | 1,102 | 66.5% |
| Average | 52,037 | 2,459 | 91.2% |
Cost Savings: $181–$724 per developer per year (GPT-4o to Claude Sonnet)
📊 [View Full Benchmarks](docs/BENCHMARKS.md) · 🧪 [Messy Code Performance](docs/MESSY_CODE_PERFORMANCE.md)
Code quality impact: 90–99% reduction on clean code, 50–75% on legacy/messy code. Even poorly structured codebases benefit significantly.
| Standard Vector RAG | NervaPack | |
|---|---|---|
| Parsing | Arbitrary text chunks | Deterministic AST nodes (class, function, import) |
| Retrieval | Nearest-neighbour blob | K-Hop BFS on a structural graph |
| Doc ↔ Code links | None | Hard EXPLAINS edges drawn by local LLM |
| Privacy | Cloud embeddings | 100% local (ChromaDB + ONNX + optional Ollama) |
| Incremental sync | Re-index everything | Surgical per-file update via GitPython diff |
| Token savings | No measurement | Built-in dashboard shows exact reduction per query |
| Graph visibility | Black box | Interactive HTML visualization of every node and edge |
| Duplicate-safe | Repeated ingest = duplicate data | upsert — re-ingest is idempotent |
| Agent memory | None | 17-tool MCP server for cross-session memory |
git init if not)*(Optional for semantic code-doc binding)* — an LLM provider. Structural graph indexing and basic queries work out-of-the-box with zero configuration and no cloud connection.
| Provider | Setup | Cost | Privacy |
|---|---|---|---|
| Ollama (default) | brew install ollama && ollama pull llama3 | Free | 100% local |
| Claude API | pip install "nervapack[claude]" + ANTHROPIC_API_KEY | ~$0.25/1k calls | Cloud |
| OpenAI API | pip install "nervapack[openai]" + OPENAI_API_KEY | ~$0.15/1k calls | Cloud |
| MCP (Claude Code) | Zero config | Included in subscription | Cloud |
# Recommended
pip install nervapack
pip install "nervapack[mcp]" # MCP server for Claude Code / Cursor pip install "nervapack[memory]" # agent memory MCP server pip install "nervapack[metrics]" # exact token counts (tiktoken) pip install "nervapack[dashboard]" # web dashboard (streamlit + plotly) pip install "nervapack[claude]" # Claude API support pip install "nervapack[openai]" # OpenAI API support pip install "nervapack[all]" # everything
On first run, ChromaDB downloads an ONNX embedding model (~30 MB) to
~/.cache/chroma/. This is a one-time download.
cd your-project/
nervapack ingest .
nervapack query "How does authentication work?"
nervapack enrich .
nervapack visualize --enhanced --communities
nervapack sync .
nervapack clean --all nervapack ingest .
nervapack doctor
nervapack ingest [PATH] — Build the graphScans PATH (default: .) and builds the full knowledge graph.
What happens:
dist/, build/, node_modules/, venv/, site/, .tox/, and dozens of other build directories automatically..md files by header hierarchy.EXPLAINS edges..nervapack/graph.graphml.Re-ingesting is safe — upsert is used throughout, so running ingest twice does not duplicate data.
nervapack ingest . # auto-detect LLM
nervapack ingest . --llm ollama # force Ollama nervapack ingest . --llm claude # use Claude API nervapack ingest . --llm openai --model gpt-4o-mini nervapack ingest . --embeddings ollama # use Ollama for embeddings too
Supported languages (bundled): Python, JavaScript, JSX, TypeScript, TSX
Additional languages:
pip install "nervapack[go]" # Go
pip install "nervapack[rust]" # Rust pip install "nervapack[java]" # Java pip install "nervapack[c]" # C / C headers pip install "nervapack[cpp]" # C++ pip install "nervapack[ruby]" # Ruby pip install "nervapack[csharp]" # C# pip install "nervapack[all-languages]" # all of the above
Exclude directories — create .nervapackignore in your project root (gitignore syntax):
dist/
build/ site/ generated/ *.egg-info/
nervapack query PROMPT — Query the graphRetrieves focused context for a natural-language prompt and prints a token savings dashboard.
What happens:
EXPLAINS edges and memory notes via TOUCHES edges — are collected.nervapack query "How does authentication work?"
nervapack query "What calls VectorStore?" nervapack query "what breaks if I change GraphBuilder" # impact analysis
Example output:
Query: "How does authentication work?"
Query Router: Intent: semantic, Direction: both Vector Search: Found 3 seed nodes
Retrieved Context: ──────────────────────────────────────────────────────────
src/auth/middleware.py... ──────────────────────────────────────────────────────────
╭────────────── NervaPack Token Efficiency ──────────────╮ │ Strategy Tokens Reduction │ │ Naive RAG (3 files) 12,840 100% (base) │ │ NervaPack 1,180 9.2% │ │ ─────────────────────────────────────────────────────────│ │ Tokens saved: 11,660 Reduction: 90.8% │ │ Cost saved (GPT-4o $2.50/1M): $0.0292 per query │ ╰───────────────────────────────────────────────────────────╯
nervapack sync [PATH] — Incremental updateUpdates only the files that changed since the last ingest. Uses GitPython to diff the working tree.
nervapack sync .
A full ingest on a large project can take minutes. sync turns that into a 2–5 second surgical update per file. Re-parses changed files, batch-upserts new vectors, and saves the graph once at the end.
nervapack clean [OPTIONS] — Remove ingested dataWipe graph data and start fresh. Use this when you have duplicate vectors, ingested the wrong directory, or need to reduce disk usage.
nervapack clean --vectors # wipe ChromaDB only (chroma_db/)
nervapack clean --graph # delete graph.graphml only nervapack clean --history # clear query + graph history logs nervapack clean --all # everything above (keeps memory.db) nervapack clean --all --yes # skip confirmation (CI / scripts)
Never deleted by `clean`: memory.db — your agent memory is always safe.
Typical workflow after a bad ingest:
nervapack clean --all
nervapack ingest .
nervapack enrich [PATH] — Add semantic edgesRuns LLM doc-to-code binding on an already-ingested graph. Use this if you:
ingest without an LLM and want to add EXPLAINS edges now.nervapack enrich . # auto-detect LLM
nervapack enrich . --llm ollama --model llama3 nervapack enrich . --llm claude # shows cost estimate before proceeding
nervapack status [--detailed] — Graph healthnervapack status # node/edge counts + unsynced files
nervapack status --detailed # full analytics: health score, language distribution, coverage
Health score (0–100) factors in documentation coverage, node connectivity, graph density, and edge diversity. A structural-only graph typically scores 30–40; after enrich it rises to 70–90.
nervapack visualize [OPTIONS] — Interactive HTML graphnervapack visualize # basic visualization
nervapack visualize --enhanced # + real-time search + path finder nervapack visualize --enhanced --communities # + community detection (Louvain) nervapack visualize --output ~/my-graph.html # custom output path nervapack visualize --no-browser # generate without opening
Produces a standalone HTML file with no external dependencies — drag, zoom, search, find shortest paths between nodes.
nervapack explore TARGET [--hops N] — Focused subgraphExtract and visualize the N-hop neighbourhood of a specific file, class, or function.
nervapack explore GraphBuilder --hops 2
nervapack explore src/auth/middleware.py --hops 1 nervapack explore "function:parse"
nervapack dependencies [FILE] — Import dependency analysisAnalyze file-level import chains, detect circular dependencies, and visualize the dependency graph.
nervapack dependencies # full project analysis
nervapack dependencies src/graph/builder.py # single file nervapack dependencies --no-cycles # skip cycle detection
Only the beginning is shown; read the rest in the repo