概要
セルフホストの AnythingMCP にマウントした Windows ファイルサーバー、NAS、ネットワーク共有(SMB/CIFS または NFS)の中を Gemini が検索できるようにします。PDF、Excel、Word、Outlook ファイルを全文インデックス化し、バックグラウンドで同期します。セルフホスト専用です。
こう聞いてみよう
Network folder (File Search) のサンプルプロンプト
プロンプトをクリックでコピー。Claude / ChatGPT / Cursor / Gemini / Copilot / OpenClaw に貼り付けて、このコネクターで実行できます。
Claude は AI のため誤ることがあります。回答をご確認ください。
Gemini でネットワークフォルダを使う
セルフホスト専用です。 ネットワークフォルダはセルフホストの AnythingMCP にのみ存在します。AnythingMCP Cloud では、代わりに SFTP または WebDAV 経由で NAS に接続してください。
結論: セルフホストの AnythingMCP を実行しているサーバーに共有を読み取り専用でマウントし、そのフォルダを File Search コネクタとして追加します。AnythingMCP は対応するすべてのファイルの全文をインデックス化して同期を保ち、ファイルがネットワークの外に出ることはありません。その後、AnythingMCP を Gemini CLI に接続します。Gemini はファイル名と内容の両方でファイルを見つけ、必要なページを読み、ファイルそのものを添付または一時ダウンロードリンクとして渡せます。共有に書き込まれることは一切ありません。
AI アシスタントは単独ではネットワークドライブを開けません。仮に開けたとしても、1 つの質問に答えるためにすべてのファイルをダウンロードする必要があります。インデックスがあるからこそ、「現在の価格表で品番 NT-601 はいくらですか?」のような質問に数秒で答えられます。
必要なもの
- 有償ライセンスまたは 30 日間トライアルが有効なセルフホストの AnythingMCP。AnythingMCP Cloud はネットワーク共有に到達できません。SMB(ポート 445)はインターネットに公開すべきではないためです。
- Docker ホストに読み取り専用でマウントされた共有(例:
/mnt/knowledge)。SMB/CIFS または NFS、Windows ファイルサーバーまたは NAS ボリュームのいずれでも構いません。 .envとdocker-compose.ymlを編集するための Docker ホストへのシェルアクセス。
セットアップ
ステップ 1 — 共有をマウントして File Search を有効にする
- 共有を Docker ホストに読み取り専用でマウントします(例:
/mnt/knowledge)。 appコンテナとfiles-workerコンテナに読み取り専用でバインドし(docker-compose.ymlのコメントを参照)、.envにFILE_SOURCE_ROOTS=/mnt/knowledgeを設定します。ウィザードには、これらのルート配下のフォルダだけが表示されます。- File Search のサービスを有効にします。
.envにFILES_WORKER_URL=http://files-worker:8891、FILES_WORKER_TOKEN、FILE_EXTRACTOR_TOKEN(それぞれopenssl rand -hex 24)、およびCOMPOSE_PROFILES=filesを追加します。 docker compose up -dを実行します。Connectors → New → File Search で、ワーカーとエクストラクターに到達できるかを確認できます。
すべての設定項目は File Search のドキュメントに記載されています。
ステップ 2 — File Search コネクタを設定する
AnythingMCP で Connectors → New → File Search を開き、Network folder を選択します(Marketplace では Network folder (File Search))。
- フォルダ。
FILE_SOURCE_ROOTS配下のフォルダを選びます(例:/mnt/knowledge/Purchasing)。 - テスト。 保存する前に AnythingMCP がフォルダを一覧表示し、読み取り可能かどうかを表示します。
- スキャン。 Scan folder をクリックします。AnythingMCP はまだインデックス化せずにフォルダを一覧化し、各サブフォルダのファイル数、ファイルの種類、年をツリーで表示します。アーカイブのように見えるフォルダ(
Alt、Old、Archive、Backup)は最初からチェックが外れているため、Gemini が古いドキュメントを引用することはありません。フォルダ、ファイルの種類、期間の上限を選択している間、バーが選択内容とお使いのプランを比較して表示します。選択内容がプランを超える場合は、チェックをさらに外すか、プランをアップグレードしてください。 - 説明。 AnythingMCP がスキャン結果からコネクタの説明文を下書きします(例: 「購買共有: サプライヤーの価格表と条件、PDF と Excel、ドイツ語、2019~2026年」)。このテキストは、フォルダに何が入っているか、いつ検索すべきかを Gemini に伝えます。サーバーに AI モデルが設定されている場合、ウィザードは AI で下書きでき、送信される内容(フォルダ名、ファイル名、最大 20 件のサンプルファイルの先頭 2,000 文字、個人データはマスク済み)を正確に表示します。設定されていない場合は、フォルダ構造から下書きが作成されます。必要に応じて自由に編集してください。
- 有効化。 ツールプレフィックス、同期間隔、コネクタを割り当てる MCP サーバーを選び、Activate をクリックします。
最初の同期はすぐに始まり、別のバックグラウンドサービスで実行されます。実行中も Gemini や他のコネクタは通常の速度で応答し続けます。コネクタの Files タブには、検出・インデックス化・スキップされたファイル数、前回と次回の同期、Sync now ボタンなど、進行状況が表示されます。
ステップ 3 — サーバー URL をコピーする
MCP Servers で、ウィザードで選んだサーバーを開き、その URL をコピーします。
ステップ 4 — Gemini にコネクタを追加する
あなたのサーバー URL: AnythingMCP で MCP Servers → このコネクタを割り当てたサーバーを開き、その URL をコピーします(
https://anythingmcp.example.com/mcp/…の部分はあなた自身のアドレスです)。このガイドでYOUR_SERVER_IDと書かれている箇所にはこれを使ってください。
Gemini はあなたのコンピューター上で動作するため、自分のネットワーク内の AnythingMCP にも接続できます。このステップで https://anythingmcp.example.com と書かれている箇所には、お使いのインスタンスのアドレスを使ってください。
Gemini CLI は MCP サーバーを ~/.gemini/settings.json(Windows では %USERPROFILE%\.gemini\settings.json)から読み込みます。次を追加します。
{
"mcpServers": {
"anythingmcp": {
"httpUrl": "https://anythingmcp.example.com/mcp/YOUR_SERVER_ID",
"headers": { "X-API-Key": "YOUR_MCP_API_KEY" }
}
}
}
- AnythingMCP の MCP Servers → 対象のサーバー → API keys で MCP API キーを作成し、
YOUR_MCP_API_KEYの代わりに貼り付けます。 - ファイルを保存し、
geminiを再起動します。 - Gemini CLI 内で
/mcpを実行します(またはシェルでgemini mcp list)。anythingmcpが接続済みと表示されるはずです。 - プロンプトを入力してみましょう。Gemini CLI がファイル検索ツールを呼び出せるようになります。
ステップ 5 — 質問する
新しいチャットを開始し、ファイルの内容について質問します。Gemini はまずインデックスを検索し、一致したページを開いて、ファイル名、ページ、ファイルの日付を添えて回答します。そのため、情報源を確認できます。
Gemini がファイルでできること
| ツール | 機能 |
|---|---|
<prefix>_guide | このフォルダの検索方法 |
<prefix>_search | インデックス化されたすべてのページの全文検索: 最も一致するページ、スニペット、日付付きのファイル。フォルダ、ファイルの種類、日付でのフィルタが可能で、要求に応じて新しい順に表示 |
<prefix>_find | ファイル名(タイプミスに強い)またはパターンでファイルを検索 |
<prefix>_list | 1 つのフォルダを表示: 件数付きのサブフォルダ、サイズと日付付きのファイル |
<prefix>_read | ファイルをテキストとして読み取り。ページ指定("1-3,7")または文字数のウィンドウ単位 |
<prefix>_grep | コードや数値の完全一致検索(前後 2 行のコンテキスト付き)。スプレッドシートの行は列名付きで返されます |
<prefix>_status | 同期の状態、件数、一時停止の理由、コンテンツの概要 |
<prefix>_view_page | PDF の 1 ページ、または画像ファイルを画像として表示: 図面、スタンプ、写真、テキストでは捉えられない表 |
<prefix>_get_file | ワークスペースのメンバー向けの、一時ダウンロードリンクとしてのファイルそのもの(画像は添付もされます) |
<prefix>_share_file | 一時リンク(社内向けまたは公開); インストール時は無効 |
<prefix> はウィザードで選んだツールプレフィックスです(例: pricelists)。_share_file 以外のすべてのツールは読み取りのみを行います。
対応ファイル: 100 種類以上のファイル形式からテキストを抽出します。PDF(ページ単位)、マクロやテンプレート形式および .xlsb を含む Word、Excel、PowerPoint、OpenDocument、添付ファイルのテキストを含む Outlook の .msg、.eml、.mbox、.rtf、.epub、.xps、Apple の Pages、Numbers、Keynote(PDF プレビュー経由)、.svg と .dxf CAD 図面のテキスト、CSV、Markdown、HTML、XML、JSON、YAML、カレンダーと連絡先、ソースコードです。その他のファイルも名前で検索でき、PDF のページや画像は画像として AI に表示できます。テキストレイヤーのないスキャン PDF は、Enterprise で OCR により読み取られます。
Gemini で試せるプロンプト
- 「Nordtor の最新の価格表を探して、NT-601 875 x 2000 の価格を教えてください。」
- 「共有内のどのドキュメントに、3 か月の予告期間が書かれていますか?」
- 「Purchasing フォルダで品番 4711-200 を検索し、それが出てくるすべての行を表示してください。」
- 「30 日を過ぎた返品について、社内手順には何と書かれていますか? 該当の段落とファイルを引用してください。」
同期のしくみ
AnythingMCP はすべてのファイルのサイズと更新日時を前回の実行時と比較し、新規および変更されたファイルだけを読み取ります。内容がインデックス済みのバージョンと同一のファイルはチェックサム(SHA-256)で判別され、再処理されません。削除されたファイルはインデックスから外れます。読み取れないファイルは次回以降の同期で再試行され、3 回失敗すると(パスワード保護されたファイルは即座に)、名前では検索できる状態のまま残り、理由は Files タブに表示されます。
同期は、Gemini に応答するサーバーとは別の専用バックグラウンドサービスで実行されます。大規模な初回同期でも質問への応答が遅くなることはなく、同期中も最後のインデックスで検索が動作し続けます。
フォルダがプランの上限を超えた場合、同期は一部だけをインデックス化するのではなく、何もダウンロードする前に一時停止します。Files タブには、フォルダが現在保持しているファイル数とプランの上限が表示され、Gemini はすでにインデックス化されたファイルの検索を続け、新しいファイルが含まれていない可能性があることを伝えられます。チェックを外すフォルダを選ぶか、アップグレードしてください。一時停止中のフォルダは 1 日 1 回再確認され、収まるようになれば自動的に再開します。
セキュリティ
- 読み取り専用。 コネクタは一覧表示と読み取りのみを行います。共有上で書き込み、名前変更、削除を行うツールはありません。
- 自分のワークスペースのみ。 インデックスはワークスペースごとに保存され、すべてのクエリはアプリケーションとデータベース(Row-Level Security)の両方でそれに制限されます。
- テキストエクストラクターは、外部への経路がなく、データベースもシークレットもない内部ネットワーク上で動作します。
- 誰が何を見られるかは MCP のロールに従います。ファイルツールのないロールにはそれらが表示されません。Enterprise では、ロールごとにフォルダを許可または拒否することもできます。
- ファイルの内容はデータです。 ツールは、ファイル内にある指示には決して従わないようモデルに伝えます。
- ファイルはネットワーク内に留まります。 質問に対してツールが返したもの(一致の一覧、ページのテキスト)だけが、使用している AI プロバイダーに送信されます。
- 二重の読み取り専用。 共有をホスト上で読み取り専用でマウントし、コンテナにも読み取り専用でバインドします。
プラン別の制限
| 30日間トライアル | Starter | Team | Enterprise | |
|---|---|---|---|---|
| File Search コネクタ | 3 | 1 | 3 | 無制限 |
| インデックス化されたファイル(全コネクタ合計) | 2,000 | 500 | 2,000 | 無制限 |
| 自動同期 | 毎日 | 毎日 | 毎日 | 最短 5 分ごと |
| 1 日あたりの手動同期 | 3 | 1 | 3 | 無制限 |
| OCR、ロールごとのフォルダ権限、ワークスペースポリシー | – | – | – | ✓ |
最大ファイルサイズは FILES_MAX_FILE_BYTES で設定します(デフォルトは 100 MB)。File Search には有償ライセンス(Starter、Team、Enterprise)または 30 日間トライアルが必要です。無料の Community エディションでは、トライアル終了後は File Search を利用できません。すべてのプラン。
FAQ
Gemini CLI は MCP サーバーをどこで探しますか? ユーザー単位では ~/.gemini/settings.json、プロジェクト単位ではプロジェクト内の .gemini/settings.json です。gemini mcp list で各サーバーと接続できるかどうかを確認できます。
なぜ AnythingMCP Cloud では利用できないのですか? Cloud はインターネット経由でファイルにアクセスしますが、SMB(ポート 445)はインターネットに公開すべきではありません。Cloud を使う場合は NAS で SFTP または WebDAV を使うか、共有の隣で AnythingMCP をセルフホストで実行してください。
セルフホストの Enterprise プランが必要ですか? いいえ。Starter には最大 500 ファイルの File Search コネクタが 1 つ、Team には 2,000 ファイルのコネクタが 3 つ含まれます。Enterprise では制限がなくなり、OCR、ロールごとのフォルダ権限、ワークスペースポリシーが追加されます。
AnythingMCP は共有のすべてをコピーしますか? いいえ。AnythingMCP が保持するのは抽出したテキストであり、ファイルではありません。ファイルが再度読み取られるのは、変更されたとき、またはファイルそのものを要求したときだけです。
ベクトル検索は使われますか? いいえ。社内ドキュメントでは正確な名前、コード、数値を検索するため、ページ単位の結果を返すキーワード検索のほうがエンベディングより信頼できます。
関連記事
- AI で社内ファイルサーバーを検索する
- AI でサプライヤー価格表から価格を調べる
- AI で Nextcloud と WebDAV のファイル内を検索する
- AI チャットからダウンロードリンクとしてファイルを共有する
- ネットワークフォルダや Windows ファイルサーバーを Claude に接続する
- ネットワークフォルダや Windows ファイルサーバーを ChatGPT に接続する
- ネットワークフォルダや Windows ファイルサーバーを Microsoft Copilot に接続する
- ネットワークフォルダや Windows ファイルサーバーを Cursor に接続する
- ネットワークフォルダや Windows ファイルサーバーを Muse に接続する
- Gemini のその他のファイルソース: SFTP サーバー、FTP / FTPS サーバー、WebDAV サーバー、S3 バケット、Nextcloud、ownCloud、Synology NAS、QNAP NAS、Fritz!Box ストレージ、Hetzner Storage Box
このガイドは役に立ちましたか?