mcpField
D
Delphi Code

Delphi Code

本地服务
github.com/markdorof开发工具02 周前更新

关于 Delphi Code

Delphi Code 是面向编码 Agent 的本地代码搜索 MCP 服务,可索引本地项目及 GitHub、Bitbucket 仓库,并跨仓库按语义查找相关文件。索引和搜索在本机离线运行,支持本地模型。

主要功能

  1. 01索引本地及远程仓库
  2. 02跨项目语义搜索代码
  3. 03仅重新嵌入变更文件
  4. 04提供本地搜索 Web 界面
  5. 05连接多种编码 Agent

适用场景

  1. 01查找跨仓库功能实现位置
  2. 02用自然语言搜索代码逻辑
  3. 03同步并搜索多个项目
  4. 04让编码 Agent 检索本地代码

MCP 相关

通过 stdio 提供 MCP 工具,使编码 Agent 能调用 Delphi Code 的代码搜索。

配置

本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。

mcp.json · 通用配置
{
"mcpServers": {
"markdorof-delphi-code": {
"command": "uvx",
"args": [
"delphi-code"
]
}
}
}
启动命令uvx delphi-code

本地服务需要在你的电脑上安装运行环境(如 Node.js 18+)。各客户端的配置文件位置不同,请参考客户端文档。

安装包
pypidelphi-code0.3.4

工具

9

收录的工具列表 · 更新于 2 周前

参数类型必填说明
patharray否仅返回 path 与以下某个 glob 模式匹配的结果,例如 src/*
limitinteger否结果的最大数量;默认值为 10
querystring是描述你要查找的行为,而不是单个关键词
projectstring否项目路径、索引键或文件夹名称,用于限定在单个项目内;省略则搜索所有已索引的仓库
languagearray否仅返回这些语言的结果

详细介绍

Delphi Code

让你的编码 Agent 浏览所有代码仓库中的代码。为本地项目以及 GitHub 或 Bitbucket 仓库建立索引,然后询问“Web 应用请求退款时,后端在哪里处理?”即可一次性从所有仓库中找到相关文件,即使没有任何文件包含这些词语。

Claude Code 在一个服务中打开后,被询问是否可以移除某个端点,并在另一个仓库中找到唯一的调用方

  • 隐私保护: 你的代码不会离开本机。索引和搜索使用本地模型离线运行;无需账户、云服务提供商或后台守护进程。
  • 快速: MCP 服务会一直加载模型,因此重复搜索几乎是即时完成的。无需 GPU。
  • 兼容你的 Agent: Claude Code、Claude Desktop、Codex、Cursor、VS Code、Gemini CLI 和 OpenCode。

安装

curl -LsSf https://github.com/markdorof/delphi-code/releases/latest/download/install.sh | sh

如果需要,该脚本会安装 uv,然后运行 setup,下载一次嵌入模型,并连接检测到的所有 Agent。选项放在 sh -s -- 后面:--no-setup、--no-connect、--version VERSION。如果已安装 uv:

uv tool install --managed-python --python 3.14 delphi-code
delphi-code setup

需要搭载 Apple 芯片的 macOS 14+(Linux 未经测试,不支持 Windows)。delphi-code doctor 会检查安装情况。

使用

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

你的 Agent 会通过 MCP 调用同一搜索功能。安装新 Agent 后,运行 delphi-code connect。手动连接方式如下:

Agent设置
Claude Codeclaude plugin marketplace add markdorof/delphi-code,然后运行 claude plugin install delphi-code@delphi-code
Codexcodex plugin marketplace add markdorof/delphi-code,然后运行 codex plugin add delphi-code@delphi-code
Cursor将 {"mcpServers": {"delphi-code": {"type": "stdio", "command": "delphi-code", "args": ["mcp"]}}} 添加到 ~/.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
OpenCode将 {"mcp": {"delphi-code": {"type": "local", "command": ["delphi-code", "mcp"]}}} 添加到 ~/.config/opencode/opencode.json

对于 Claude Code 和 Codex 以外的 Agent,还要将技能复制到 Agent 的技能文件夹,让它知道何时应按含义搜索,而不是使用 grep。

命令

命令功能
setup下载模型(或在离线机器上使用 --from DIR 导入模型),并连接 Agent。
add [SOURCE ...]跟踪并为本地路径或远程仓库建立索引(--ref 用于选择分支或标签)。如果未指定来源,则从你的 GitHub 或 Bitbucket 账户中选择仓库。
sync [PROJECT ...]更新跟踪的项目,只重新生成已更改内容的嵌入。
index -p PATH为项目建立一次索引,但不跟踪该项目。
search QUERY搜索所有索引,或使用 -p 指定一个索引。使用 --language、--path、--limit 进行筛选。
list、status、remove NAME显示跟踪的项目、显示项目索引、停止跟踪项目。
connect、disconnect在 Agent 的配置中添加或移除 Delphi Code。
ui打开本地 Web UI,用于搜索、查看项目和检查设置。
doctor检查模型和存储。
mcp通过 stdio 将这些命令作为 MCP 工具提供服务。

-p 接受路径或已建立索引的项目名称。index 和 add 会跳过 .gitignore 中列出的文件,并接受 --ignore、--path 和 --language。每个命令都支持 --help,大多数命令还支持 --json,以便用于脚本。只有 setup、add 和 sync 会使用网络。

设置

变量用途
GITHUB_TOKEN / GH_TOKEN用于访问远程仓库(依次回退到 gh auth token,然后是 git 的凭据)
BITBUCKET_APP_PASSWORD 与 BITBUCKET_EMAIL 或 BITBUCKET_USERNAME 配合使用用于访问 Bitbucket(也可使用 API 令牌)
DELPHI_CODE_MODEL使用其他本地 SentenceTransformers 模型,而非默认的 all-MiniLM-L6-v2
DELPHI_CODE_INDEX_ROOT、DELPHI_CODE_REGISTRY、DELPHI_CODE_LOG_FILE更改索引、受跟踪的项目列表或日志的位置
DELPHI_CODE_LOG_LEVELDEBUG、INFO、WARNING、ERROR 或 OFF

在 macOS 上,数据存储于 ~/Library/Application Support/delphi-code;在 Linux 上,存储于 ~/.local/share/delphi-code。

升级和卸载

uv tool upgrade delphi-code

模型和索引会保留。如果命令因 index_incompatible 失败,请删除其所指的索引目录,然后再次运行 sync。如需了解变更,请参阅版本发布。

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

如果安装脚本安装了 uv,而你不再需要它,可以卸载 uv及其 Python。

许可证

Apache-2.0。请参阅 THIRD_PARTY_NOTICES.md。如需贡献,请参阅 CONTRIBUTING.md。

评论

支持 Markdown

第一次接触 MCP?

从协议是什么,到在客户端里装上第一个服务,这几条回答覆盖了大多数入门问题。

一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。