Everything File Search について
Everything File Search は、MCP サーバーを介して AI エージェントを voidtools Everything の Windows ファイルインデックスに接続します。5 つのツールで、クエリ検索、種類や更新時期による検索、ファイル情報の確認、件数・サイズの集計ができます。
主な機能
- 01Everything クエリ検索
- 02ファイル種類別検索
- 03最近変更されたファイルの検索
- 04メタデータとテキストプレビューの確認
- 05件数とサイズの集計
活用シーン
- 01名前や種類でプロジェクトファイルを検索
- 02期間内に変更されたファイルを特定
- 03ファイルのメタデータと内容を確認
- 04ファイル件数と使用容量を見積もる
MCP 対応
このサーバーは `es.exe` で voidtools Everything を検索し、MCP クライアントに 5 つのツールを提供します。実行ファイルと Everything 1.5 のインスタンスを自動検出できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
5掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| params | any | はい |
詳細
⚡ Everything MCP
voidtools Everything 用の MCP サーバー - 数百万件の Windows ファイルを、あらゆる AI エージェントからミリ秒単位で検索できます。
クイックスタート
/plugin marketplace add elis132/everything-mcp
/plugin install everything-mcp@everything-mcp
Claude Code の場合はこれだけです。このプラグインには MCP サーバーと、クエリ構文を教えるスキルが同梱されています。その他のクライアントについては、以下のインストールを参照してください。
これが選ばれる理由
| everything-mcp(これ) | mamertofabian(342⭐) | Josephur(26⭐) | essovius | |
|---|---|---|---|---|
| ツール | 5 | 1 | 1 | 16 |
| セットアップ | es.exe を自動検出 | SDK DLL のパスを手動設定 | HTTP サーバー + ホスト/ポートを手動設定 | PATH 内の es.exe を手動設定 |
| Everything 1.5 | インスタンスを自動検出 | 非対応 | 未検証 | フラグを手動設定 |
| Everything との通信方法 | es.exe サブプロセス | Everything SDK(DLL) | Everything の HTTP サーバープラグイン(認証なし) | es.exe サブプロセス |
| テスト / CI | pytest、GitHub Actions | 確認できるものはなし | 確認できるものはなし | 確認できるものはなし |
パフォーマンス
es.exe(Everything のリアルタイム NTFS インデックス)と、単純なファイルシステム走査を同じクエリで比較:
- everything-mcp: 平均 220 ミリ秒(5 回実行)
C:\の単純な走査: 66,539 ミリ秒- 約 300 倍高速
このベンチマークを再現する
@'
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 -
インストール
前提条件
- Everything がインストールされ、実行中の Windows
- es.exe(Everything のコマンドラインインターフェース) - Everything 1.5 alpha に同梱されています。または個別にインストールします:
winget install voidtools.Everything.Cliscoop install everything-clichoco install es- または github.com/voidtools/es からダウンロードして PATH に配置します
- Python 3.10+ または uv
サーバーを実行する
uvx everything-mcp # recommended, no install needed
pip install everything-mcp # or via pip
ソースから:
git clone https://github.com/elis132/everything-mcp.git
cd everything-mcp && pip install -e ".[dev]"
クライアントに追加する
以下のすべてのクライアントは、同じ MCP サーバー定義を使用します:
{
"mcpServers": {
"everything": {
"command": "uvx",
"args": ["everything-mcp"]
}
}
}
| クライアント | 追加方法 |
|---|---|
| Claude Code | /plugin install everything-mcp@everything-mcp(クイックスタートを参照)、または claude mcp add everything -- uvx everything-mcp |
| Claude Desktop | 上記の JSON を %APPDATA%\Claude\claude_desktop_config.json に貼り付けます |
| Codex CLI | codex mcp add everything -- uvx everything-mcp |
| Gemini CLI | gemini mcp add -s user everything uvx everything-mcp |
| Kimi CLI | kimi mcp add --transport stdio everything -- uvx everything-mcp |
| Qwen CLI | qwen mcp add -s user everything uvx everything-mcp |
| Cursor | 上記の JSON を Cursor の MCP 設定 UI に貼り付けます |
| Windsurf | 上記の JSON を %USERPROFILE%\.codeium\windsurf\mcp_config.json に貼り付けます |
| その他の MCP クライアント | 上記の JSON をそのまま使用します |
uvx の代わりに pip を使用する
{ "mcpServers": { "everything": { "command": "everything-mcp" } } }
または Python を明示的に指定: {"command": "python", "args": ["-m", "everything_mcp"]}
Everything MCP はセットアップを自動検出しますが、上書きすることもできます:
| 変数 | 説明 | 例 |
|---|---|---|
EVERYTHING_ES_PATH | es.exe へのパス | C:\Program Files\Everything\es.exe |
EVERYTHING_INSTANCE | 名前付き Everything インスタンス | 1.5a |
EVERYTHING_MAX_RESULTS_CAP | 検索ごとの結果数の上限(デフォルト 1000) | 200 |
Everything で名前付きインスタンスを明示的に構成した場合にのみ
EVERYTHING_INSTANCEを設定してください(ツール → オプション → 全般 → インスタンス)。ほとんどのインストール - ほとんどの Everything 1.5 のインストールを含む - は デフォルト インスタンスで動作します。 これを不必要に設定すると接続が壊れます。迷ったら設定しないでください。
{
"mcpServers": {
"everything": {
"command": "uvx",
"args": ["everything-mcp"],
"env": { "EVERYTHING_INSTANCE": "1.5a" }
}
}
}
ツール
1. everything_search - 主力ツール
| パラメータ | デフォルト | 説明 |
|---|---|---|
query | (必須) | Everything 検索クエリ |
max_results | 50 | 1〜500 |
sort | date-modified-desc | name、path、size、date-modified、date-created、extension(+ -desc バリアント)。date-created には Everything で「作成日時のインデックス作成」が必要 |
match_case / match_whole_word / match_regex / match_path | false | マッチ修飾子 |
offset | 0 | ページネーションのオフセット |
クエリ構文:
*.py all Python files
ext:py;js;ts multiple extensions
ext:py path:C:\Projects Python files under a path
size:>10mb larger than 10 MB
size:1kb..1mb between 1 KB and 1 MB
dm:today / dm:last7days modified today / in the last 7 days
path:D:\Photos dc:2024 created in 2024 (slow function, see below)
"exact name.txt" exact filename match
project1 | project2 OR search
!node_modules exclude a term
ext:py path:C:\proj content:TODO files containing TODO (slow function, see below)
regex:^test_.*\.py$ regex search
parent:src ext:py files directly inside 'src' folders
dupe: / empty: duplicate filenames / empty folders
低速な関数。 content:、width:/height:、音楽タグ(artist:、album: など)、そして
それらのプロパティがインデックス化されていない場合(Everything > ツール > オプション > インデックス)は dc:、da:、attrib:(および
これらのインデックス作成をオフにした場合は dm:/size:)は、Everything にすべての候補ファイルをディスクから読み取らせます -
そして Everything はそれが完了するまで他の検索に応答しません。そのため、Everything 1.4 では、サーバーはこれらの条件を最後に実行し、
クエリの残りの部分で候補が十分に絞り込まれた場合にのみ実行します(content: の場合は 1,000 ファイルと 100 MB、画像およびタグ関数の場合は 1,000 ファイル、
日付、属性、サイズの場合は 30,000)。そうでない場合は拒否し、候補数を報告するので、path:、ext:、または名前を追加してください。
2. everything_search_by_type - カテゴリ別検索
カテゴリ: audio、video、image、document、code、archive、executable、font、3d、data
パラメータ: file_type (必須)、query、path、max_results、sort
3. everything_find_recent - 何が変わった?
期間: 1min … 12hours、today、yesterday、1day … 1year
パラメータ: period(デフォルト 1hour)、path、extensions、query、max_results
4. everything_file_details - 詳細な検査
パラメータ: paths (必須、1〜20)、preview_lines(0〜200)
完全なメタデータを返します。ディレクトリの場合はアイテム数と一覧、プレビュー付きのテキストファイルの場合は最初の N 行を返します。
5. everything_count_stats - クイック分析
パラメータ: query (必須)、include_size(デフォルト true)、breakdown_by_extension
すべてのファイルを列挙せずに件数とサイズの統計を取得します - 大きな検索の前に範囲を確認できます。
例
| 質問 | 呼び出し |
|---|---|
| 今日プロジェクト内で変更された Python ファイル | everything_find_recent(period="today", extensions="py", path="C:\Projects\myapp") |
| ログファイルが使用している容量は? | everything_count_stats(query="ext:log", include_size=true, breakdown_by_extension=true) |
| 設定ファイルの最初の 50 行 | everything_file_details(paths=["C:\Projects\app\config.yaml"], preview_lines=50) |
| ドキュメント内の重複ファイル名 | everything_search(query='dupe: path:"C:\Users\me\Documents"') |
| 5MB を超える画像 | everything_search(query="ext:jpg;png;gif size:>5mb") |
トラブルシューティング
「es.exe not found」 - Everything と es.exe をインストールするか、EVERYTHING_ES_PATH を設定してください。
「Everything IPC window not found」 - Everything が実行中であることを確認してください (システムトレイを確認してください)。EVERYTHING_INSTANCE を設定している場合は、削除してみてください - ほとんどのインストールでは必要ありません。Everything Lite は IPC をサポートしていません。
有効なクエリで結果が返らない - Everything のインデックス構築が完了していることを確認し、Everything の GUI で同じクエリを試し、ドライブ/パスが Everything のインデックス設定に含まれているか確認してください。
デバッグ:
everything-mcp 2>everything-mcp.log # server logs
npx @modelcontextprotocol/inspector uvx everything-mcp # MCP Inspector
開発
pip install -e ".[dev]" # install with dev dependencies
pytest # run tests
ruff check src/ tests/ # lint
コントリビューションを歓迎します - アーキテクチャと設計上の決定については CLAUDE.md を参照してください。関心のある領域: 名前付きパイプによる直接 IPC、1.5 向けの Everything SDK3、コンテンツ検索、ファイル監視、ブックマーク/タグのサポート。
ライセンス
MIT - LICENSE を参照してください
謝辞
Everything を提供する voidtools、Model Context Protocol を提供する Anthropic、そして MCP コミュニティに感謝します。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。