Power your agent
Yayıncının kendi komutu. PlugMCP uç noktası değildir.
Host a copy with our keys and logs.
uvx nervapack==0.5.8Claude Code'un yerel komutlar için kurulum bağlantısı yok. Aşağıdaki komutu kopyalayın ve bir terminalde çalıştırın.
claude mcp add io.github.ramdhavepreetam-nervapack -- uvx nervapack==0.5.8Bir terminalde çalıştırın.
{ "mcpServers": { "io.github.ramdhavepreetam-nervapack": { "command": "uvx", "args": [ "nervapack==0.5.8" ] } }}claude_desktop_config.json
Uzak URL mi, yoksa makinenizde bir komut mu? İki kurulum arasındaki fark
PlugMCP’de çalıştır
A new server you create. It is not this listing's official endpoint. Use the publisher install when you want their URL and their credentials.
BaşlatNervaPack 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.
Cost Savings: $181–$724 per developer per year (GPT-4o to Claude Sonnet)
Code quality impact: 90–99% reduction on clean code, 50–75% on legacy/messy code. Even poorly structured codebases benefit significantly.
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.
# Recommended
pip install nervapack
# With optional features
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/
# 1. Build the knowledge graph (runs locally, no LLM required for basic use)
nervapack ingest .
# 2. Query for context — get focused results + token savings dashboard
nervapack query "How does authentication work?"
# 3. Add semantic doc-to-code edges (requires an LLM)
nervapack enrich .
# 4. Visualize the full graph
nervapack visualize --enhanced --communities
# 5. After changing files, sync incrementally (fast — only changed files)
nervapack sync .
# 6. If you ingested wrong data or need a fresh start
nervapack clean --all
nervapack ingest .
# 7. Check system health
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:
──────────────────────────────────────────────────────────
# NervaPack Context Retrieval
## File: `src/auth/middleware.py`
### CLASS: AuthMiddleware (L15-L42)
...
──────────────────────────────────────────────────────────
╭────────────── 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
nervapack hotspots [OPTIONS] — Change frequency analysisShow which files change most often in git history — prime targets for documentation and review.
nervapack hotspots # top 20 by commit count
nervapack hotspots --since "6 months ago" # recent history only
nervapack hotspots --ext .py --churn # Python files, sort by lines changed
nervapack history [OPTIONS] — Query historynervapack history # last 10 queries with token savings
nervapack history --limit 50 # last 50
nervapack history --stats # aggregate: total savings, cost avoided, top topics
nervapack history --clear # delete history
nervapack serve [--port N] — Web dashboardnervapack serve # http://localhost:8501
nervapack serve --port 8080 # custom port
Requires nervapack[dashboard]. Shows graph overview, language distribution, analytics, query history trends, and an interactive graph explorer.
nervapack doctor — Environment checknervapack doctor
Verifies Python version, tree-sitter grammars, embedding backend, Ollama connectivity, and MCP config. Run this after installation or when troubleshooting.
Everything lives in .nervapack/ inside your project root:
.nervapack/
├── graph.graphml # NetworkX DiGraph (AST + EXPLAINS edges)
├── chroma_db/ # ChromaDB vector store (ONNX embeddings)
├── memory.db # Agent memory (SQLite + FTS5, bi-temporal)
├── query_history.jsonl # Per-query token savings log
└── graph_history.jsonl # Ingest/sync event log
Add .nervapack/ to .gitignore to keep it out of version control.
Disk usage guide:
chroma_db/ — typically 10–100 MB depending on project size. Run nervapack clean --vectors && nervapack ingest . if it grows unexpectedly.graph.graphml — typically 0.5–5 MB.memory.db — grows with agent usage; rarely exceeds a few MB.NervaPack ships two MCP servers in the same package. Drop this .mcp.json in your project root:
{
"mcpServers": {
"nervapack": {
"command": "nervapack-mcp",
"description": "NervaPack knowledge graph (v0.6.1) — query, graph_status, explore, impact"
},
"nervapack-memory": {
"command": "nervapack-memory-mcp",
"description": "NervaPack agent memory (v0.6.1) — store, recall, and reason over facts across sessions"
}
}
}
nervapack-mcp)nervapack-memory-mcp) — 17 toolsAdd to your CLAUDE.md to wire NervaPack into every Claude Code session:
## Always use NervaPack MCP tools
At the start of every session:
1. Call `memory_start_session("<task name>")` to open a named session.
2. Call `memory_recall("project context", budget_tokens=400)` to load prior decisions.
3. Call `query("<topic>")` before answering any question about how the code works.
During the session — call `memory_store` for:
- Any decision made (kind="decision" with rationale and alternatives_rejected)
- Any fact discovered about system behaviour (kind="fact")
- Any procedure or convention established (kind="procedure")
At session end — call `memory_end_session("<one-paragraph summary>")`.
nervapack ingest .
│
├─ ASTParser (tree-sitter) 16 extensions, 10 languages
│ └─ ParsedEntity[]: class, function, import
│
├─ GraphBuilder (NetworkX DiGraph)
│ ├─ Nodes: file, class, function, import, markdown
│ ├─ Edges: DEFINES (AST, confidence=1.0)
│ ├─ Edges: REFERENCES (heuristic name overlap, confidence=0.7)
│ └─ Edges: EXPLAINS (LLM or keyword binding, confidence=0.5–0.9)
│
├─ VectorStore (ChromaDB)
│ ├─ Embedding: ONNX (default) or Ollama
│ └─ upsert — re-ingest is idempotent
│
└─ GraphHistory — snapshot recorded after each ingest/sync
nervapack query "..."
│
├─ Intent detection (impact / exact / semantic)
├─ VectorStore.search() → seed node IDs
├─ GraphRetriever.retrieve_context()
│ └─ deque BFS, direction: forward / reverse / both
├─ MemoryStore.get_touches_for_file() → memory context injection
└─ TokenMeter → savings vs. naive RAG
nervapack clean --all
└─ Deletes chroma_db/, graph.graphml, history logs
Never touches memory.db
Key source modules:
Stop re-pasting project context into every new chat.
# Store a decision
memory_store(
"Chose JWT over session cookies for auth_service — stateless horizontal scaling",
kind="decision",
entities=["auth_service"],
confidence=0.9,
rationale="Stateless tokens enable horizontal scaling without shared session store.",
alternatives_rejected=["server-side sessions", "PASETO"],
)
# Recall in any future session
memory_recall("project context", budget_tokens=400)
## Memory recall: "project context" (6 items · 171/400 tokens)
### Decisions
- [d_0019f2] 2026-06-05 · conf 0.90 — Chose JWT for auth_service
### Facts
- [f_0019f3] 2026-06-05 · conf 1.00 — auth_service issues 15-min access tokens
### Procedures
- [p_0019f5] 2026-06-12 · conf 1.00 — Deploy: GitHub Actions → staging → prod manual
Token efficiency:
CLI:
nervapack-memory init # create schema
nervapack-memory stats # counts + top entities
nervapack-memory search "JWT auth" # FTS search
nervapack-memory timeline "auth service" # chronological trace
nervapack-memory audit d_0019f2abc # access audit trail
nervapack-memory rebind old/path.py new/path.py # update file links after rename
nervapack-memory export --out dump.json # JSON dump
Data model: 8 node kinds, 7 edge kinds, bi-temporal (valid_from/valid_until), never hard-deletes by default.
NervaPack is 100% offline by default:
localhost:11434 only..nervapack/ inside your project.Only if you explicitly pass --llm claude or --llm openai does any code leave your machine.
python3 -m pytest tests/memory/ -qpython3 -m mkdocs build --strictmaster.Bug reports and feature requests: issue tracker.
MIT — see LICENSE.
Offline codebase knowledge graph: 91% token reduction vs naive RAG, plus cross-session agent memory.
{ "mcpServers": { "io.github.ramdhavepreetam-nervapack": { "command": "uvx", "args": [ "nervapack==0.5.8" ] } }}Araçlar
Henüz araç listesi yok. Uzak sunucular ilk sağlık kontrolünden sonra bir liste alır.
SSS
Bu sayfadan Cursor, Claude Desktop, Claude Code veya VS Code için stdio yapılandırmasını kopyalayın. PlugMCP proxy'sini değil, yayıncının kurulumunu kullanır.
Bu kayıtta gerekli bir ortam değişkeni listelenmiyor.
NervaPack yerel olarak stdio üzerinden çalışır.
Son kontrol: 2026-11-10. Offline codebase knowledge graph: 91% token reduction vs naive RAG, plus cross-session agent memory.