Delphi Code
Let your coding agent browse code across all your repositories. Index local projects and GitHub or Bitbucket repositories, then ask "where does the backend handle the refund the web app requests?" and get the right files from every repository at once, even when no file contains those words.
- Private: your code never leaves your machine. Indexing and search run offline with a local model; no account, cloud provider, or background daemon.
- Fast: the MCP server keeps the model loaded, so repeated searches are near-instant. No GPU needed.
- Works with your agents: Claude Code, Claude Desktop, Codex, Cursor, VS Code, Gemini CLI, and OpenCode.
Install
curl -LsSf https://github.com/markdorof/delphi-code/releases/latest/download/install.sh | sh
The script installs uv if needed, then runs setup, which downloads the embedding model once and connects every agent it finds. Options go after sh -s --: --no-setup, --no-connect, --version VERSION. With uv already installed:
uv tool install --managed-python --python 3.14 delphi-code
delphi-code setup
Requires macOS 14+ on Apple silicon (Linux is untested, Windows unsupported). delphi-code doctor checks the installation.
Use
delphi-code add ~/src/api github.com/octo/tools
delphi-code search 'where are user passwords checked?'
delphi-code ui
Your agent calls the same search through MCP. After installing a new agent, run delphi-code connect. To connect one by hand:
| Agent | Setup |
|---|
| Claude Code | claude plugin marketplace add markdorof/delphi-code, then claude plugin install delphi-code@delphi-code |
| Codex | codex plugin marketplace add markdorof/delphi-code, then codex plugin add delphi-code@delphi-code |
| Cursor | Add {"mcpServers": {"delphi-code": {"type": "stdio", "command": "delphi-code", "args": ["mcp"]}}} to ~/.cursor/mcp.json |
| VS Code (Copilot) | code --add-mcp '{"name": "delphi-code", "command": "delphi-code", "args": ["mcp"]}' |
| Gemini CLI | gemini mcp add delphi-code delphi-code mcp |
| OpenCode | Add {"mcp": {"delphi-code": {"type": "local", "command": ["delphi-code", "mcp"]}}} to ~/.config/opencode/opencode.json |
For agents other than Claude Code and Codex, also copy the skill into the agent's skills folder so it knows when to search by meaning instead of grep.
Commands
| Command | What it does |
|---|
setup | Downloads the model (or imports it with --from DIR on an offline machine) and connects agents. |
add [SOURCE ...] | Tracks and indexes local paths or remote repositories (--ref picks a branch or tag). Without sources, picks repositories from your GitHub or Bitbucket account. |
sync [PROJECT ...] | Updates tracked projects, re-embedding only what changed. |
index -p PATH | Indexes a project once without tracking it. |
search QUERY | Searches every index, or one with -p. Filter with --language, --path, --limit. |
list, status, remove NAME | Show tracked projects, show a project's index, stop tracking a project. |
connect, disconnect | Add or remove Delphi Code in your agents' configs. |
ui | Opens a local web UI for search, projects, and setup checks. |
doctor | Checks the model and storage. |
mcp | Serves the commands as MCP tools over stdio. |
-p takes a path or an indexed project's name. index and add skip .gitignored files and accept --ignore, --path, and --language. Every command takes --help, and most take --json for scripts. Only setup, add, and sync use the network.
Settings
| Variable | Purpose |
|---|
GITHUB_TOKEN / GH_TOKEN | GitHub access for remote repositories (falls back to gh auth token, then git's credentials) |
BITBUCKET_APP_PASSWORD with BITBUCKET_EMAIL or BITBUCKET_USERNAME | Bitbucket access (an API token works) |
DELPHI_CODE_MODEL | Use another local SentenceTransformers model instead of the default all-MiniLM-L6-v2 |
DELPHI_CODE_INDEX_ROOT, DELPHI_CODE_REGISTRY, DELPHI_CODE_LOG_FILE | Move indexes, the tracked-project list, or the log |
DELPHI_CODE_LOG_LEVEL | DEBUG, INFO, WARNING, ERROR, or OFF |
Data lives in ~/Library/Application Support/delphi-code on macOS and ~/.local/share/delphi-code on Linux.
Upgrade and uninstall
uv tool upgrade delphi-code
Your model and indexes are kept. If a command fails with index_incompatible, delete the index directory it names and run sync again. See releases for changes.
delphi-code disconnect
uv tool uninstall delphi-code
rm -rf ~/Library/Application\ Support/delphi-code
uv cache clean
If the install script installed uv and you don't need it, uninstall uv and its Python too.
License
Apache-2.0. See THIRD_PARTY_NOTICES.md. To contribute, see CONTRIBUTING.md.