Back to Directory/Developer Tools

Delphi Code

Let coding agents browse code across all your local, GitHub and Bitbucket repos, offline

Developer ToolsPythonv0.3.4

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.

Claude Code, opened in one service, is asked whether an endpoint can be removed and finds its only caller in another repository

  • 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   # track and index projects
delphi-code search 'where are user passwords checked?'
delphi-code ui                                     # or do it all in the browser

Your agent calls the same search through MCP. After installing a new agent, run delphi-code connect. To connect one by hand:

AgentSetup
Claude Codeclaude plugin marketplace add markdorof/delphi-code, then claude plugin install delphi-code@delphi-code
Codexcodex plugin marketplace add markdorof/delphi-code, then codex plugin add delphi-code@delphi-code
CursorAdd {"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 CLIgemini mcp add delphi-code delphi-code mcp
OpenCodeAdd {"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

CommandWhat it does
setupDownloads 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 PATHIndexes a project once without tracking it.
search QUERYSearches every index, or one with -p. Filter with --language, --path, --limit.
list, status, remove NAMEShow tracked projects, show a project's index, stop tracking a project.
connect, disconnectAdd or remove Delphi Code in your agents' configs.
uiOpens a local web UI for search, projects, and setup checks.
doctorChecks the model and storage.
mcpServes 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

VariablePurpose
GITHUB_TOKEN / GH_TOKENGitHub access for remote repositories (falls back to gh auth token, then git's credentials)
BITBUCKET_APP_PASSWORD with BITBUCKET_EMAIL or BITBUCKET_USERNAMEBitbucket access (an API token works)
DELPHI_CODE_MODELUse another local SentenceTransformers model instead of the default all-MiniLM-L6-v2
DELPHI_CODE_INDEX_ROOT, DELPHI_CODE_REGISTRY, DELPHI_CODE_LOG_FILEMove indexes, the tracked-project list, or the log
DELPHI_CODE_LOG_LEVELDEBUG, 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   # frees about 900 MB of downloaded packages

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.

Installation

Source-derived launch command. Check the maintainer’s required arguments and credentials before running:

bash
uvx delphi-code

Set up in your AI client

Merge this template into ~/Library/Application Support/Claude/claude_desktop_config.json. Keep existing servers. Add any arguments, credentials, and permissions required by the maintainer; this template has not been install-tested.

json
{
  "mcpServers": {
    "io-github-markdorof-delphi-code": {
      "command": "uvx",
      "args": [
        "delphi-code"
      ]
    }
  }
}

Restart Claude Desktop completely for changes to take effect. Confirm the server appears connected in the client’s tool list, then try a read-only example from its documentation.

Claude Desktop setup reference

Package

delphi-codepypi

Compatible MCP Clients

Delphi Code works with any MCP-compatible client. Copy the config snippet from the Configuration section above and add it to the file shown for your client, then restart the application.

  • Claude Desktop~/Library/Application Support/Claude/claude_desktop_config.jsonRestart Claude Desktop completely for changes to take effect.
  • Cursor~/.cursor/mcp.jsonRestart Cursor for changes to take effect.
  • VS Code.vscode/mcp.jsonReload VS Code window for changes to take effect.
  • Windsurf~/.codeium/windsurf/mcp_config.jsonRestart Windsurf for changes to take effect.
  • Claude Code.mcp.jsonSave at the project root, then start Claude Code in that project and review the MCP server approval prompt. Keep real credentials out of shared files.

Learn More