Local context engine for AI coding tools.
Index your repository on your machine. Agents search by meaning - map · focus · grep - instead of grepping blindly through files.
Type scubiee connect once and your AI coding assistant gets a local index of the repo - ranked discovery, deep focus, and exact search - without uploading code to a vendor.
- Fully local. Tree-sitter + embeddings on disk. Code never leaves the machine. The only network step is a one-time model download at setup (~270 MB).
- Built for agents. MCP tools
map·focus·grepin Cursor, Claude Code, Copilot, Kiro, and more. - Not a cloud RAG. A real local engine with live Merkle sync. Index once, stay fresh as you edit and pull.
Ranked map hits, focused spans, exact grep - all against a local index.
Install
Requires Python 3.10+. Recommended installer: uv.
uv tool install scubiee
Or with pip
pip install -U scubiee
Setup (once per machine)
Downloads the embedding model and picks CUDA / DirectML / MLX / CPU for your hardware.
scubiee setup
Index a repo
Parses and embeds the project into ~/.scubiee. Run this inside the repository you want agents to understand.
cd /path/to/your/repo
scubiee init .
Connect your IDE
Wires MCP + agent rules so the assistant can call Scubiee. Then reload MCP in the IDE (Cursor: Settings → MCP → refresh).
scubiee connect --cursor
Other tools: --claude-code, --copilot, --kiro, --all, and more - see getting started.
init indexes. connect attaches the assistant. You need both.
What agents get
| Tool | Role |
|---|---|
map |
Ranked files & symbols — overview without dumping bodies |
pack_context |
Lean heatmap around a seed (default ladder step 2) |
expand_context / collect_hot_context |
Grow the graph / pull bodies when needed |
gate / status |
Tiny managed check + engine health at session start |
Also: workspace, expand. Exact/name lookup stays on host Grep/Glob/Read. Classic focus/grep/glob MCP tools are opt-in (CTX_MCP_EXPERIMENT=classic) — see MCP tools reference.
How it works
setup (once) → init (per repo) → connect (per IDE)
│ │ │
▼ ▼ ▼
download model parse + embed MCP + rules
~/.scubiee reload IDE
AI coding tool ──MCP──► Scubiee (localhost) ──► ~/.scubiee
A small local daemon serves search. Background sync keeps enrolled repos fresh. Indexing and retrieval stay on your machine.
Day-to-day
After a big pull or refactor, refresh the index:
scubiee sync .
Check enrollment and health:
scubiee status .
scubiee doctor .
Search from the terminal (no IDE required):
scubiee search "auth middleware" .
Upgrade the package and rebind MCP:
scubiee upgrade
Lifecycle (pause / stop / wipe) is covered in repo lifecycle. Full flag list: complete CLI reference.
Privacy
- Code stays on disk - parsed and embedded locally; nothing leaves for search.
- Model downloads once during
setup(~270 MB). After that, indexing is offline. - Data lives under
~/.scubieeand<repo>/.scubiee.
Docs
| Getting started | docs/web-info/getting-started.md |
| Install & debug | docs/web-info/install-and-debug.md |
| MCP tools | docs/web-info/mcp-tools-reference.md |
| Troubleshooting | docs/web-info/troubleshooting.md |
| How everything works | web-info/how-everything-works.md |
FAQ
Does init connect Cursor?
No. init indexes. connect writes MCP and rules. Then reload MCP.
Does my code get uploaded?
No. Only the embedding model downloads during setup.
Agent says managed: false?
Run init and connect in that project, then reload MCP. For Kiro / Copilot / Cline / Roo, run connect inside each repo.
Windows "Access denied" on upgrade?
scubiee unlock-tool, then retry. Quitting the IDE helps.
Need a support bundle?
scubiee diagnose --no-tests --desktop - attach the Desktop JSON and a tail of ~/.scubiee/engine.log.
PyPI: scubiee · Release: 0.3.15 · Contributors: uv pip install -e . then scubiee setup
License
Copyright 2026 Usman Sayed
Licensed under the Apache License, Version 2.0.
Release files for scubiee 0.3.91
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| scubiee-0.3.91.tar.gz | 1.6 MB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| scubiee-0.3.91-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 3.1 MB
Release files / scubiee-0.3.91.tar.gz
| Download URL | scubiee-0.3.91.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
066554d93f7d3386bb68aeaf54d2ac249989917cd8ffea15460f4153dd66a54c
|
|
BLAKE2b-256 checksum How to use checksums |
4292319feecbe5ba6354791940f66850598542bbefc8e3d9df8a85a1b9662d78
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|
Release files / scubiee-0.3.91-py3-none-any.whl
| Download URL | scubiee-0.3.91-py3-none-any.whl |
|---|---|
| Size | 1.5 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8e4401fbbaa1853958f4143148412e9257d13627c6b633b39ad7f74f29c93a96
|
|
BLAKE2b-256 checksum How to use checksums |
e335bec20d52e64f4ec38e79728ea396a0413316a4921c2a644f8bdf0bbf1050
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.12.5 {"installer":{"name":"uv","version":"0.12.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":null,"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
|