Filesystem MCP Server は、Claude Desktop や Claude Code といった MCP クライアントに「ローカルファイルを読み書きする手」を与えるためのサーバーだ。MCP(Model Context Protocol)の最も基本的な実装の一つで、AI エージェントに開発環境のファイル操作を任せる際の土台になる。

できること

ファイルの読み書き、ディレクトリの列挙と検索といったファイルシステム操作を MCP 経由で公開する。重要なのはパスのホワイトリスト制御で、エージェントがアクセスできる範囲を明示的に限定できる。AI に無制限のファイルアクセスを与えるのは危険なので、この境界設定は実運用で必須の機能だ。

権限設計でつまずかないために

導入時に最も注意したいのが、許可するディレクトリの範囲だ。利便性を優先してホームディレクトリ全体を許可してしまうと、エージェントが意図しないファイル(鍵ファイルや他プロジェクトの設定)を読み書きできてしまう。プロジェクトのワークディレクトリだけに絞り、機微なファイルを含むパスは外す——という最小権限の原則をそのまま適用するのが安全だ。書き込み操作はとくに、誤操作で既存ファイルを上書きしうる点を踏まえて範囲を絞りたい。

学習素材としての価値

OSS 実装なので、コードを読めば「MCP サーバーがどう作られているか」がそのまま分かる。自前で独自の MCP サーバーを書こうとしているなら、ツール定義・リクエストハンドリング・権限制御のリファレンスとして最初に読むべき実装といえる。

適用範囲

無料の OSS。対象はあくまでローカルファイルシステムであり、クラウド上の分散ストレージや S3 互換オブジェクトストレージを扱いたい場合は、それぞれに対応した別の MCP サーバーや独自実装が必要になる。手元のファイルを Claude に触らせたい、という素直な用途にまっすぐ応える。

許可するディレクトリの決め方

このサーバーは起動時に指定したディレクトリの範囲で動作する。ホームディレクトリ全体や、リポジトリの親ディレクトリを丸ごと渡すと、無関係なファイルや認証情報まで読める状態になる。作業対象のプロジェクトディレクトリだけを渡し、必要になったら追加する運用が安全だ。一度渡した範囲は、その接続の間ずっと有効である点も意識しておきたい。

🔴
秘密情報を含むファイルが範囲に入らないか確認してください

.env、認証情報、SSH の鍵、ブラウザのプロファイルといったファイルが許可範囲に含まれると、その内容がモデルに渡りうる状態になります。許可するディレクトリを決めたら、その中に秘密情報が置かれていないかを実際に確認してください。読み取られた内容は外部への送信を意味します。

変更を戻せる状態を保つ

ファイルの書き換えを任せる場合、バージョン管理下に置いておくことが実質的な安全装置になる。作業前にコミットしておけば、意図しない変更は差分を見て破棄できる。逆に、バージョン管理外のディレクトリで編集を任せると、上書きされた内容は戻せない。編集を許可する範囲は、履歴が残る場所に限定するのが実務的な運用になる。