mcpField
C
Code Index

Code Index

本地服务
github.com/trondhindenes搜索与检索747 周前更新

关于 Code Index

Code Index 是用于索引本地源码目录并通过 Zoekt 搜索代码的 MCP 服务,面向需要在项目中快速查找内容的开发者。它支持子串、正则表达式及带文件和语言过滤的查询。

主要功能

  1. 01分别索引源码目录
  2. 02使用 Zoekt 三元组索引搜索
  3. 03支持正则表达式和布尔运算符
  4. 04按文件类型和语言筛选
  5. 05列出、查看和删除索引

适用场景

  1. 01在已索引项目中查找符号
  2. 02将搜索限定到特定语言或文件类型
  3. 03管理本地存储的目录索引

MCP 相关

该服务提供索引目录、搜索已索引代码、列出或删除索引以及查看索引配置的工具。可注册到 Claude Desktop、Claude Code 等 MCP 客户端。

配置

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

暂未收录安装方式

我们还没有获取到这个服务的安装包或远程地址,请按项目 README 中的说明安装。

代码仓库
安装包
mcpbcode-index-mcp-darwin-amd64.mcpb1.0.16
mcpbcode-index-mcp-darwin-arm64.mcpb1.0.16
mcpbcode-index-mcp-linux-amd64.mcpb1.0.16
mcpbcode-index-mcp-linux-arm64.mcpb1.0.16

工具

还没有获取到工具列表

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

详细介绍

Code Index MCP Server

一个 MCP(Model Context Protocol)服务,使用 Zoekt 快速搜索本地源代码。

功能

  • 快速代码搜索:使用 Zoekt 基于三元组的索引,实现快速子串和正则表达式匹配
  • 按目录建立索引:每个已索引目录都有自己的索引,并存储在用户配置文件中
  • 丰富的查询语言:支持正则表达式、文件筛选、语言筛选和布尔运算符
  • 跨平台:支持 macOS 和 Linux

安装

此服务已收录在 MCP Registry。

下载预构建的 MCPB bundle(实验性)

从 GitHub Releases 页面下载适用于你平台的 .mcpb bundle:

  • code-index-mcp-darwin-arm64.mcpb - macOS Apple Silicon
  • code-index-mcp-darwin-amd64.mcpb - macOS Intel
  • code-index-mcp-linux-amd64.mcpb - Linux x64
  • code-index-mcp-linux-arm64.mcpb - Linux ARM64

.mcpb 文件是一个包含二进制文件和清单的 ZIP 压缩包。你可以直接在 Claude Desktop 中打开它进行安装

手动安装(推荐)

要将二进制文件下载到电脑上,可以采用以下任一方式:

从 releases 下载

前往 GitHub Releases,下载 适用于你平台的文件(不是 mcpb,而是对应平台的 tar/gzipped 文件)。 例如:

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 bundle 安装,则通常无需进行此操作,但实际情况可能有所不同。

Claude Desktop

将以下内容添加到 Claude Desktop 配置文件中(macOS 上的路径为 ~/Library/Application Support/Claude/claude_desktop_config.json):

{
  "mcpServers": {
    "code-index": {
      "command": "/path/to/code-index-mcp"
    }
  }
}
Claude Code

运行以下命令:

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 - 排除包含 "test" 的文件
  • case:yes MyFunc - 区分大小写的搜索
list_indexes

列出所有已索引的目录及其位置。

delete_index

删除指定目录的索引。

参数:

  • directory(必填):要删除其索引的目录路径
index_info

获取索引配置的信息,包括存储位置。

跳过的目录

建立索引时会自动跳过以下目录:

  • 隐藏目录(以 . 开头)
  • node_modules、vendor、__pycache__
  • target、build、dist
  • venv、.venv、env、.env

已跳过的文件

系统会自动跳过二进制文件和常见的非代码文件,包括:

  • 可执行文件(.exe、.dll、.so、.dylib)
  • 归档文件(.zip、.tar、.gz)
  • 图片(.png、.jpg、.gif)
  • 文档(.pdf、.doc、.docx)

许可证

MIT

评论

支持 Markdown

第一次接触 MCP?

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

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