Filesystem MCP Server について
Filesystem MCP Serverは、ファイルやディレクトリの情報とファイル内容をMCPクライアントに提供します。メタデータと内容をリソースとして公開し、ディレクトリ一覧ツールも備えています。依存性注入にはSpring Frameworkを使用します。
主な機能
- 01ファイルとディレクトリのメタデータ取得
- 02テキスト・バイナリファイルの読み取り
- 03拡張子に基づくMIMEタイプ検出
- 04ディレクトリ内ファイルの一覧表示
- 05Springによる依存性注入
活用シーン
- 01ファイルやディレクトリの詳細確認
- 02MCPクライアント経由でのファイル読み取り
- 03ディレクトリ内ファイルの一覧取得
MCP 対応
ファイルのメタデータと内容をMCPリソースとして公開し、ディレクトリ一覧用の`list_files`ツールを提供します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Filesystem MCP Server
ファイルのメタデータとコンテンツにアクセスするためのリソースを提供する MCP サーバーです。
概要
Filesystem MCP Server は、ファイルのメタデータとコンテンツにアクセスするためのリソースを提供する Model Context Protocol(MCP)サーバーです。クライアントは、ファイルやディレクトリに関する情報を取得したり、ファイルのコンテンツを読み取ったりできます。
機能
- ファイルやディレクトリのメタデータ(名前、パス、サイズ、タイムスタンプ、アクセス許可など)を取得
- テキストファイルとバイナリファイルのコンテンツを読み取り
- ファイル拡張子に基づいて MIME タイプを自動検出
- 包括的なログ記録
- 保守性とテスト容易性を高めるため、Spring Framework を使用して依存関係を注入
リソース
サーバーは次のリソースを提供します。
file://metadata/{path}- ファイルまたはディレクトリのメタデータを取得file://content/{path}- ファイルのコンテンツを取得
詳しくは、リソースのドキュメントをご覧ください。
ツール
サーバーは次のツールを提供します。
list_files- ディレクトリ内のファイルを一覧表示
詳しくは、ツールのドキュメントをご覧ください。
ビルドと実行
前提条件
- Java 17 以上
- Maven
- Spring Framework(Maven によって自動的に管理されます)
ビルド
mvn clean package
これにより、target ディレクトリに実行可能な JAR ファイルが作成されます。
実行
java -jar target/filesystem-mcp-1.0-SNAPSHOT-jar-with-dependencies.jar
ドキュメント
アーキテクチャ
サーバーは次の階層化アーキテクチャを採用しています。
- 設定レイヤー:依存関係の注入を行う Spring 設定クラス
- サービスレイヤー:ファイルシステム操作の中核となるサービス
- リソースレイヤー:ファイルシステムの機能を公開する MCP リソース
- ユーティリティレイヤー:一般的な操作を行うユーティリティクラス
依存関係の注入
サーバーは依存関係の注入に Spring Framework を使用しており、次の機能を利用できます。
- テスト容易性を高めるコンストラクターインジェクション
@PostConstructと@PreDestroyによるライフサイクル管理- 明示的な Bean 定義を行う設定クラス
- Bean を自動検出するコンポーネントスキャン
ライセンス
このプロジェクトは MIT ライセンスのもとでライセンスされています。詳細は LICENSE ファイルをご覧ください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。