π¬π§ English β’ π·πΊ Π ΡΡΡΠΊΠΈΠΉ β’ π¨π³ δΈζ
AI-powered semantic code search for Zed IDE β MCP-ΡΠ΅ΡΠ²Π΅Ρ Π³Π»ΡΠ±ΠΈΠ½Π½ΠΎΠ³ΠΎ Π°Π½Π°Π»ΠΈΠ·Π° ΠΊΠΎΠ΄Π°
Features β’ Quick Start β’ Tools β’ Documentation β’ Installation β’ Architecture β’ Contributing β’ Security
Last updated: 2026-07-09
MSCodeBase Intelligence is an MCP server for Zed IDE that gives AI assistants deep understanding of the entire codebase: semantic search, call graph, project memory, diagnostics.
This is not an LSP server or a replacement for the editor's built-in autocomplete. It's a "code intelligence" layer on top of the editor:
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β Zed IDE β
β βββββββββββββββββββββββββββββββββββββββββββββββββ β
β β LSP (built-in autocomplete, β β
β β inline hints, diagnostics) β β
β βββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β βΌ β
β βββββββββββββββββββββββββββββββββββββββββββββββββ β
β β MSCodeBase (MCP server) β β
β β Β· Semantic search across the codebase β β
β β Β· Call graph & impact analysis β β
β β Β· Project memory (ADR, tech debt) β β
β β Β· Self-diagnostics and self-healing β β
β β Β· 50 tools for AI assistant β β
β βββββββββββββββββββββββββββββββββββββββββββββββββ β
βββββββββββββββββββββββββββββββββββββββββββββββββββββββ
| Feature | MSCodeBase | Standard LSP (pyright/pylsp) |
|---|---|---|
| π Semantic search (BM25 + Vector + Reranker) | β | β |
| π§ Call graph + impact analysis | β | β |
| ποΈ Project memory (ADR, known issues) | β | β |
| π₯ Self-diagnosis + self-healing | β | β |
| π Cross-repo search | β | β |
| π€ RAG answer generation (mode=ask) | β | β |
| βοΈ Inline autocomplete | β | β |
| π·οΈ Inlay hints | β | β |
MSCodeBase does not use LSP. The LSP server (src/lsp_main.py) was an experimental part of the project and does not work in Zed due to architectural limitations of the editor itself (see LSP_WONTFIX.md).
Instead, all functionality is implemented through 50 MCP tools available in Zed via the MCP protocol.
Designed and tested on Windows. macOS and Linux should work but have not been validated officially.
| Feature | Description |
|---|---|
| π Unified Search | search_code(query, mode, intent_hint) β single tool: fast/quality/deep/context/ask/auto |
| π§ Intelligence Layer | 10 high-level intel_* tools: self-diagnostics, topology, error prediction |
| ποΈ Project Memory | ADR, known issues, tech debt β automatically persisted between sessions |
| π Cross-repo Search | Search across multiple projects with @mention syntax |
| π³ Call Graph | Full call graph: definition + callers + callees + impact analysis |
| π Structural Search | 13 AST patterns (class_inheritance, async_function, decorator, etc.) |
| π Context Search | Find similar code β paste a fragment, get semantic duplicates |
| πͺ£ Multi-Bucket RAG | Code/docs buckets, soft weighting, intent_hint (code/docs/auto) |
| π€ mode=ask | RAG-Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΠΎΡΠ²Π΅ΡΠ° ΡΠ΅ΡΠ΅Π· phi-4 (server profile) |
| πΎ LanceDB v2 | Vector DB with per-project isolation (incremental BM25 reindex) |
| π‘ Rate Limiting | DebounceBatch + CircuitBreaker β protection against VFS loops |
| π₯ Self-Diagnosis | get_health_report + index_health β full check and recovery |
| β π§ͺ Clean Architecture | DI Container (15 services), 50 tools (34 class-based + 14 intel + 2 diag), 391+ tests |
| πͺ Multi-Window | ProjectIndexerRegistry β isolated Indexer per project, LRU 5, ResourceMonitor throttle |
| βοΈ SYSTEM_PROFILE | light (sync) / server (async with phi-4) |
ΠΡΠ±Π΅ΡΠΈ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ:
| Π‘ΠΏΠΎΡΠΎΠ± | ΠΠΎΠΌΡ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ | ΠΡΠ΅ΠΌΡ | Π‘Π»ΠΎΠΆΠ½ΠΎΡΡΡ |
|---|---|---|---|
| π€ One-Prompt | ΠΡΠ΅ΠΌ. ΠΠΎΠΏΠΈΡΡΠ΅ΡΡ ΡΠ΅ΠΊΡΡ β ΠΠ³Π΅Π½Ρ Zed Π²ΡΡ Π΄Π΅Π»Π°Π΅Ρ ΡΠ°ΠΌ | 5-10 ΠΌΠΈΠ½ | π’ ΠΠ²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ |
| π₯οΈ Install.py | ΠΡΠΎ Π»ΡΠ±ΠΈΡ TUI-ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠΈ | 5-10 ΠΌΠΈΠ½ | π’ ΠΡΠΎΡΡΠΎ |
| π οΈ ΠΡΡΡΠ½ΡΡ | ΠΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ»Π½ΡΠΉ ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ | 15-20 ΠΌΠΈΠ½ | π‘ Π‘ΡΠ΅Π΄Π½Π΅ |
ΠΡΠΈΠΌΠ΅ΡΠ°Π½ΠΈΠ΅: ΠΠ° Windows 11 Insider Preview (build β₯ 26220) llama-server.exe Π½Π΅ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌ (ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ api-ms-win-crt-heap API Set). Π£ΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΠΏΠ΅ΡΠ΅ΠΊΠ»ΡΡΠΈΡΡΡ Π½Π° ONNX. ΠΠ° ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΡ Windows/macOS/Linux β llama.cpp (Π² 3x Π±ΡΡΡΡΠ΅Π΅ ΠΈ Π² 2x Π»Π΅Π³ΡΠ΅).
ΠΠ»Ρ ΠΊΠΎΠ³ΠΎ: ΠΠ»Ρ Π²ΡΠ΅Ρ . ΠΠ³Π΅Π½Ρ Zed ΡΠ°ΠΌ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡ ΡΠ²ΠΎΡ ΠΏΠ»Π°ΡΡΠΎΡΠΌΡ, CPU, ΡΠΊΠ°ΡΠ°Π΅Ρ Π½ΡΠΆΠ½ΡΠ΅ Π±ΠΈΠ½Π°ΡΠ½ΠΈΠΊΠΈ ΠΈ Π½Π°ΡΡΡΠΎΠΈΡ MCP.
Π§ΡΠΎ Π΄Π΅Π»Π°ΡΡ:
- ΠΡΠΊΡΠΎΠΉ Agent Panel Π² Zed:
Ctrl+Shift+PβAgent Panel: Toggle - Π‘ΠΊΠΎΠΏΠΈΡΡΠΉ Π²Π΅ΡΡ ΡΠ΅ΠΊΡΡ ΠΈΠ· AI_INSTALLATION_PROMPT.md
- ΠΡΡΠ°Π²Ρ Π² ΡΠ°Ρ ΠΠ³Π΅Π½ΡΠ° ΠΈ Π½Π°ΠΆΠΌΠΈ Enter
- β ΠΠΎΡΠΎΠ²ΠΎ ΡΠ΅ΡΠ΅Π· 5-10 ΠΌΠΈΠ½ΡΡ
Π§ΡΠΎ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄ΡΡ:
ββ ΠΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠ°: Windows/macOS/Linux, AVX2/AVX512/ARM
ββ ΠΠ»ΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΡ
ββ ΠΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ + pip install
ββ Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ llama-server.exe (ΠΏΠΎΠ΄ ΡΠ²ΠΎΡ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ CPU)
ββ Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ GGUF ΠΌΠΎΠ΄Π΅Π»Π΅ΠΉ bge-m3 + reranker (Q4_K_M)
ββ ΠΠ°ΡΡΡΠΎΠΉΠΊΠ° MCP Π² Zed (Ρ ΡΠΎΡ
ΡΠ°Π½Π΅Π½ΠΈΠ΅ΠΌ // ΠΊΠΎΠΌΠΌΠ΅Π½ΡΠ°ΡΠΈΠ΅Π²!)
ββ ΠΡΠ»ΠΈ Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° / Windows Insider / ΠΎΡΠΈΠ±ΠΊΠ° β ONNX fallback
ββ ΠΠ²ΡΠΎ-Π΄Π΅ΡΠ΅ΠΊΡΠΈΡ: ΡΡΠ°Π±ΠΈΠ»ΡΠ½ΡΠΉ Windows β llama.cpp, Insider β ONNX
ββ ~750 MB Ρ llama.cpp / ~1.9 GB Ρ ONNX
ΠΠ»Ρ ΠΊΠΎΠ³ΠΎ: ΠΡΠΎ ΠΏΡΠ΅Π΄ΠΏΠΎΡΠΈΡΠ°Π΅Ρ ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΡΠΈΠΊΠΈ.
git clone https://github.com/ManSio/mscodebase-intelligence.git
cd mscodebase-intelligence
python install.pyΠ§ΡΠΎ Π΄Π΅Π»Π°Π΅Ρ:
- β Π‘ΠΎΠ·Π΄Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ΅ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ + pip install
- β Π‘ΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ llama.cpp + GGUF ΠΌΠΎΠ΄Π΅Π»ΠΈ (bge-m3 + reranker)
- β ΠΠ»ΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ ONNX ΠΌΠΎΠ΄Π΅Π»ΠΈ (bge-m3 + reranker) β fallback
- β ΠΠ°ΡΡΡΠ°ΠΈΠ²Π°Π΅Ρ MCP-ΡΠ΅ΡΠ²Π΅Ρ Π² Zed
- β Π‘ΠΎΠ·Π΄Π°ΡΡ Π΄Π΅ΠΈΠ½ΡΡΠ°Π»Π»ΡΡΠΎΡ
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ β File β Quit β reopen project β ΠΆΠ΄ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ.
Verify: Π² Agent Panel Π²ΡΠΏΠΎΠ»Π½ΠΈ:
get_index_status()
ΠΠ»Ρ ΠΊΠΎΠ³ΠΎ: ΠΡΠΎ Ρ ΠΎΡΠ΅Ρ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ°Π³ ΠΈΠ»ΠΈ Ρ ΠΊΠΎΠ³ΠΎ Π½Π΅ΡΡΠ°Π½Π΄Π°ΡΡΠ½Π°Ρ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡ.
-
ΠΠ»ΠΎΠ½ΠΈΡΡΠΉ:
git clone https://github.com/ManSio/mscodebase-intelligence.git cd mscodebase-intelligence -
Π‘ΠΎΠ·Π΄Π°ΠΉ venv ΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΈ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠΈ:
python -m venv .venv # Windows: .venv\Scripts\python.exe -m pip install -r requirements.txt # macOS/Linux: .venv/bin/python -m pip install -r requirements.txt
-
Π‘ΠΊΠ°ΡΠ°ΠΉ llama.cpp (ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ, Π½ΠΎ ΡΠΈΠ»ΡΠ½ΠΎ Π±ΡΡΡΡΠ΅Π΅):
# Windows β ΡΠΊΠ°ΡΠ°ΠΉ Ρ GitHub: curl -LO https://github.com/ggml-org/llama.cpp/releases/download/b9940/llama-b9940-bin-win-cpu-x64.zip # Π Π°ΡΠΏΠ°ΠΊΡΠΉ Π² ΠΏΠ°ΠΏΠΊΡ llama/ # macOS ARM: curl -LO https://github.com/ggml-org/llama.cpp/releases/download/b9940/llama-b9940-bin-macos-arm64.tar.gz # Linux: curl -LO https://github.com/ggml-org/llama.cpp/releases/download/b9940/llama-b9940-bin-ubuntu-x64.tar.gz
-
Π‘ΠΊΠ°ΡΠ°ΠΉ GGUF ΠΌΠΎΠ΄Π΅Π»ΠΈ:
pip install huggingface_hub python -c " from huggingface_hub import hf_hub_download import shutil for repo, file in [ ('lm-kit/bge-m3-gguf', 'bge-m3-Q4_K_M.gguf'), ('lm-kit/bge-m3-reranker-v2-gguf', 'Bge-M3-568M-Q4_K_M.gguf'), ]: path = hf_hub_download(repo_id=repo, filename=file) shutil.copy2(path, f'models/{file}') "
-
ΠΠ°ΡΡΡΠΎΠΉ MCP Π² Zed: ΠΠΎΠ±Π°Π²Ρ Π²
%APPDATA%/Zed/settings.json(Windows) ΠΈΠ»ΠΈ~/.config/zed/settings.json(macOS/Linux):{ "context_servers": { "mscodebase-intelligence": { "command": ".venv/Scripts/python.exe", "args": ["-u", "-m", "src.main"], "env": { "PYTHONPATH": ".", "PROJECT_PATH": "$ZED_WORKTREE_ROOT" } } }, "context_servers_to_query": ["mscodebase-intelligence"] } -
ΠΠ°ΠΏΡΡΡΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡ:
.venv/Scripts/python.exe -u -m src.main & # Π Agent Panel: get_index_status()
ΠΠΎΡΠ»Π΅ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ MCP ΡΠ°ΠΌ Π²ΡΠ±Π΅ΡΠ΅Ρ Π»ΡΡΡΠΈΠΉ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ:
LM Studio (GPU) β llama.cpp (CPU GGUF) β ONNX server (CPU) β local ONNX (fallback)
fastest ~523 MB RAM ~1.7 GB RAM ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ
~100ms embed ~764ms embed ~988ms embed +544 MB Π² MCP
ΠΠΎΠ΄ΡΠΎΠ±Π½ΡΠ΅ Π±Π΅Π½ΡΠΌΠ°ΡΠΊΠΈ: docs/research/2026-07-09-provider-benchmark.md
| Π‘ΡΠ΅Π½Π°ΡΠΈΠΉ | ΠΠ½ΡΡΡΡΠΊΡΠΈΡ |
|---|---|
| Windows | Read docs/en/ZED_WINDOWS_QUIRKS.md |
| Π£ΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ΅ΡΠ΅Π· ΠΠ³Π΅Π½ΡΠ° | Copy AI_INSTALLATION_PROMPT.md into chat |
| LM Studio | Install, run on port 1234 β MCP connects automatically |
| llama.cpp | Auto-downloaded by install.py. CPU detected automatically |
| Π£ΠΆΠ΅ ΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΎ | python install.py Π±Π΅Π·ΠΎΠΏΠ°ΡΠ΅Π½ β no-op Π΅ΡΠ»ΠΈ Π²ΡΡ ΡΠΆΠ΅ Π½Π°ΡΡΡΠΎΠ΅Π½ΠΎ |
| Document | Description | Audience | Languages |
|---|---|---|---|
| docs/en/INSTALL.md | Installation, setup, uninstall | Users | π¬π§ π·πΊ π¨π³ |
| docs/en/ARCHITECTURE.md | Clean Architecture, Layers, DI | Developers | π¬π§ π·πΊ π¨π³ |
| docs/en/ARCHITECTURE_DEEP.md | Deep architecture: pipeline, lifecycle, comparison | Architects | π¬π§ π·πΊ π¨π³ |
| docs/en/SEARCH_PIPELINE.md | Search pipeline: BM25 β RRF β Reranker | Developers | π¬π§ |
| docs/en/GRACEFUL_DEGRADATION.md | 4 levels of graceful degradation | DevOps | π¬π§ |
| docs/en/ARCHITECTURE_LAYERS.md | 10 runtime layers | Architects | π¬π§ π·πΊ π¨π³ |
| docs/en/FAQ.md | Frequently Asked Questions | All | π¬π§ π·πΊ π¨π³ |
| docs/en/TELEMETRY.md | Metrics, ETA, data collection | DevOps | π¬π§ π·πΊ π¨π³ |
| docs/en/investigations/ONNX_SESSION_REPORT.md | Full ONNX migration, 7 fixes, benchmarks | Support | π¬π§ |
| docs/en/investigations/LSP_WONTFIX.md | LSP on Windows investigation (WONTFIX) | Support | π¬π§ π¨π³ |
| docs/en/ZED_WINDOWS_QUIRKS.md | Windows specifics, Restricted Mode | Windows users | π¬π§ π·πΊ π¨π³ |
| docs/en/CHANGELOG.md | Version history | All | π¬π§ π·πΊ π¨π³ |
| docs/en/CONTRIBUTING.md | How to contribute, PRs | Contributors | π¬π§ π·πΊ π¨π³ |
| docs/en/SECURITY.md | Security policy, vulnerabilities | Security | π¬π§ π·πΊ π¨π³ |
| AGENTS.md | AI Agent system rules | AI Agent | π¬π§ |
| SECURITY.md | Security policy, reporting vulnerabilities | Security | π¬π§ |
| CODE_OF_CONDUCT.md | Community standards | Contributors | π¬π§ |
All documents are cross-referenced.
| Tool | When to Use |
|---|---|
search_code(query, mode, filter_layer, intent_hint) |
Main search tool. mode="auto" / "fast" / "quality" / "deep" / "context" / "ask". intent_hint="code" / "docs" / "auto" β soft bucket weighting. filter_layer="core" β search within specific architecture layer |
structural_search(pattern) |
AST search: class_inheritance, async_function, function_with_decorator and more |
cross_repo_search(query @repo) |
Search across multiple projects (mono-repo) |
cross_project_deps(action) |
Cross-project dependency graph: graph / deps / cycles / impact |
get_symbol_info(query) |
Call Graph: callers, callees, impact files |
impact_analysis(symbol) |
Symbol change impact analysis (risk score, depth) |
| Tool | When to Use |
|---|---|
get_index_status() |
Index status: chunks, files, symbols |
get_index_progress() |
Indexing progress (phase, percent) |
index_project_dir(path) |
Start full project indexing |
get_index_timeline() |
Indexing history by date |
index_health(project_root) |
Index diagnostics and self-recovery |
notify_change(file_path) |
Force index update for a file (via DebounceBatch) |
generate_chunk_summaries(root) |
LLM-generated descriptions for code chunks |
scan_changes(project_root) |
Architectural diff β analyze changes since last baseline |
| Tool | When to Use |
|---|---|
get_health_report() |
Full self-diagnosis: index, embedder, logs, synchronization |
watcher_status() |
Component status: embedder mode (LM Studio / Ollama / ONNX) |
get_logs(project_root) |
Latest errors and warnings from project logs |
get_repo_map(project_root) |
Project map: file tree + key symbols |
read_live_file(path) |
Read file from LSP memory (including unsaved changes) |
| Tool | When to Use |
|---|---|
get_hotspots(project_root) |
Hotspots β files with high bug rate |
get_repo_rank(project_root, top_k) |
Symbol importance ranking (PageRank on call graph) |
get_bug_correlation(project_root) |
Bug-change correlation analysis |
get_related_files(project_root, path) |
Files related via co-change / bug correlation |
graph_query(query_type, target) |
Knowledge graph queries: impact / feature / deps / tests |
find_similar_bugs(error) |
Find similar bugs from history by error text |
| Tool | When to Use |
|---|---|
get_commit_history(root, limit) |
Semantic commit history |
get_file_history(root, path) |
Change history for a specific file |
get_branch_info(project_root) |
Branch info + index status |
| Tool | When to Use |
|---|---|
submit_background_task(type, root) |
Run long tasks: bug_correlation / build_knowledge_graph / full_analysis |
get_task_status(task_id) |
Background task status |
verify_action(action_type) |
Verification: file_write / git_commit / git_push / index_sync |
predict_eta(operation) |
Operation time prediction |
run_health_check() |
Full project health check (tests + git) |
| Tool | What it does |
|---|---|
intel_get_runtime_status() |
Aggregated health status: embedder, index, resource usage |
intel_trigger_reindex() |
Fire-and-forget reindexing (does not block Zed) |
intel_get_job_status(job_id) |
Background task progress |
intel_code_topology(symbol) |
Call graph + module topology (< 2 sec) |
intel_get_project_memory() |
Project memory map: ADR, known_issues, tech_debt |
intel_log_incident(...) |
Log an incident to project history |
intel_analyze_incident(error) |
Find similar incidents + ready-made solutions |
intel_add_memory_node(section, data) |
Add a record to project memory |
intel_get_hotspots() |
Top-5 files with highest bug load |
intel_predict_root_cause(error) |
Predict root cause from logs + history |
intel_get_telemetry(days) |
Per-tool telemetry, resource usage, LLM stats |
intel_tool_health() |
Tool success rates, latency, confidence |
intel_execution_timeline(limit) |
Recent action timeline |
intel_explain_project_state(root) |
Human-readable project state diagnosis |
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β MCP Server (~220 lines) β
β src/mcp/server.py β ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΡ β
β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β DI Container (15 services) β β
β β src/core/di_container.py β ServiceCollection β β
β β β β
β β ββββββββββββ ββββββββββββββ ββββββββββββββββββββββββ β β
β β β Indexer β β Searcher β β DebounceBatch β β β
β β β Embedder β β SymbolIdx β β CircuitBreaker β β β
β β β Parser β β FileGuard β β RateLimiter β β β
β β ββββββββββββ ββββββββββββββ ββββββββββββββββββββββββ β β
β ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ β
β β β
β ββββββββββββββ΄βββββββββββββ β
β βΌ βΌ β
β ββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββ β
β β 34 Tool Classes β β 14 intel_* tools + 2 diag β β
β β src/mcp/tools/*.py β β src/core/intelligence_layer.py β β
β β ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½Ρ β β error_boundary decorator β β
β β β ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ β β JSON status/message/detail β β
β β Constructor Inj. β β asyncio.wait_for(timeout) β β
β ββββββββββββββββββββββ ββββββββββββββββββββββββββββββββββββββ β
ββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββββ
β
βΌ
βββββββββββββββββββ βββββββββββββββββββββ
β RemoteEmbedder β β LanceDB v2 β
β (LM Studio / β β (ΠΠ΅ΠΊΡΠΎΡΠ½Π°Ρ ΠΠ) β
β Ollama / ONNX) β β BM25 + Vector β
βββββββββββββββββββ βββββββββββββββββββββ
| Mode | Latency | Best For |
|---|---|---|
search_code(query, mode="fast") |
~300ms | Simple keyword / exact name |
search_code(query, mode="quality") |
~1200ms | Semantic search with reranker |
search_code(query, mode="deep") |
~2-5s | Complex research across modules |
search_code(query, mode="context") |
~500ms | Find similar code by fragment |
cross_repo_search(query @repo) |
~500ms-2s | Cross-project search |
| Variable | Default | Description |
|---|---|---|
LM_STUDIO_URL |
http://localhost:1234/v1 |
LM Studio API endpoint |
LM_STUDIO_PORT |
1234 |
LM Studio port |
OLLAMA_URL |
http://localhost:11434 |
Ollama API endpoint |
LOG_LEVEL |
INFO |
Π£ΡΠΎΠ²Π΅Π½Ρ Π»ΠΎΠ³ΠΈΡΠΎΠ²Π°Π½ΠΈΡ |
ZED_WINDOWS_QUIRKS.md |
(ΡΠΌ. ΡΠ°ΠΉΠ») | ΠΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π»Ρ Windows |
Symptoms: ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ Π½Π΅ ΠΎΡΠ²Π΅ΡΠ°ΡΡ, ΡΠ°ΠΉΠΌΠ°ΡΡ.
Checklist:
- File β Quit β ΠΎΡΠΊΡΠΎΠΉ ΠΏΡΠΎΠ΅ΠΊΡ Π·Π°Π½ΠΎΠ²ΠΎ
- ΠΠ°ΠΏΡΡΡΠΈΡΠ΅
python install.pyΠ΄Π»Ρ ΠΏΠ΅ΡΠ΅Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ - ΠΡΠΎΠ²Π΅ΡΡΡΠ΅ Π»ΠΎΠ³ΠΈ:
%LOCALAPPDATA%\Zed\extensions\mscodebase-intelligence\.codebase_indices\logs\
Π Agent Panel Π²ΡΠΏΠΎΠ»Π½ΠΈΡΠ΅:
intel_trigger_reindex()
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ²Π΅ΡΡΡΠ΅: get_index_status()
# ΠΡΠΎΠ²Π΅ΡΡΡΠ΅, ΡΡΠΎ ΡΠ΅ΡΠ²Π΅Ρ ΠΎΡΠ²Π΅ΡΠ°Π΅Ρ:
python -c "import urllib.request; print(urllib.request.urlopen('http://localhost:1234/v1/health').read())"ΠΠΎΠ»ΠΆΠ΅Π½ Π±ΡΡΡ ΠΎΡΠ²Π΅Ρ {"status":"ok"}.
mscodebase-intelligence/
βββ src/
β βββ main.py # MCP server entry point (~220 lines)
β βββ lsp_main.py # LSP server (DI-based, for didSave indexing)
β βββ mcp/
β β βββ server.py # DI routing β only imports + registration
β β βββ tools/ # 10 files, 33 class-based + 10 intel = 43 total
β β βββ search_tools.py # search_code, get_symbol_info, impact_analysis
β β βββ indexing_tools.py # notify_change, index_project_dir, index_health
β β βββ git_tools.py # get_branch_info, get_commit_history
β β βββ system_tools.py # get_index_status, watcher_status, read_live_file
β β βββ analysis_tools.py # structural_search, get_repo_map, scan_changes
β β βββ graph_tools.py # cross_repo_search, graph_query, get_related_files
β β βββ investigation_tools.py # get_bug_correlation, get_hotspots
β β βββ lifecycle_tools.py # submit_background_task, verify_action
β βββ core/
β β βββ di_container.py # β
DI Container (15 services, ServiceCollection)
β β βββ error_handler.py # β
error_boundary + ToolError
β β βββ rate_limiter.py # β
SlidingWindowRateLimiter + DebounceBatch + CircuitBreaker
β β βββ indexer.py # LanceDB vector storage
β β βββ searcher.py # Hybrid search (BM25 + Dense + RRF)
β β βββ symbol_index.py # Call Graph (BFS, impact analysis)
β β βββ intelligence_layer.py # intel_* tools (14 high-level)
β β βββ llama_runner.py # llama.cpp lifecycle manager β
β β βββ remote_embedder.py # LM Studio / Ollama / llama.cpp / ONNX client
β β βββ reranker.py # Multi-Provider Reranker (HTTP to providers)
β β βββ parser.py # Tree-sitter AST
β β βββ health_report.py # Self-diagnosis engine
β β βββ ...
β βββ utils/
β βββ paths.py # SafePathManager, to_win_long_path
β βββ zed_config.py # Auto-configure Zed settings
βββ docs/
β βββ en/ # English docs
β βββ ru/ # Russian docs
β βββ zh/ # Chinese docs
βββ tests/ # 396 tests (pytest)
βββ .agents/skills/ # Skills for AI agent
βββ install.py # Installer
βββ README.md
See docs/en/CONTRIBUTING.md for:
- How to add new MCP tools
- Test structure and CI pipeline
- Commit message conventions
# Setup
python -m venv .venv
.venv\Scripts\activate
pip install -r requirements.txt
# Run MCP server directly (test)
python -m src.main
# Run tests
pytest tests/ -m "not integration and not benchmark"MIT License β see LICENSE for details.
- Zed IDE β code editor
- LM Studio β local LLM inference
- LanceDB β vector database
- Model Context Protocol β MCP standard