Filesystem MCP サーバー:アシスタントにフォルダーを安全に公開
Filesystem MCP サーバーのガイドと設定ビルダー
Filesystem MCP サーバー:ツール、許可フォルダー、設定 | We.Inc
リファレンス版 Filesystem MCP サーバーの仕組みを解説。13個のツール、許可ディレクトリ、Roots、読み取り専用の Docker マウント、設定 JSON を作るビルダー付き。
Filesystem MCP サーバーは、Model Context Protocol プロジェクトが提供するリファレンス版の Node.js プログラムです。AI アシスタントがファイルの読み取り、書き込み、検索、移動を行えるようにしますが、対象はあなたが許可したフォルダーの中だけです。フォルダーは起動時に指定するか、アプリが Roots を通じて渡します。それ以外の場所へのアクセスはすべて拒否されます。
Filesystem MCP サーバーの概要
- npm パッケージ
- @modelcontextprotocol/server-filesystem
- Docker イメージ
- mcp/filesystem
- 実行場所
- 自分のコンピューター上。MCP アプリが起動します
- アクセス制限
- 引数または Roots で指定した許可ディレクトリのみ
MCP(Model Context Protocol)は、アシスタントアプリがサーバーと呼ばれる小さな補助プログラムを呼び出せるようにするオープン標準です。ファイルシステムサーバーは多くの人が最初にインストールするもので、「商品説明のフォルダーを見て」という依頼をアシスタントが実際に実行できるようにします。このページでは、サーバーが触れられる範囲、フォルダー制限の仕組み、読み取り専用に保つ方法を説明します。下のビルダーを使えば、アプリの MCP 設定に貼り付けられる設定を作成できます。
- アシスタントに見せたいフォルダーを、フルパスで1行に1つずつ入力します。
- npx(Node.js が必要)か Docker を選びます。Docker ではフォルダーを読み取り専用でマウントできます。
- アプリが想定する設定の形式を選びます。ほとんどのアプリは mcpServers、VS Code は servers を使います。
- JSON をアプリの MCP 設定ファイルにコピーし、アプリを再起動してサーバーを起動させます。
- 共有するのは、作業に必要な最小限のフォルダー(たとえばコンテンツ用フォルダー1つ)にし、ホームディレクトリ全体は決して共有しないでください。
- アシスタントが読み取りだけで済む場合は、Docker で読み取り専用マウントを使って実行しましょう。
- 最初にアシスタントに list_allowed_directories を実行させ、何が渡されたかを正確に確認しましょう。
- 大切なファイルに変更を反映する前に、edit_file のドライラン機能を使いましょう。
- アシスタントに書き込みを許可するものは、必ずバックアップかバージョン履歴を残しておきましょう。
よくある質問
Filesystem MCP サーバーは、指定したフォルダー以外のファイルを読めますか?
いいえ。README には、すべてのファイルシステム操作は許可ディレクトリに制限されると書かれています。クライアントが Roots を送ると、コマンドラインで指定したフォルダーは完全に置き換えられるため、許可リストはアプリが最後に渡した内容になります。
フォルダーを1つも指定せずに起動するとどうなりますか?
アプリが Roots に対応していれば、サーバーはアプリから送られてくるのを待ちます。アプリが Roots に対応しておらず、フォルダーも指定していない場合、サーバーは理由をログに記録し、接続を閉じてステータス1で終了します。
読み取り専用にするにはどうすればよいですか?
README に記載されている方法は1つです。Docker イメージで実行し、各バインドマウントに ro を付けると、そのフォルダーはサーバーから読み取り専用になります。個々のツールの承認やブロックができるアプリもあり役立ちますが、マウントのほうが確実な制限です。
ファイルを削除できますか?
ツール一覧に削除ツールはありません。ただし内容を失わせることはできます。write_file は既存のファイルを上書きし、move_file は移動元を消すため、README のアノテーション表ではどちらも破壊的な操作とされています。
インターネット接続は必要ですか?
作業自体には不要です。すべてのツールが openWorldHint を false に設定しており、許可フォルダー内のローカルファイルシステムにしか触れません。ただし npx は初回実行時にパッケージをダウンロードします。
許可ディレクトリと Roots をわかりやすく
- サーバーが使えるフォルダーを伝える方法は2つあります。1つ目は、設定でパッケージ名の後にフォルダーのパスを書く方法で、再起動するまでリストは固定されます。2つ目は Roots で、アシスタントアプリが対象のフォルダーをサーバーに伝え、実行中にそのリストを変更できる機能です。
- README では Roots が推奨の方法とされています。安全面で重要な点は、アプリの Roots が有効になった後は、有効な root を含まない更新があるとすべてのアクセスが取り消され、入力したフォルダーには戻らないことです。
サイトやストアの運営者に役立つ使い方
- エクスポートした商品データのフォルダーを指定し、説明が抜けている商品の一覧を頼みます。ブログの下書きを指定し、古い価格に触れている記事をまとめてもらいます。ダウンロードしたサイトのコピーを指定し、壊れた画像ファイル名を検索します。
- どの場合もフォルダーは本番サイトではなくコピーなので、誤って編集しても損失はありません。この習慣はどんな設定よりも価値があります。
13個のツールとそれぞれが変更できるもの
読み取り専用とは、README でそのツールに readOnlyHint true が付いていることを指します。破壊的とは、既存の内容を上書きまたは削除できることを意味します。
Filesystem MCP サーバーのツール
- ファイルを UTF-8 テキストとして読み取ります。先頭または末尾の N 行だけも可能です
- いいえ
- 画像、音声などのファイルを MIME タイプ付きの base64 として読み取ります
- いいえ
- 複数のファイルを一度に読み取ります。1つが失敗しても残りは続行されます
- いいえ
- [FILE] と [DIR] の接頭辞付きでフォルダーの中身を一覧表示します
- いいえ
- 同じ一覧をサイズ付きで表示し、名前やサイズで並べ替えできます
- いいえ
- フォルダーの入れ子構造の JSON ツリーを返します
- いいえ
- 除外パターンを指定できる glob 形式の検索
- いいえ
- フォルダーと、存在しない親フォルダーを作成します
- はい、破壊的ではない
- 一致したテキストを置き換えます。dryRun によるプレビューも可能です
- はい、破壊的
- 移動または名前変更します。移動先が存在すると失敗します
- はい、破壊的
設定例
npx で実行、フォルダー2つ
パッケージ名の後のフォルダーが許可ディレクトリになります。マシンに Node.js が必要です。
Docker で実行、フォルダー1つを読み取り専用
フォルダーは /projects 配下にマウントされます。ro フラグでサーバーはそのフォルダーに書き込めなくなります。
VS Code のワークスペース設定(.vscode/mcp.json)
VS Code は servers キーを使います。${workspaceFolder} でサーバーを開いているプロジェクトに限定します。
Filesystem MCP 設定ビルダー
フォルダーを入力し、サーバーの実行方法を選んでください。入力に合わせて JSON が更新され、データがブラウザーの外に送られることはありません。
許可フォルダー(1行に1つずつフルパス)
実行方法
設定の形式
フォルダーを読み取り専用でマウント(Docker のみ)
読み取り専用マウントは Docker 向けに記載されています。npx では、指定したフォルダー内にサーバーが書き込めます。
設定 JSON
npx(Node.js)
Docker
mcpServers(ほとんどのアプリ)
servers(VS Code)
フォルダーを少なくとも1つ追加してください。サーバーが動作するには許可ディレクトリが1つ必要です。
{v} はフルパスではありません。Mac や Linux では / から、Windows ではドライブ文字から始めてください。
無料で始める · クレジットカード不要
関連: ガイド|Webマーケティングと集客を学ぶ
製品
ご利用いただける方
機能
リソース
会社情報
サイトマップを見る