使用说明
代码索引MCP服务器
用于快速本地源代码搜索的MCP(模型上下文协议)服务器 正在搜索.
特性
- 快速代码搜索:使用Zoekt基于三元组的索引进行快速子字符串和正则表达式匹配
- 按目录索引:每个索引目录都有自己的索引存储在用户配置文件中
- 丰富的查询语言:支持正则表达式、文件过滤器、语言过滤器和布尔运算符
- 跨平台:适用于macOS和Linux
安装
此服务器可在 MCP注册表.
下载预构建MCPB包(实验)
下载相应的 .mcpb 从捆绑包为您的平台 GitHub发布 页面:
code-index-mcp-darwin-arm64.mcpb-macOS苹果硅code-index-mcp-darwin-amd64.mcpb-macOS英特尔code-index-mcp-linux-amd64.mcpb-Linux x64code-index-mcp-linux-arm64.mcpb-Linux ARM64
这 .mcpb 该文件是一个包含二进制文件和清单的ZIP存档。您可以直接在Claude Desktop中打开它进行安装
手动安装(推荐)
为了将二进制文件加载到您的计算机上,您可以执行以下操作之一:
从发布中下载
首选 GitHub发布 并下载 适当的文件(不是mcpb,而是与您的平台对应的tar/gzi压缩文件)。 例如:
curl -sL https://github.com/trondhindenes/code-index-mcp/releases/download/1.0.13/code-index-mcp-darwin-arm64.tar.gz | tar xz
chmod +x code-index-mcp
使用Go
go install github.com/trondhindenes/code-index-mcp@latest
从源代码构建
git clone https://github.com/trondhindenes/code-index-mcp
cd code-index-mcp
go build -o code-index-mcp .
配置
现在您已经在本地安装了二进制文件,可以在您选择的工具中注册它。 如果您是通过mcpb捆绑包安装的,则不需要这样做,但您的里程可能会有所不同。
克劳德桌面版
添加到您的Claude Desktop配置(~/Library/Application Support/Claude/claude_desktop_config.json 在macOS上):
{
"mcpServers": {
"code-index": {
"command": "/path/to/code-index-mcp"
}
}
}
克劳德代码
运行以下命令:
claude mcp add --scope user --transport stdio code-index /path/to/code-index-mcp
环境变量
CODE_INDEX_DIR:覆盖默认索引存储位置
默认索引位置:
- macOS:
~/Library/Application Support/code-index/ - Linux:
~/.local/share/code-index/或$XDG_DATA_HOME/code-index/
可用工具
index_directory
为源代码目录建立索引,以便快速搜索。
参数:
directory(必填):要索引的目录的路径
例子:
Index the directory /Users/me/projects/myapp
search_code
在索引目录中搜索代码。返回类似grep的紧凑输出,以最大限度地减少上下文窗口的使用。
参数:
query(必填):使用Zoekt语法的搜索查询directory(可选):将搜索限制到特定的索引目录max_files(可选):要返回的最大文件数(默认值:20)max_lines_per_file(可选):每个文件的最大匹配数(默认值:3)files_only(可选):仅返回文件路径,无行内容(默认值:false)
输出格式:
/path/to/file.go:42: matching line content here
/path/to/file.go:58: another matching line
... and 5 more matches in this file
查询语法示例:
func main-简单文本搜索file:\.go$ func main-仅在.go文件中搜索lang:python class.*Model-在Python文件中搜索-test func main-排除包含“测试”的文件case:yes MyFunc-区分大小写的搜索
list_indexes
列出所有索引目录及其位置。
delete_index
删除特定目录的索引。
参数:
directory(必填):应删除其索引的目录的路径
index_info
获取有关索引配置的信息,包括存储位置。
跳过目录
在索引过程中会自动跳过以下目录:
- 隐藏目录(以开头
.) node_modules,vendor,__pycache__target,build,distvenv,.venv,env,.env
跳过的文件
二进制文件和常见的非代码文件会自动跳过,包括:
- 可执行文件(
.exe,.dll,.so,.dylib) - 档案(
.zip,.tar,.gz) - 图片(
.png,.jpg,.gif) - 文件(
.pdf,.doc,.docx)
许可证
麻省理工学院
