Multi-File Reader MCP Server について
Multi-File Reader MCP Server は、FastMCP で構築されたバルクのファイル・フォルダー操作ツールを提供するサーバーで、ファイルシステム操作の例外処理を一元化しています。このプロジェクトはアーカイブ済みで、READMEでは py-mcp-collection 内の新しいバージョンが案内されています。
主な機能
- 01登録済みツールの一括呼び出し
- 02ファイルの読み取り、作成、追記、消去、移動、削除
- 03フォルダーの作成、一覧、全内容読み取り、移動、削除、空化
- 04環境変数による個別ファイル・フォルダーツールの無効化
活用シーン
- 011 回のリクエストで多数のファイルの内容を読み取り
- 02ファイル操作をまとめてツール呼び出し回数を削減
MCP 対応
このサーバーは FastMCP 上で動作し、ファイルとフォルダーのツールおよび call_tool_bulk、call_tools_bulk を MCP クライアントに公開します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
!! このプロジェクトはアーカイブされています。最新版については https://github.com/strawgate/py-mcp-collection/tree/main/filesystem-operations-mcp をご覧ください。
一括ファイルシステム操作 MCP サーバー
このプロジェクトでは、一括でファイルやフォルダーを操作するためのツールを提供する FastMCP サーバーを提供します。ファイルシステム操作に対する例外処理も一元化されています。
利用可能なツール
サーバーでは、機能別に分類された以下のツールを提供しています。
-
call_tool_bulk:この MCP サーバーに登録された単一のツールを、1 回のリクエストで複数回呼び出します。個別に複数のツール呼び出しを行う場合と比べて、処理を高速化できます。 -
call_tools_bulk:この MCP サーバーに登録された複数のツールを、1 回のリクエストで呼び出します。呼び出しごとに異なるツールを指定でき、それぞれに異なる引数を渡すこともできます。個別に複数のツール呼び出しを行う場合と比べて、処理を高速化できます。
FastMCP サーバーに一括操作ツールを追加するには、https://github.com/jlowin/fastmcp/pull/215 をご覧ください。
ファイル操作ツール(file サーバー)
これらのツールは、file サーバーの名前空間で利用できます。
read:指定したパスにあるファイルの内容を読み取りますcreate:指定した内容でファイルを作成しますappend:既存のファイルに内容を追加しますerase:ファイルの内容を消去しますmove:ファイルを移動元から移動先へ移動しますdelete:指定したパスにあるファイルを削除します
フォルダー操作ツール(folder サーバー)
これらのツールは、folder サーバーの名前空間で利用できます。
create:指定したパスにフォルダーを作成しますread_all:フォルダー内のすべてのファイルの内容を返します(再帰的な読み取りも可能)。処理に時間がかかる場合があります!list:フォルダーの内容を一覧表示します(再帰的な表示も可能)move:フォルダーを移動元から移動先へ移動しますdelete:指定したパスにあるフォルダーを削除しますempty:フォルダー内のすべての内容を削除して、空にします
ツールの無効化
無効にするツール名を配列で DISABLE_FILE_TOOLS に設定すると、特定のファイルツールを無効にできます。たとえば、file_read ツールを無効にするには、DISABLE_FILE_TOOLS=["file_read"] と設定します。
無効にするツール名を配列で DISABLE_FOLDER_TOOLS に設定すると、特定のフォルダーツールを無効にできます。たとえば、folder_create ツールを無効にするには、DISABLE_FOLDER_TOOLS=["folder_create"] と設定します。
現在、一括操作ツールは無効にできません。
VS Code McpServer の使用方法
- コマンドパレットを開きます(Ctrl+Shift+P または Cmd+Shift+P)。
- 「Settings」と入力し、「Preferences: Open User Settings (JSON)」を選択します。
- 次の MCP サーバー設定を追加します
{
"mcp": {
"servers": {
"Filesystem Operations": {
"command": "uvx",
"args": [
"https://github.com/strawgate/mcp-many-files.git"
]
}
}
}
}
Roo Code / Cline McpServer の使用方法
次の内容を McpServer 設定に追加します。確認なしで使用するツールを AlwaysAllow リストに追加してください。
"Filesystem Operations": {
"command": "uvx",
"args": [
"https://github.com/strawgate/mcp-many-files.git"
],
"alwaysAllow": [
"file_read",
"file_create",
"file_append",
"file_erase",
"file_move",
"file_delete",
"folder_create",
"folder_contents",
"folder_move",
"folder_delete",
"folder_empty",
"call_tool_bulk",
"call_tools_bulk"
]
},
開発
- リポジトリをクローンします:
# 実際のリポジトリ URL に置き換えてください git clone https://github.com/strawgate/filesystem-operations-mcp.git cd filesystem-operations-mcp - 仮想環境を作成し、依存関係をインストールします:
uv venv source .venv/bin/activate uv sync --extra dev - テスト用にサーバーをローカルで実行します:
python -m filesystem-operations-mcp.server # またはインストール済みのスクリプトを使用 filesystem-operations-mcp
VS Code の組み込みデバッグ起動設定を使ってデバッグすることもできます。MCP クライアントからこのローカルサーバーに接続するには、次の MCP サーバー設定を使用してください:
"filesystem_operations_mcp": {
"url": "http://localhost:8000/sse",
"disabled": true,
"autoApprove": [],
"timeout": 30,
"alwaysAllow": []
}
You can also set your uvx command to point to a branch on the repository via `"git+https://github.com/strawgate/filesystem-operations-mcp@branch-name"`.
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。