Filesystem MCP Server について
Anthropic のリファレンス実装を基にした、Go 製のファイルシステム向け MCP サーバーです。ファイルとディレクトリを操作でき、メタデータやディレクトリツリーの JSON 出力、gitignore 形式の検索除外に対応します。
主な機能
- 01ファイルの作成、移動、編集
- 02単一または複数ファイルの読み取り
- 03ディレクトリと許可パスの一覧表示
- 04ディレクトリツリーの JSON 出力
- 05ファイルメタデータの JSON 出力
- 06gitignore 形式の検索除外
活用シーン
- 01ディレクトリの内容とメタデータを確認
- 02MCP 経由でファイルを読み取り、更新
- 03該当パスを除外してファイルを検索
MCP 対応
読み取り、書き込み、編集、移動、一覧表示、検索など、ファイルシステム操作のツールを MCP クライアントに提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
ファイルシステム MCP サーバー
Anthropic のリファレンス実装である modelcontextprotocol/servers を基にした、ファイルシステム操作用の Model Context Protocol(MCP)サーバーの Go 実装です。
リファレンス実装との主な違いは次のとおりです。
get_file_infoコマンドとdirectory_treeコマンドは、JSON データを返します。search_filesツールは、gitignore 形式の除外パターンに対応しています。
インストール
次のコマンドでサーバーをインストールします。
go install github.com/optistar/mcp-server-filesystem/cmd/mcp-server-filesystem@latest
実行可能ファイルは通常 ~/go/bin にある Go の bin ディレクトリにインストールされます。
このディレクトリが PATH に含まれていない場合は、追加が必要になることがあります。
GOBIN 環境変数を設定して、インストール先のディレクトリを変更することもできます。
テスト
サーバーが期待どおりに動作することを確認するため、テストスイートが用意されています。
- テストは通常どおり
go testで実行できます。 testerコマンドを使うと、テストスイートを MCP クライアントとしてパッケージ化できます。このクライアントは、MCP サーバーコマンドや、別の MCP サーバー実装のテストに使用できます。
ツール
サーバーは、ファイルシステムを操作するための次のツールを提供します。
create_directory:新しいディレクトリを作成するか、ディレクトリが存在することを確認します。directory_tree:ファイルとディレクトリの再帰的なツリー表示を JSON 構造として取得します。edit_file:テキストファイルを行単位で編集します。get_file_info:ファイルまたはディレクトリの詳細なメタデータを取得します。list_allowed_directories:このサーバーがアクセスを許可されているディレクトリの一覧を返します。list_directory:指定したパスにあるすべてのファイルとディレクトリの詳細な一覧を取得します。move_file:ファイルとディレクトリを移動または名前変更します。read_file:ファイルシステムからファイルの内容全体を読み取ります。read_multiple_files:複数のファイルの内容を同時に読み取ります。search_files:パターンに一致するファイルとディレクトリを再帰的に検索します。write_file:新しいファイルを作成するか、既存のファイルを新しい内容で完全に上書きします。
各ツールの詳細については、インスペクターを使用してください。
その他の実装
このリポジトリは mark3labs/mcp-filesystem-server とは無関係です。
ライセンス
このリポジトリのコードは MIT ライセンスの下で配布されています。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。