everything-http-mcp
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@everything-http-mcpfind all PDFs modified in the last 7 days on my D drive"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
everything-http-mcp
把 Everything(voidtools)自带的 HTTP 服务器 变成 AI 可直接调用的文件搜索能力。零依赖 Everything SDK,不需要 Everything64.dll,也不需要 es.exe——只要你已经开启了 Everything 的 HTTP 服务。
仓库:https://github.com/fishOfOUC/everything-http-mcp 本机默认地址:
http://127.0.0.1:80(Everything 便携版,http_server_port=80)
为什么不用现成的 MCP
项目 | 依赖 | 与你的环境 |
mcp-everything-search(Python) |
| 本机没装 SDK,不可直接用 |
内置 | 走 CLI 子进程,绕开 HTTP 服务 | |
SDK / CLI | 同上 |
这些项目全部基于 Everything SDK 或 es.exe,没有一个走 HTTP 接口。而 HTTP 接口恰好是零配置、跨语言、最适合 MCP 的一条路,所以这里单独实现。
Related MCP server: @shxiaj/everything-mcp
Everything HTTP 接口(官方)
文档:https://www.voidtools.com/zh-cn/support/everything/http/
http://localhost/?search=*.pdf&json=1&count=50&path_column=1&size_column=1&date_modified_column=1参数 | 含义 |
| 搜索表达式 |
| 非 0 返回 JSON |
| 返回条数(JSON 模式默认 4294967295,务必显式传) |
| 跳过条数,用于翻页 |
|
|
| 1 升序,0 降序 |
| 全路径匹配 / 区分大小写 / 全字 / 正则 |
| 让 JSON 带上路径、大小、修改时间等字段 |
返回形如:
{
"totalResults": 12818,
"results": [
{ "type": "file", "name": "a.pdf", "path": "D:\\docs", "size": "148000", "date_modified": "133908035387768450" }
]
}注意两个坑,本项目已处理:
date_modified/date_created是 Windows FILETIME(1601 年起的 100ns 刻度),不是 Unix 时间戳。count=0只返回totalResults,适合做「有多少个」的统计而不传输结果。
提供的工具
工具 | 作用 |
| 搜索文件/目录,返回命中总数、完整路径、类型、大小、修改时间,支持分页与排序 |
| 只返回命中数量( |
| 读取单个路径的实时元数据(fs stat),包括创建时间 |
| 在资源管理器里选中并定位文件 |
folder 参数会转换为 Everything 的 path:"..." 过滤,搜索严格限制在目录内。
没启动怎么办:自动拉起
搜不到 HTTP 服务时,MCP 会判断是「Everything 没运行」还是「运行了但 HTTP 服务没开」,前者会直接启动它:
解析
Everything.exe:EVERYTHING_EXE→ 已运行进程的路径 → 开始菜单快捷方式 → App Paths 注册表 → 常见安装目录用
Start-Process -Verb RunAs以管理员权限启动(本机的 Everything 配置了run_as_admin=1,普通权限起不来),Windows 会弹一次 UAC,点「是」即可每 700ms 探测一次:既要 HTTP 端口能应答,也要空查询能返回索引条目数(刚启动时
Everything.db还在加载,只探测端口会搜出 0 条)索引就绪后自动重试刚才那次查询,对调用方无感
失败会冷却 60 秒,避免反复弹 UAC。想关掉自动启动就设 EVERYTHING_AUTO_START=0;机器上普通权限就能起 Everything 的话设 EVERYTHING_AUTO_ELEVATE=0。
环境变量
变量 | 默认值 | 说明 |
|
| 完整地址,优先于 host/port |
|
| 端口 |
| 空 | HTTP 服务器设了账号密码时填写 |
|
| 单次请求超时 |
|
| 设 |
|
| 设 |
|
| 启动后等端口就绪的最长时间 |
| 自动探测 | 指定 |
|
| 进程名,用于判断是否已运行 |
接入客户端
先确认服务在线:浏览器打开 http://127.0.0.1/ 能看到 Everything 页面。
Claude Desktop(%APPDATA%\Claude\claude_desktop_config.json)、Cursor(~/.cursor/mcp.json)、Cherry Studio 等使用 mcpServers 的客户端:
{
"mcpServers": {
"everything": {
"command": "node",
"args": ["C:\\mcp\\everything-http\\src\\server.js"],
"env": { "EVERYTHING_HTTP_URL": "http://127.0.0.1:80" }
}
}
}Claude Code:
claude mcp add everything -- node "C:\mcp\everything-http\src\server.js"VS Code(.vscode/mcp.json,键名是 servers):
{
"servers": {
"everything": {
"type": "stdio",
"command": "node",
"args": ["C:\\mcp\\everything-http\\src\\server.js"]
}
}
}查询语法速查
写法 | 含义 |
| 指定扩展名 |
| 修改时间 |
| 大小筛选 |
| 目录内搜索 |
| 排除 |
| 布尔组合 |
| 正则 |
测试
node test/smoke.mjs # 4 个工具的真实调用
node test/offline.mjs # 服务未启动、空查询等失败场景安全提醒
当前 Everything 的 HTTP 服务器:
监听
0.0.0.0:80(局域网内其他机器可访问)未设置用户名/密码
http_server_allow_file_download=1(任何能访问该端口的人都能下载你索引到的文件)
建议在「工具 → 选项 → HTTP 服务器」里至少设置账号密码,并把绑定地址改为 127.0.0.1;不需要网页下载时取消「允许文件下载」。配置账号后,在本 MCP 的 env 里填 EVERYTHING_HTTP_USERNAME / EVERYTHING_HTTP_PASSWORD。
Available Tools
4 toolseverything_countEverything 结果计数A
只返回匹配数量,不传输文件列表。适合「我电脑上有多少个 PDF」「这个目录里有多少张图」这类问题。
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | Everything 搜索表达式,例如 "ext:pdf 报告"、"size:>1gb ext:iso"、"dm:last7days ext:docx" | |
| folder | No | 只在这个目录下搜索(会转成 path:"..." 过滤),例如 "D:\\work" |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations and no output schema, the description carries the full burden, and it does disclose the single most important behavioral trait: the response is a count, not a file list. It omits secondary traits such as whether the count spans all mounted volumes, empty-result behavior, or performance on large indexes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero waste, with the differentiating behavior (count only, no file list) front-loaded ahead of the illustrative examples.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter query tool with full schema coverage, the description covers purpose, usage, and the return shape sufficiently. Minor gaps remain on result semantics and limits, but no critical information needed to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with query and folder both documented in the schema along with example syntax. The description adds no parameter-level detail, so the baseline 3 applies since the schema already does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a precise behavior: it returns only the match count and deliberately does not transfer the file list, which cleanly separates it from everything_search. It never names a sibling, so an agent must infer the contrast from the semantics rather than explicit routing.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Concrete example questions («我电脑上有多少个 PDF», «这个目录里有多少张图») make the intended usage obvious, and the count-only framing implies you should pick this over a listing search when you only need a number. It stops short of explicitly naming the alternative tool or stating when this is the wrong choice.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_file_info文件/目录详情A
读取某个路径的实时元数据(大小、创建/修改/访问时间、是否目录)。不经过 Everything 索引,路径不存在也会明确返回。
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | 完整路径,例如 D:\\work\\report.docx |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the behavioral disclosure burden and does well: it discloses real-time filesystem access, index bypass, and explicit handling for nonexistent paths. It does not describe permission requirements or error formats, but the main non-obvious behavioral traits are covered.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise and front-loaded: it immediately states the action, then lists the returned metadata fields, then adds the important index-bypass and nonexistent-path behavior. Every sentence adds useful information with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple single-parameter metadata tool with no output schema, the description is complete enough: it explains what is returned, that access is real-time, that the Everything index is bypassed, and how nonexistent paths are handled. No significant context needed to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There is one required parameter, and schema description coverage is 100%; the schema already documents the path parameter and gives an example path. The description adds little parameter-level detail beyond indicating that the input is a path, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: reading real-time metadata of a path, with enumerated fields (size, creation/modification/access time, is-directory). It also distinguishes the tool from indexed siblings by explicitly saying it does not go through the Everything index.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear usage context: use this when real-time filesystem metadata is needed and the Everything index should be bypassed. It does not explicitly name sibling alternatives like search, count, or reveal, but the index-bypass distinction provides practical guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_reveal在资源管理器中定位A
在 Windows 资源管理器里选中并定位一个文件/目录,方便用户直接查看或双击打开。
| Name | Required | Description | Default |
|---|---|---|---|
| path | Yes | 要定位的完整路径 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
由于没有 annotations,描述需要承担行为说明责任。它披露了会在资源管理器中选择并定位文件,属于会唤起/聚焦 UI 的操作,但没有说明是否打开新窗口、路径无效时的行为或平台限制等细节。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
描述只有一句,先说明核心动作和对象,再说明用途,信息密度高且没有冗余。对于这个简单工具,长度和结构都合适。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
这是一个单参数、无输出 schema 的简单 UI 定位工具,描述已覆盖动作、对象、平台环境和典型用途,足以指导调用。缺少的主要是异常路径或窗口聚焦行为等次要细节。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
输入 schema 覆盖率为 100%,path 参数已在 schema 中说明为“要定位的完整路径”。描述没有在 schema 之外补充路径格式、是否支持相对路径或特殊字符等额外语义,因此按基线为 3。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
描述明确给出了具体动作“选中并定位”和对象“文件/目录”,并限定在 Windows 资源管理器环境中,能够与搜索、计数、文件信息等兄弟工具在动作层面区分开。但没有显式点名兄弟工具或说明与它们的选择关系。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
“方便用户直接查看或双击打开”暗示了适用场景:需要让用户在资源管理器中查看或打开文件时使用。但没有说明何时不应使用,也没有提及其他替代工具或前置条件,使用边界仍依赖推断。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
everything_searchEverything 文件搜索A
用 Everything 索引做全盘文件/文件夹搜索,返回匹配总数和结果列表(名称、完整路径、类型、大小、修改时间)。只支持 Everything 查询语法,不是自然语言。
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | 返回条数,默认 50,最大 1000 | |
| query | Yes | Everything 搜索表达式,例如 "ext:pdf 报告"、"size:>1gb ext:iso"、"dm:last7days ext:docx" | |
| regex | No | 把 query 当作正则表达式 | |
| folder | No | 只在这个目录下搜索(会转成 path:"..." 过滤),例如 "D:\\work" | |
| offset | No | 跳过前 N 条,用于翻页 | |
| sort_by | No | 排序字段 | name |
| descending | No | true 为降序,例如按修改时间最新在前 | |
| match_case | No | 区分大小写 | |
| match_path | No | 让关键词匹配完整路径,而不只是文件名 | |
| whole_word | No | 只匹配完整单词 |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
没有 annotations,描述承担全部说明义务;它补充了返回内容与“全盘搜索”这一范围提示,暗示结果可能很多。但未说明执行开销、是否只读、翻页行为(offset/limit 仅在 schema 中)或索引未就绪时的表现,信息披露只能算中等。
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
仅两句话,第一句说明做什么和返回什么,第二句说明关键约束,信息前置、无冗余。
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
10 个参数、没有 annotations、没有 output schema,描述通过列举返回字段弥补了输出结构缺失,并说明了查询语法约束。但对 limit/offset 分页语义与搜索代价未作提示,仍有小幅缺口。
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
schema 覆盖率 100%,基础分本就为 3;描述额外强调 query 必须使用 Everything 语法而非自然语言,而这是最关键的必填参数,schema 示例未明确禁止自然语言输入,该提示具有实质增量价值。
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource(用 Everything 索引做全盘文件/文件夹搜索)并列出返回字段(名称、完整路径、类型、大小、修改时间)。它与 everything_count 的边界略模糊,因为描述里也承诺“返回匹配总数”,但它明确以结果列表为主,仍然能区分。
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
“只支持 Everything 查询语法,不是自然语言”这句有实际使用约束,能防止 agent 传入自然语言。但既没有说明何时改用 everything_count、everything_file_info 或 everything_reveal,也没有给出使用前提或排除条件,用途边界只能靠推断。
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
4 tool updates
v0.1.0- First observed
everything_count - First observed
everything_file_info - First observed
everything_reveal - First observed
everything_search
TDQS
Scored across 4 tools
The tools cover distinct domains (counting vs. detailed info vs. indexed search vs. UI reveal). The distinction between counting and searching is clear, preventing major overlaps.
All tools consistently follow the naming convention of prefix_action, using the 'everything' namespace across the entire set.
With 4 tools, the set is tightly scoped to the domain of file system discovery using the Everything index. Each tool provides a distinct, valuable capability for this purpose.
The set covers core discovery and information retrieval needs for local files (count, info, indexed search, UI selection). The primary limitation is the strict requirement for Everything query syntax.
Maintenance
Related MCP Connectors
Read and search folders on your own computer with explicit consent. Files are never uploaded.
Search your AI chat history (ChatGPT, Claude, Codex) from any MCP client. Remote, private, read-only
Search photos and video moments by visual meaning, people, dates, and folders across local libraries, Apple Photos, and OneDrive. Manage collections, groups, favorites, people, and duplicate review. Synced metadata remains searchable while the desktop is offline; local and Apple Photos media access needs the owning device online with remote access enabled. OneDrive media can be accessed directly from the cloud. OAuth or Bearer API keys. Paid Cloud Access required; hosted visual search uses prepaid credits. Text-in-image search is semantic matching, not guaranteed exact OCR. Setup: https://organizewith.ai/en/guides/connect-ai-assistants
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Related MCP Servers
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to search local files on Windows using the Everything search engine, supporting basic and complex file searches with filters like date, size, media type, and document type.4MIT
- AlicenseAqualityDmaintenanceEnables lightning-fast file searching on Windows using Everything SDK, with tools for search, version check, status, and file info retrieval.411 npmMIT
- AlicenseAqualityCmaintenanceEnables LLM agents to perform instant whole-disk filename searches using Everything's index, supporting native query syntax and pagination.2MIT
- AlicenseAqualityAmaintenanceEnables AI assistants to search local files and folders via the Everything search engine, with support for advanced queries, file metadata, text previews, and service status.6MIT