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 分