Contextweaver
Überblick
Beschreibung vom Entwickler (englisches Original)
Semantic code retrieval engine with hybrid search, context expansion, and 40+ language support.
Die drei Säulen von PopNx MCP
Diese drei werden nie zu einer Punktzahl zusammengefasst: Meinungen, Messungen und Beliebtheit sind verschiedene Dinge.
- Stimmen der NutzeriNoch keine BewertungenBewertungen starten in einem späteren Schritt zusammen mit Benutzerkonten
- Unsere Basischecksi1 von 1 bestandenAnhand öffentlicher Informationen geprüft; Code noch nicht gescannt
- NutzungiGanz neu↓ 44/Wo. · ★ –
Was du damit machen kannst
Für diesen Server haben wir noch keine Zusammenfassung in einfacher Sprache geschrieben. Unten stehen die Fakten, die wir aus der Registry gelesen haben.
- Verbindung: Läuft auf deinem Computer
- Transport: stdio
- Kategorie: Suche & KI-Gedächtnis
Installation
Wähle die KI-App, die du nutzt, und kopiere die Einstellungen.
Bevor du installierst
- Basischecks: 1 von 1 bestanden
- Läuft auf deinem Computer mit den Rechten deines Benutzerkontos (Dateien, Netzwerk, Apps).
- Die Registry nennt keinen Schlüssel zum Eintragen.
Du brauchst
- npmNode.js installiert (für den Befehl npx)
Welche App nutzt du?
Wähle oben deine App. Wir merken sie uns, damit der Button beim nächsten Mal „In … installieren“ anzeigt.
Öffne Claude Desktop → Settings → Developer → Edit Config und füge dies in claude_desktop_config.json ein
{
"mcpServers": {
"contextweaver": {
"command": "npx",
"args": [
"-y",
"@chiway/contextweaver"
]
}
}
}Führe das in deinem Terminal aus
claude mcp add contextweaver -- npx -y @chiway/contextweaverOder kopier die Einstellungen selbst
In .cursor/mcp.json in deinem Projekt oder in ~/.cursor/mcp.json einfügen
{
"mcpServers": {
"contextweaver": {
"command": "npx",
"args": [
"-y",
"@chiway/contextweaver"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Oder kopier die Einstellungen selbst
In .vscode/mcp.json in deinem Projekt einfügen
{
"servers": {
"contextweaver": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@chiway/contextweaver"
]
}
}
}Dein Browser fragt, ob er die App öffnen darf, dann zeigt die App die Einstellungen und bittet dich um Bestätigung. Schlüsselwerte bleiben leer, damit du sie selbst einträgst.
Dieser Server läuft auf deinem Computer, und ChatGPT kann sich nur mit Servern im Internet verbinden. Wähle eine andere App.
Deine Auswahl bleibt in einem Cookie auf diesem Gerät; kein Konto nötig.
Diese Einstellungen werden aus dem Registry-Eintrag des Entwicklers erzeugt. Wenn in der README etwas anderes steht, folge der README.
Was er kann
Läuft auf deinem Computer; die Tool-Liste erscheint nach der Installation in deiner KI-App.
Basischecksi
Wir prüfen Informationen, die jeder sehen kann; den Code haben wir nicht gelesen. Checks, die nicht zutreffen, werden nicht mitgezählt. · Geprüft am 8. Nov. 2026
- ✓ Bestanden
Entwickler passt zum Repo
Der Registry-Name wurde mit dem GitHub-Konto wchiway bestätigt, dem das Repo gehört
- … Noch nicht geprüft
Wird noch gepflegt
Dieses Repo haben wir noch nicht von GitHub gelesen
- … Noch nicht geprüft
Hat eine Lizenz
Dieses Repo haben wir noch nicht von GitHub gelesen
- – Nicht zutreffend
Endpunkt antwortet
Dieser Server läuft auf deinem Computer; es gibt keinen Endpunkt im Internet
- – Nicht zutreffend
Anmeldung mit OAuth
Läuft auf deinem Computer und nutzt stattdessen lokale Einstellungen
- … Noch nicht geprüft
Keine versteckten Anweisungen in Tool-Beschreibungen
Läuft auf deinem Computer; Tool-Listen können wir nur von Endpunkten im Internet lesen
Im Vergleich mit anderen in Suche & KI-Gedächtnisi
- Mehr Sterne als 0 % der anderen 5719 Server in dieser Kategorie
- Neuer in der Registry veröffentlicht als 17 % der anderen 5719 Server in dieser Kategorie
- Basischecks gleich gut wie oder besser als bei 100 % der anderen 5719 Server in dieser Kategorie
Verglichen mit allen aktiven Servern dieser Kategorie in der Registry. Sterne zählen nur, wenn dem Herausgeber das Repo gehört.
Häufige Fragen
Ist Contextweaver sicher?
Er hat 1 von 1 zutreffenden Basischecks bestanden. Den Code haben wir nicht gelesen. Bevor du einen Schlüssel oder Token hinzufügst, sieh nach, welche Zugriffe der Server verlangt, und nutze einen Schlüssel, der nur die Berechtigungen hat, die du brauchst.
Welche Schlüssel oder Codes braucht er?
Die Registry nennt keinen erforderlichen Schlüssel, manche Server bitten dich aber bei der ersten Nutzung, dich anzumelden.
Läuft er auf meinem Computer oder in der Cloud?
Er läuft auf deinem Computer. Deine KI-App startet ihn bei Bedarf, und die Daten laufen nicht über die Server des Entwicklers (außer der Server ruft selbst einen Onlinedienst auf).
Wird er noch gepflegt?
Das GitHub-Repo wurde zuletzt – geändert, und die neueste Version (1.5.4) kam vor 5 Monaten in die Registry.
Welche Apps können ihn nutzen?
Apps, die MCP unterstützen, etwa Claude Desktop, Claude Code, Cursor und VS Code. Außerdem brauchst du Node.js auf deinem Computer.
Was kann ich stattdessen nutzen?
In derselben Kategorie: Context7, Codebase Memory, Exa
Alternativen
Server derselben Kategorie von anderen Entwicklern, sortiert nach Sternen.
So liest du eine Karte:↓ Downloads pro Wochei★ GitHub-SterneiDrei Säulen: Bewertungen · Checks · NutzungiAktualisiert = neueste Version in der Registry veröffentlichti
Codebase Memory
Codebase knowledge graph for AI agents — 162 languages, sub-ms queries, 99% fewer tokens.
Exa
Connect AI agents to Exa for web search, content fetching, and multi-step research.
README vom Entwickler
README öffnen
Unverändert aus dem Repo des Entwicklers übernommen. PopNx MCP hat den Inhalt weder geprüft noch empfiehlt es ihn. HTML, Bilder und Skripte wurden entfernt. Links führen von dieser Website weg.
ContextWeaver
🧵 A codebase context engine woven for AI agents
Semantic Code Retrieval for AI Agents — Hybrid Search • Graph Expansion • Token-Aware Packing
English · 简体中文
ContextWeaver is a semantic retrieval engine purpose-built for AI coding assistants. It combines hybrid search (vector + lexical), intelligent context expansion, and token-aware packing to deliver precise, relevant, and context-complete code snippets to LLMs.
✨ Core Features
🔍 Hybrid Retrieval Engine
- Vector Retrieval: deep semantic understanding via similarity
- Lexical Retrieval (FTS): exact matching for function names, class names, and other technical terms
- RRF Fusion (Reciprocal Rank Fusion): intelligently merges multiple recall channels
🧠 AST Semantic Chunking
- Tree-sitter parsing: supports TypeScript, JavaScript, Python, Go, Java, Rust, C, C++, C#, and more
- Dual-Text strategy:
displayCodefor presentation,vectorTextfor embedding - Gap-Aware merging: handles code gaps intelligently while preserving semantic integrity
- Breadcrumb injection: vector text carries hierarchical paths to boost recall
- UTF-16 character-domain normalization: offsets are unified via
SourceAdapter.toCharOffsetbefore writing metadata, preventing multi-byte character slicing errors (v1.4.0+)
📊 Three-Stage Context Expansion
- E1 Neighbor expansion: adjacent chunks within the same file, preserving block completeness
- E2 Breadcrumb completion: sibling methods under the same class/function for structural understanding
- E3 Import resolution: cross-file dependency tracking (configurable toggle)
🎯 Smart TopK Cutoff
- Anchor & Floor: dynamic threshold plus an absolute floor as dual safeguards
- Delta Guard: prevents misjudgment in Top1-outlier scenarios
- Safe Harbor: the first N results only check the floor, guaranteeing baseline recall
🔌 Native MCP Support
- MCP Server mode: launch a Model Context Protocol server with one command
- Multi-tool granularity (v1.5.0+): beyond core semantic retrieval, adds dedicated tools for structure browsing, symbol references, symbol definitions, and statistics
- Intent/term separation: an LLM-friendly API design
- Auto-indexing: the first query triggers indexing automatically; incremental updates are transparent
⚡ Query Cache & File Watching (v1.5.0+)
- Query cache (QueryCache): in-process per-project LRU cache (50 entries by default); a hit skips the entire vector recall / rerank / expansion pipeline
- Automatic cache invalidation: the cache key is composed of
normalized query + projectId + index version + search-config fingerprint, so it invalidates automatically after an index update or config change — stale results are never returned - Watch mode:
contextweaver watchwatches the filesystem and triggers incremental indexing automatically, with debouncing (500ms by default) and scan de-duplication (no concurrent scans)
📈 Statistics & Observability (v1.5.0+)
- Three metric groups: indexing process, search quality/behavior, health/consistency
- Dual exits:
contextweaver statsCLI (with--json) plus the MCPstatstool - Consistency diagnostics: automatically detects abnormal migration state,
pending_marksbacklog, missing vector rows, and more — with suggested fixes
🛡️ Crash-Safe Data Architecture (v1.4.0+)
- Single source of truth for content: LanceDB stores only vectors and locating metadata; content is read back from
files.content, reducing index size by 30–50% - Cross-store transactional compensation: three-stage write LanceDB → FTS+outbox → SQLite mark, with automatic rollback or replay on any failure
- Migration state machine:
pending/done/abortedpersisted, auto-rebuilt on crash recovery - Cross-process mutual exclusion: an advisory lock prevents the MCP server and CLI from triggering LanceDB migration concurrently
- chunk_id de-duplication: pre-delete before write to avoid duplicate rows on retry
📦 Quick Start
Requirements
- Node.js >= 20
- pnpm (recommended) or npm
Installation
# Global install
npm install -g @chiway/contextweaver
Or with pnpm
pnpm add -g @chiway/contextweaver
Initialize Configuration
# Create the config file (~/.contextweaver/.env)
contextweaver init
Or the short alias
cw init
Edit ~/.contextweaver/.env and fill in your API keys:
# Embedding API config (required)
EMBEDDINGS_API_KEY=your-api-key-here EMBEDDINGS_BASE_URL=https://api.siliconflow.cn/v1/embeddings EMBEDDINGS_MODEL=BAAI/bge-m3 EMBEDDINGS_MAX_CONCURRENCY=10 EMBEDDINGS_DIMENSIONS=1024
Reranker config (required)
RERANK_API_KEY=your-api-key-here RERANK_BASE_URL=https://api.siliconflow.cn/v1/rerank RERANK_MODEL=BAAI/bge-reranker-v2-m3 RERANK_TOP_N=20
Search parameters (optional, override built-in defaults)
CW_SEARCH_WVEC=0.6 CW_SEARCH_WLEX=0.4 CW_SEARCH_RERANK_TOP_N=10 CW_SEARCH_MAX_TOTAL_CHARS=48000 CW_SEARCH_VECTOR_TOP_K=80 CW_SEARCH_SMART_MAX_K=8 CW_SEARCH_IMPORT_FILES_PER_SEED=3
Ignore patterns (optional, comma-separated)
IGNORE_PATTERNS=.venv,node_modules
Index a Codebase
# Run from the codebase root
contextweaver index
Specify a path
contextweaver index /path/to/your/project
Force a full re-index
contextweaver index --force
Watch Mode (v1.5.0+)
# Watch for file changes and auto-index incrementally (Ctrl+C to stop)
contextweaver watch
Specify a path and debounce window (ms)
contextweaver watch /path/to/project --debounce 800
watch runs one full incremental scan on startup, then listens to filesystem events; changes trigger a de-duplicated scan within the debounce window, and paths excluded by ignore rules never trigger a scan.
Local Search
# Semantic search
cw search --information-request "How is the user authentication flow implemented?"
With exact terms
cw search --information-request "Database connection logic" --technical-terms "DatabasePool,Connection"
Structure Browsing & Symbol Lookup (v1.5.0+)
The following commands are CLI mirrors of MCP tools, with zero Embedding API cost:
# List indexed files (supports glob / language / count filters)
contextweaver list-files --glob "src/**/*.ts" --language typescript --max-results 100
Look up a symbol definition
contextweaver definition SearchService --hint-path src/search
Look up symbol references
contextweaver references handleStats --exclude-definition
Statistics (v1.5.0+)
# Human-readable stats report
contextweaver stats
JSON output (for scripting)
contextweaver stats --json
Specify a project path
contextweaver stats --path /path/to/project
Start the MCP Server
# Launch the MCP server (for use by Claude and other AI assistants)
contextweaver mcp
Index Management (v1.4.0+)
# Show LanceDB migration state
contextweaver migrate
Clear the aborted state: wipe LanceDB and trigger a full rebuild
Triggered when: the Indexer refuses to write after sampling validation fails;
run this, then index again.
contextweaver migrate --reset
Specify a project path
contextweaver migrate --path /path/to/project
🔧 MCP Integration
Claude Desktop Configuration
Add the following to your Claude Desktop config file:
{
"mcpServers": { "contextweaver": { "command": "contextweaver", "args": ["mcp"] } } }
MCP Tools Overview (v1.5.0+)
ContextWeaver exposes 5 MCP tools, following a layered design of "semantic retrieval first, structure browsing second":
| Tool | Purpose | Embedding cost |
|---|---|---|
codebase-retrieval | Primary tool: hybrid semantic + exact-match retrieval | Yes |
list-files | List indexed file structure (path/language/size) | No |
find-references | Find heuristic text references to a symbol | No |
get-symbol-definition | Find likely definition blocks for a symbol | No |
stats | Index/search/health statistics | No |
codebase-retrieval Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
repo_path | string | ✅ | Absolute path to the repository root |
information_request | string | ✅ | The semantic intent in natural language |
technical_terms | string[] | ❌ | Exact technical terms (class/function names, etc.) |
mode | string | ❌ | Retrieval profile: quick, balanced, or deep |
include_globs | string[] | ❌ | File glob allowlist applied after retrieval |
exclude_globs | string[] | ❌ | File glob denylist applied after retrieval |
language | string[] | ❌ | Language allowlist applied after retrieval |
max_total_chars | number | ❌ | Per-call output budget in characters |
max_files | number | ❌ | Maximum number of files returned after packing |
max_segments_per_file | number | ❌ | Maximum non-contiguous segments per file |
return_debug | boolean | ❌ | Include debug metadata in structured output |
low_confidence_behavior | string | ❌ | Low-confidence handling: return_top1, return_empty, or return_with_warning |
output_format | string | ❌ | Response format: markdown, json, or both |
list-files Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
repo_path | string | ✅ | Absolute path to the repository root |
glob | string | ❌ | Glob pattern to filter paths |
language | string | ❌ | Language filter (matched against files.language) |
max_results | number | ❌ | Max files to return (default 200) |
find-references Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
repo_path | string | ✅ | Absolute path to the repository root |
symbol | string | ✅ | Exact symbol name |
exclude_definition | boolean | ❌ | Exclude chunks whose breadcrumb tail matches the symbol name |
max_results | number | ❌ | Max references to return (default 50) |
get-symbol-definition Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
repo_path | string | ✅ | Absolute path to the repository root |
symbol | string | ✅ | Exact symbol name to resolve |
| hint_path | string | ❌ | Preferred
Nur der Anfang wird gezeigt; den Rest findest du im Repo