Everything MCP Server について
Everything MCP Server は、Windows 上の MCP クライアントに Everything のファイル検索機能を提供します。条件付きファイル名検索、重複ファイルの検索、内容検索に対応し、アクセスは読み取り専用です。
主な機能
- 01高速なファイル名検索
- 02パス・種類・サイズ・日付による絞り込み
- 03同名ファイルの検索
- 04インデックス済みファイルの内容検索
- 05読み取り専用アクセス
活用シーン
- 01名前や条件を指定したファイル検索
- 02同名ファイルの特定
- 03インデックス済み文書内のテキスト検索
MCP 対応
Everything のネイティブ SDK を利用し、ファイル検索、詳細な絞り込み、重複検索、内容検索のツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Everything MCP Server
Everything のネイティブ SDK を使用して、すぐにファイルを検索できる機能を提供する Model Context Protocol(MCP)サーバーです。このサーバーは、Everything の強力な検索エンジンと AI ツールを統合し、MCP インターフェースを通じてファイルシステムを高速に検索できます。
特長
- 🔍 ファイルを即座に検索:Everything の即時インデックス作成を活用し、ほぼ瞬時にファイルを検索します
- 🎯 高度なフィルタリング:パス、拡張子、サイズ、更新日などで検索します
- 🔄 重複検出:システム内の重複ファイルを検索します
- 📄 コンテンツ検索:ファイルの内容を検索します(Everything のコンテンツインデックス作成が必要です)
- ⚡ 高性能:ネイティブ SDK との統合による直接 API アクセス
- 🛡️ 読み取り専用:安全で、ファイルシステムを変更しないアクセス
提供するツール
1. search_files
正規表現と大文字・小文字の区別を指定できる基本的なファイル検索です。
パラメーター:
query(string):ファイル名の検索クエリmaxResults(number、optional):返す結果の最大数(デフォルト:100)matchCase(boolean、optional):大文字と小文字を区別する検索を有効にしますmatchWholeWord(boolean、optional):単語全体のみに一致させますregex(boolean、optional):正規表現検索を有効にします
2. search_files_advanced
包括的なフィルタリングオプションを備えた高度な検索です。
パラメーター:
query(string):ファイル名の検索クエリpath(string、optional):検索対象を特定のパスに限定しますextension(string、optional):ファイル拡張子でフィルタリングします(例:'txt'、'pdf')size(string、optional):ファイルサイズでフィルタリングします(例:'>1mb'、'<100kb'、'1gb..2gb')dateModified(string、optional):更新日でフィルタリングします(例:'today'、'yesterday'、'thisweek'、'2024')maxResults(number、optional):返す結果の最大数(デフォルト:100)matchCase(boolean、optional):大文字と小文字を区別する検索を有効にしますmatchWholeWord(boolean、optional):単語全体のみに一致させますregex(boolean、optional):正規表現検索を有効にしますsortBy(enum、optional):フィールドで結果を並べ替えます(name_asc、name_desc、path_asc、path_desc、size_asc、size_desc、date_asc、date_desc)
3. find_duplicates
ファイル名で重複ファイルを検索します。
パラメーター:
filename(string):重複を検索するファイル名path(string、optional):検索対象を特定のパスに限定しますmaxResults(number、optional):返す結果の最大数(デフォルト:50)
4. search_content
ファイル内のテキストコンテンツを検索します。
パラメーター:
content(string):ファイル内で検索するテキストコンテンツfileTypes(string、optional):対象を特定のファイル形式に限定します(例:'txt;doc;pdf')path(string、optional):検索対象を特定のパスに限定しますmaxResults(number、optional):返す結果の最大数(デフォルト:50)
前提条件
-
Everything アプリケーション:インストールされ、実行されている必要があります
- ダウンロード先:https://www.voidtools.com/
- API にアクセスできるよう、バックグラウンドで実行されていることを確認してください
-
Node.js:ES モジュールをサポートするバージョン 18 以降
-
Windows OS:Everything SDK との互換性のために必要です
インストール
- リポジトリをクローンします:
git clone https://github.com/peterparker57/everything-mcp-server.git
cd everything-mcp-server
- 依存関係をインストールします:
npm install
- プロジェクトをビルドします:
npm run build
設定
MCP 設定ファイルにサーバーを追加します:
{
"mcpServers": {
"everything": {
"command": "C:\\Program Files\\nodejs\\node.exe",
"args": ["path/to/everything-mcp-server/build/index.js"],
"disabled": false,
"env": {},
"alwaysAllow": [
"search_files",
"search_files_advanced",
"find_duplicates",
"search_content"
]
}
}
}
使用例
基本的なファイル検索
Search for: "msbuild.exe"
Options: Case sensitive, max 50 results
フィルターを使った高度な検索
Query: "*.pdf"
Path: "C:\\Documents"
Size: ">1mb"
Date Modified: "thisweek"
Sort: "size_desc"
重複ファイルの検索
Filename: "config.json"
Path: "C:\\Projects" (optional)
コンテンツ検索
Content: "function main"
File Types: "js;ts;py"
Path: "C:\\Code" (optional)
アーキテクチャ
技術スタック
- 言語:TypeScript
- フレームワーク:MCP SDK (@modelcontextprotocol/sdk)
- FFI ライブラリ:koffi(ネイティブ DLL 統合用)
- モジュールシステム:ES モジュール
- 対象:Everything SDK(Windows 用ファイル検索ユーティリティ)
主要コンポーネント
- メインサーバー(
src/index.ts):コアとなる MCP サーバーの実装 - Everything SDK:ファイル検索用のネイティブ Windows DLL
- ビルドシステム:TypeScript を ES モジュールにコンパイルします
- 設定:ES モジュールに対応した Package.json
開発
ビルド
npm run build
テスト
サーバーを直接起動してテストします:
node build/index.js
プロジェクト構成
everything-mcp-server/
├── src/
│ └── index.ts # Main server implementation
├── EverythingSDK/ # Everything native SDK files
│ └── dll/
│ ├── Everything32.dll
│ └── Everything64.dll
├── build/ # Compiled JavaScript output
├── package.json # Project configuration
├── tsconfig.json # TypeScript configuration
└── README.md # This file
トラブルシューティング
「Everything 検索クライアントが実行されていません」
- Everything アプリケーションを起動してください
- サービスなしのポータブルモードで実行されていないことを確認してください
MCP エラー「Connection closed」
- ビルドディレクトリが存在し、index.js が含まれていることを確認してください
- MCP 設定の Node.js パスを確認してください
- Everything アプリケーションが実行中であることを確認してください
ES モジュールエラー
- package.json に
"type": "module"があることを確認してください - import 文で .js 拡張子が使われていることを確認してください
- koffi がデフォルトエクスポートとしてインポートされていることを確認してください
パフォーマンスに関する注意事項
- Everything はファイルを即座にインデックス化するため、検索はほぼ瞬時に完了します
- コンテンツ検索には、Everything でコンテンツのインデックス作成を有効にする必要があります
- 大量の検索結果は自動的に制限されます(制限はツールごとに設定可能です)
- API に直接アクセスすると、コマンドラインインターフェイスよりも優れたパフォーマンスが得られます
セキュリティに関する考慮事項
- サーバーは Everything を介して、読み取り専用のファイルシステムアクセスを提供します
- ファイルを変更する機能はありません
- Everything 独自のセキュリティ設定とインデックス設定に従います
- コンテンツ検索の対象は、Everything がインデックス化したファイルに限られます
貢献
- リポジトリをフォークします
- 機能ブランチを作成します(
git checkout -b feature/amazing-feature) - 変更をコミットします(
git commit -m 'Add some amazing feature') - ブランチにプッシュします(
git push origin feature/amazing-feature) - Pull Request を作成します
ライセンス
このプロジェクトは MIT License のもとでライセンスされています。詳細は LICENSE ファイルを参照してください。
謝辞
- 優れたファイル検索ユーティリティを提供する voidtools の Everything
- MCP フレームワークを提供する Model Context Protocol
- 優れた FFI ライブラリを提供する koffi
関連プロジェクト
- MCP SDK - Model Context Protocol 用 TypeScript SDK
- Everything - このサーバーが連携するファイル検索ユーティリティ
注:これは Windows 専用の MCP サーバーで、Everything アプリケーションがインストールされ、実行されている必要があります。クロスプラットフォームのファイル検索ソリューションをお探しの場合は、ほかの MCP サーバーやファイル検索ツールをご検討ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。