Everything File Search

io.github.elis132由 GitHub 账号 elis132 发布v1.0.9更新于 Oct 24, 2026

Lightning-fast Windows file search for AI agents via voidtools Everything's real-time NTFS index

已验证STDIO仅桌面文件与存储数据与分析

概览

AI 生成的概览

本地 MCP 服务器,借助 voidtools Everything 的实时 NTFS 索引,让 AI 助手在 Windows 上快速搜索文件。

可以做什么
按文件名、扩展名、路径、大小、日期或正则搜索文件,支持排序与分页;统计结果数量、总大小和扩展名分布,无需列出全部文件。按音频、视频、图片、文档、代码、压缩包等文件类别搜索。查找指定时间段内(从一分钟到一年)变更的文件。查看最多 20 个路径的完整元数据、目录列表以及文本文件的前几行。
适用场景
适用于 Windows 环境:助手需要定位文件、查看近期改动、按文件类型统计磁盘占用,或在不遍历整个文件系统的情况下查看配置文件或文本文件。
运行要求
Windows 系统,已安装并运行 voidtools Everything,以及其命令行工具 es.exe(Everything 1.5 alpha 自带,或单独安装)。需要 Python 3.10+ 或 uv 运行该软件包。可选环境变量 EVERYTHING_ES_PATH、EVERYTHING_INSTANCE 和 EVERYTHING_MAX_RESULTS_CAP 可覆盖自动检测。
安装前请注意
会读取本地文件索引,可能把文件路径、元数据和文本文件开头内容返回给助手,敏感文件名或内容可能进入对话。无必要地设置 EVERYTHING_INSTANCE 会导致连接失败。content 等慢速查询函数会阻塞 Everything 的其他搜索,服务器会限制或拒绝这类查询。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Everything File Search,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

⚡ Everything MCP

MCP server for voidtools Everything - search millions of Windows files in milliseconds from any AI agent.

[PyPI] [Python] [License]


Quick start

/plugin marketplace add elis132/everything-mcp/plugin install everything-mcp@everything-mcp

That's it for Claude Code - the plugin bundles the MCP server and a skill that teaches the query syntax. For every other client, see Installation below.

Why this one

everything-mcp (this)mamertofabian (342⭐)Josephur (26⭐)essovius
Tools51116
SetupAuto-detects es.exeManual SDK DLL pathManual HTTP server + host/portManual es.exe in PATH
Everything 1.5Auto-detects instanceNot supportedUntestedManual flag
Talks to Everything viaes.exe subprocessEverything SDK (DLL)Everything's HTTP server plugin (unauthenticated)es.exe subprocess
Tests / CIpytest, GitHub ActionsNone visibleNone visibleNone visible

Performance

es.exe (Everything's real-time NTFS index) vs. a naive filesystem walk, same query:

  • everything-mcp: 220 ms avg (5 runs)
  • Naive walk of C:\: 66,539 ms
  • ~300x faster
Reproduce this benchmark
powershell
@'import os, subprocess, time, statistics
ES = os.path.expandvars(r"%LOCALAPPDATA%\Everything\es.exe")QUERY = "everything.exe"
es_runs = []for _ in range(5):    t0 = time.perf_counter()    subprocess.run([ES, "-n", "100", QUERY], capture_output=True, text=True)    es_runs.append((time.perf_counter() - t0) * 1000)
t0 = time.perf_counter()matches = []for dirpath, _, filenames in os.walk(r"C:\\"):    for name in filenames:        if name.lower() == QUERY:            matches.append(os.path.join(dirpath, name))walk_ms = (time.perf_counter() - t0) * 1000
es_avg = statistics.mean(es_runs)print("ES avg ms:", round(es_avg, 2))print("Walk ms:", round(walk_ms, 2))print("Speedup x:", round(walk_ms / es_avg, 1))print("Matches:", len(matches))'@ | python -

Installation

Prerequisites

  1. Windows with Everything installed and running
  2. es.exe (Everything's command-line interface) - included with Everything 1.5 alpha, or install separately:
    • winget install voidtools.Everything.Cli
    • scoop install everything-cli
    • choco install es
    • or download from github.com/voidtools/es and place it in your PATH
  3. Python 3.10+ or uv

Run the server

bash
uvx everything-mcp          # recommended, no install neededpip install everything-mcp  # or via pip

From source:

bash
git clone https://github.com/elis132/everything-mcp.gitcd everything-mcp && pip install -e ".[dev]"

Add it to your client

Every client below uses the same MCP server definition:

json
{  "mcpServers": {    "everything": {      "command": "uvx",      "args": ["everything-mcp"]    }  }}
ClientHow to add it
Claude Code/plugin install everything-mcp@everything-mcp (see Quick start), or claude mcp add everything -- uvx everything-mcp
Claude DesktopPaste the JSON above into %APPDATA%\Claude\claude_desktop_config.json
Codex CLIcodex mcp add everything -- uvx everything-mcp
Gemini CLIgemini mcp add -s user everything uvx everything-mcp
Kimi CLIkimi mcp add --transport stdio everything -- uvx everything-mcp
Qwen CLIqwen mcp add -s user everything uvx everything-mcp
CursorPaste the JSON above into Cursor's MCP settings UI
WindsurfPaste the JSON above into %USERPROFILE%\.codeium\windsurf\mcp_config.json
Any other MCP clientUse the JSON above verbatim
Using pip instead of uvx
json
{ "mcpServers": { "everything": { "command": "everything-mcp" } } }

Or with explicit Python: {"command": "python", "args": ["-m", "everything_mcp"]}

Environment variables (optional)

Everything MCP auto-detects your setup, but you can override:

VariableDescriptionExample
EVERYTHING_ES_PATHPath to es.exeC:\Program Files\Everything\es.exe
EVERYTHING_INSTANCENamed Everything instance1.5a
EVERYTHING_MAX_RESULTS_CAPHard cap on results per search (default 1000)200

Only set EVERYTHING_INSTANCE if you explicitly configured a named instance in Everything (Tools → Options → General → Instance). Most installs - including most Everything 1.5 installs - run on the default instance; setting this unnecessarily breaks the connection. If in doubt, leave it out.

json
{  "mcpServers": {    "everything": {      "command": "uvx",      "args": ["everything-mcp"],      "env": { "EVERYTHING_INSTANCE": "1.5a" }    }  }}

Tools

1. everything_search - the workhorse

ParameterDefaultDescription
query(required)Everything search query
max_results501-500
sortdate-modified-descname, path, size, date-modified, date-created, extension (+ -desc variants). date-created needs 'Index date created' in Everything
match_case / match_whole_word / match_regex / match_pathfalseMatch modifiers
offset0Pagination offset

Query syntax:

*.py                          all Python filesext:py;js;ts                  multiple extensionsext:py path:C:\Projects       Python files under a pathsize:>10mb                    larger than 10 MBsize:1kb..1mb                 between 1 KB and 1 MBdm:today / dm:last7days       modified today / in the last 7 dayspath:D:\Photos dc:2024        created in 2024 (slow function, see below)"exact name.txt"              exact filename matchproject1 | project2           OR search!node_modules                 exclude a termext:py path:C:\proj content:TODO   files containing TODO (slow function, see below)regex:^test_.*\.py$           regex searchparent:src ext:py             files directly inside 'src' foldersdupe:  /  empty:               duplicate filenames / empty folders

Slow functions. content:, width:/height:, music tags (artist:, album:, ...) and, unless their property is indexed (Everything > Tools > Options > Indexes), dc:, da: and attrib: (and dm:/size: if you turned their indexing off) make Everything read every candidate file from disk - and Everything answers no other search until it is done. On Everything 1.4 the server therefore runs these terms last and only when the rest of the query narrows the candidates enough (1,000 files and 100 MB for content:; 1,000 files for image and tag functions; 30,000 for dates, attributes and sizes). Otherwise it refuses and reports the candidate count, so add path:, ext: or a name.

2. everything_search_by_type - category search

Categories: audio, video, image, document, code, archive, executable, font, 3d, data

Parameters: file_type (required), query, path, max_results, sort

3. everything_find_recent - what changed?

Periods: 1min … 12hours, today, yesterday, 1day … 1year

Parameters: period (default 1hour), path, extensions, query, max_results

4. everything_file_details - deep inspection

Parameters: paths (required, 1-20), preview_lines (0-200)

Returns full metadata; for directories, item count and listing; for text files with a preview, the first N lines.

5. everything_count_stats - quick analytics

Parameters: query (required), include_size (default true), breakdown_by_extension

Count and size stats without listing every file - check scope before a big search.


Examples

AskCall
Python files modified today in my projecteverything_find_recent(period="today", extensions="py", path="C:\Projects\myapp")
How much space do my log files use?everything_count_stats(query="ext:log", include_size=true, breakdown_by_extension=true)
First 50 lines of a config fileeverything_file_details(paths=["C:\Projects\app\config.yaml"], preview_lines=50)
Duplicate filenames in Documentseverything_search(query='dupe: path:"C:\Users\me\Documents"')
Images larger than 5MBeverything_search(query="ext:jpg;png;gif size:>5mb")

Troubleshooting

"es.exe not found" - Install Everything and es.exe, or set EVERYTHING_ES_PATH.

"Everything IPC window not found" - Make sure Everything is running (check the system tray). If you set EVERYTHING_INSTANCE, try removing it - most installs don't need it. Everything Lite doesn't support IPC.

No results for valid queries - Confirm Everything's index has finished building, try the same query in Everything's GUI, and check the drive/path is included in Everything's index settings.

Debugging:

bash
everything-mcp 2>everything-mcp.log                        # server logsnpx @modelcontextprotocol/inspector uvx everything-mcp      # MCP Inspector

Development

bash
pip install -e ".[dev]"   # install with dev dependenciespytest                    # run testsruff check src/ tests/    # lint

Contributions welcome - see CLAUDE.md for the architecture and design decisions. Areas of interest: direct named-pipe IPC, Everything SDK3 for 1.5, content search, file-watching, bookmark/tag support.

License

MIT - see LICENSE

Acknowledgments

voidtools for Everything, Anthropic for the Model Context Protocol, and the MCP community.

来源:README.md,提交 22a60bd

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

4
  1. v1.0.9最新Sep 25, 2026
  2. v1.0.8Sep 23, 2026
  3. v1.0.7Sep 23, 2026
  4. v1.0.6Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分