关于 Everything Search MCP
Everything Search MCP 将 Everything 的索引搜索接入 AI 助手,面向需要查找和整理 Windows 文件的用户。它支持按名称、路径、类型、大小或日期筛选,并可浏览文件夹及汇总大小。
主要功能
- 01按名称、路径及属性搜索文件
- 02浏览文件夹并分页返回结果
- 03统计匹配项和文件总大小
- 04比较文件夹大小
- 05检查 Everything 连接与版本
适用场景
- 01查找特定日期修改的 PDF
- 02定位大型日志或归档文件
- 03统计项目目录中的特定文件夹
- 04比较多个文件夹的占用大小
MCP 相关
作为 MCP 服务,它向客户端提供只读的 search 和 status 工具,可查询 Everything 索引并检查连接状态。
配置
本地服务的配置在各客户端中通用,复制后粘贴到客户端的 MCP 配置文件即可。
工具
2收录的工具列表 · 更新于 2 周前
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| requests | array | 是 | 1–8 个查询,按结果顺序排列。 |
详细介绍
Everything Search MCP
使用 Everything 从 AI 助手中搜索 Windows 文件。
按名称、路径、类型、大小或日期,在已编入索引的驱动器中查找文件。浏览文件夹、比较文件夹大小,并通过单次请求获取计数或文件总大小。搜索使用 Everything 的现有索引,支持分页结果和可选元数据。
前置条件
- 操作系统:Windows(x64、x86、ARM64、ARM)
- Node.js:v22.0.0 或更高版本
- Everything:已安装并运行 Everything 1.4.1+ 或 1.5 Alpha。
已包含 ES helper。服务会自动检查默认 Everything 实例、1.5a 和 1.5,并通过本地 IPC 连接。
安装与配置
在 Windows 上,按下方所示通过 cmd.exe 启动 npx。选择客户端,添加配置,然后重新加载其 MCP 连接。(DeepSeek Harness 除外:它会直接启动命令,因此可以使用普通的 npx——请参阅下方对应部分。)
OpenAI Codex
将以下内容添加到 Codex 配置文件(%USERPROFILE%/.codex/config.toml 或项目级 .codex/config.toml):
[mcp_servers.everything]
command = "cmd.exe"
args = ["/d", "/c", "npx", "-y", "everything-mcp-server"]
或者通过 Codex CLI 添加:
codex mcp add everything -- cmd.exe /d /c npx -y everything-mcp-server
OpenCode
将以下内容添加到项目的 opencode.json:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"everything": {
"type": "local",
"command": ["cmd.exe", "/d", "/c", "npx", "-y", "everything-mcp-server"]
}
}
}
或者运行 OpenCode 设置向导并输入上方的命令:
opencode mcp add
DeepSeek Harness
安装插件,然后重启配置档:
dsh plugin --profile <profile> add dsh-everything-mcp
或者直接从此代码库安装:
dsh plugin --profile <profile> add github:EcRal5t/everything-search-mcp#path:/plugins/dsh-everything-mcp
这些工具会显示为 mcp__everything__search 和 mcp__everything__status。如果要手动配置,请将此行添加到配置档的 cordis.patch.yml:
- insert:
- id: mcp-everything
name: '@deepseek-ai/dsh-mcp-client'
config:
serverName: everything
transport: stdio
command: npx
args: ['-y', 'everything-mcp-server']
DSH 会直接启动命令,因此不需要 cmd.exe 包装器。请参阅 plugins/dsh-everything-mcp 查看插件包本身。
Claude Desktop 和其他 MCP 客户端
将以下内容添加到 MCP 客户端配置中(例如 claude_desktop_config.json):
{
"mcpServers": {
"everything": {
"command": "cmd.exe",
"args": ["/d", "/c", "npx", "-y", "everything-mcp-server"]
}
}
}
VS Code 使用 servers 作为顶层键。
可以提出哪些请求
连接后,可以让助手使用 Everything 执行以下任务:
- 查找丢失的文件:“在已编入索引的驱动器中,查找上个月修改的季度报告 PDF。”
- 调查大文件:“列出 C: 上最大的十个日志文件或超过 1 GB 的归档文件,并包含其路径和大小。”
- 查找项目构建产物:“查找 D:/Projects 下名为 node_modules 或 target 的文件夹,并告诉我有多少个。”
- 比较文件夹大小:“比较 D:/Projects 下一级文件夹的大小。”
工具
这两个工具均为只读。
| 工具 | 用途 |
|---|---|
search | 查找路径、浏览文件夹、统计匹配项,并获取大小或其他已编入索引的元数据。 |
status | 检查连接、所选 Everything 实例和版本。 |
连接设置
默认设置适用于常见的本地安装。自定义实例名称请使用 EVERYTHING_INSTANCE。设置 EVERYTHING_URL 可选择 Everything HTTP 服务;如需凭据,请填写 EVERYTHING_USERNAME 和 EVERYTHING_PASSWORD。
所有环境变量
| 变量 | 默认值 | 描述 |
|---|---|---|
EVERYTHING_INSTANCE | 自动检测 | 探测默认实例、1.5a 和 1.5。自定义实例请设置此变量;"" 表示选择默认实例。 |
EVERYTHING_URL | "" | Everything HTTP 服务 URL(例如 http://127.0.0.1:17603/)。设置后,将使用 HTTP 传输而非 IPC。 |
EVERYTHING_USERNAME | "" | HTTP 服务的基本身份验证用户名。 |
EVERYTHING_PASSWORD | "" | HTTP 服务的基本身份验证密码。 |
EVERYTHING_MAX_RESULTS | 1000 | 每个查询和整个批次的行数上限(1–1000)。 |
EVERYTHING_OUTPUT_BYTES | 16384 | 每次工具调用的最大输出大小预算(4096–65536)。 |
EVERYTHING_TIMEOUT_MS | 15000 | 查询超时时间,单位为毫秒(100–120000)。 |
EVERYTHING_ES_PATH | 随附 | es.exe 的自定义路径。 |
CLI 和诊断
测试 Everything 安装和后端连接:
npx -y everything-mcp-server doctor
从命令行运行查询:
npx -y everything-mcp-server search '{"requests": [{"query": "ext:pdf", "count": 5}]}'
工具参考
参数和结果格式
search
搜索、浏览目录、统计项目数量并获取已索引的元数据。
在必填的 requests 数组中传入 1–8 个查询:
{"requests": [{"query": "ext:pdf", "count": 5}]}
每个查询的参数:
| 参数 | 类型 | 默认值 | 描述 |
|---|---|---|---|
query | string | "" | Everything 搜索查询(例如 *.pdf、size:>100mb、ext:ts;js)。 |
root | string | 可选 | 搜索目录(例如 D:/Projects)。省略则进行全局搜索。 |
recursive | boolean | true | 设置 root 时:true 搜索所有子目录;false 仅列出直接子项。 |
kind | string | "any" | 筛选条目类型:"any"、"file" 或 "folder"。 |
regex | boolean | false | 将 query 视为正则表达式。 |
count | number | 20 | 返回的最大行数(最多 1000)。使用 0 统计匹配项数量;添加 kind:"file" 和 fields:["size"] 可获取 total_size_bytes。 |
offset | number | 0 | 从 0 开始的分页偏移量。 |
sort | string | "path" | 排序字段:path、name、size、extension、date_modified、date_created、date_accessed、attributes、run_count。 |
ascending | boolean | true | 升序(true)或降序(false)排序。 |
fields | string[] | [] | 额外的列:size、date_modified、date_created、date_accessed、attributes、run_count。 |
IPC 提供所有列出的字段和排序方式。HTTP 支持按名称、路径、大小或修改时间排序;提供大小和修改时间字段,其他元数据则取决于服务。
输出格式:
结果先列出一次列标签,随后是行数组:
{
"results": [
{
"base": "D:/Projects",
"total": 42,
"next_offset": 2,
"columns": ["path", "type", "size_bytes"],
"rows": [
["src/index.ts", "file", 1024],
["package.json", "file", 512]
],
"size_basis": "indexed_logical"
}
]
}
将 base 与 rows 中的相对路径组合,即可获得完整文件路径。
文件和文件夹大小使用 Everything 索引中的逻辑字节数。
status
检查后端连接状态、Everything 版本、所选实例和索引状态。
参数:
verbose(boolean,默认值为false):包含已索引项目总数和限制。
本地开发
git clone https://github.com/EcRal5t/everything-search-mcp.git
cd everything-search-mcp
npm install
npm test
使用本地检出配置 MCP 客户端:
{
"mcpServers": {
"everything": {
"command": "node",
"args": ["D:/path/to/everything-search-mcp/src/cli.js"]
}
}
}
许可证
MIT。随附的 es.exe 也由 voidtools 以 MIT 许可证授权。请参阅 THIRD_PARTY_NOTICES.md。
评论
一个开放协议,规定了 AI 应用如何以统一方式连接外部工具与数据源。客户端负责与模型对话,MCP 服务负责提供工具、资源和提示模板,两者通过标准消息通信,同一个服务可以被不同客户端复用。