mcpField
C
Coderag

Coderag

本地服务
sylphx.com搜索与检索125 周前更新

关于 Coderag

Locus 是面向编码 Agent 的本地 BM25 代码搜索 MCP 服务,提供仓库搜索和相关代码查找,并支持配置项目根目录与文件筛选。

主要功能

  1. 01使用 BM25 搜索索引代码
  2. 02查找文件位置相关代码
  3. 03按扩展名和路径筛选
  4. 04配置仓库根目录

适用场景

  1. 01按查询搜索仓库代码
  2. 02探索特定行附近的相关代码
  3. 03将搜索限制在指定文件类型或路径

MCP 相关

Locus 向 MCP 客户端提供 `codebase_search` 和 `find_related` 工具。默认使用 stdio,也可选择 HTTP 传输。

配置

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

mcp.json · 通用配置
{
"mcpServers": {
"sylphxai": {
"command": "npx",
"args": [
"-y",
"@sylphx/coderag-mcp"
]
}
}
}
启动命令npx -y @sylphx/coderag-mcp

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

安装包
npm@sylphx/coderag-mcp

工具

还没有获取到工具列表

本地服务需要在你的电脑上运行后才能读取工具,维护者暂未提供工具列表。

详细介绍

Locus (@sylphx/locus)

面向编码 Agent 的本地 BM25 搜索。提供两个工具:codebase_search 和 find_related。路由 ID rust-tfidf 是该排序器的历史名称。

npx -y @sylphx/locus --root=/absolute/path/to/project

规范包名为 @sylphx/locus,可执行文件为 locus,MCP 名称为 io.github.SylphxAI/locus。文档:https://sylphxai.github.io/locus/.

请勿安装 @sylphx/coderag-mcp。该 ID 已弃用。

根目录

Locus 不会默认使用当前目录。

  1. 工具调用中的 root
  2. 启动参数 --root(--root=PATH 或 --root PATH)
  3. LOCUS_ROOT;若未设置 LOCUS_ROOT,则使用 CODERAG_ROOT

启动参数仅有 doctor 和 --root。

codebase_search

必填项 query(非空字符串)。limit 默认值为 10,且必须是 1 到 100 之间的整数。include_content 默认值为 true。

可选筛选条件会在限制结果数量前执行:

  • file_extensions:ts 和 .ts 都只匹配 .ts,不会匹配 .tsx。区分大小写。不接受空数组。
  • path_filter:区分大小写的路径子串。反斜杠会转换为斜杠。
  • exclude_paths:使用相同的子串规则,但用于排除路径。

排序采用 BM25(k1 = 1.2,b = 0.75),针对长度超过一个字符的 ASCII 词元。login 不会找到 authenticate。结果中的 route 是字符串 rust-tfidf。

find_related

传入相对于仓库的路径(使用正斜杠)以及区块内一个大于 0 的行号。limit 默认值为 10,且不限制为 100 以内。结果中的 route 是字符串 rust-related。如果没有匹配项,则会报错:No related chunks found for that location。

索引

会建立索引的扩展名:.ts、.tsx、.js、.jsx、.mjs、.cjs、.rs、.md、.py、.go。

跳过的路径段:node_modules、dist、target、.git。不会遵循 gitignore。大于 1,048,576 字节的文件会被跳过。新索引写入 .locus/rust-index.json 和 .locus/file-hashes.json。仅当 .locus/rust-index.json 不存在时才会读取 .coderag/。请勿提交这两个目录。

平台

@sylphx/locus-darwin-arm64、@sylphx/locus-darwin-x64、@sylphx/locus-linux-x64-gnu、@sylphx/locus-linux-arm64-gnu。不发布 Windows 版本。

默认传输方式为 stdio。仅当 MCP_TRANSPORT=http(或 CODERAG_MCP_TRANSPORT=http)时,HTTP 才会监听 127.0.0.1:8080。

npx -y @sylphx/locus doctor

评论

支持 Markdown

第一次接触 MCP?

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

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