Filesystem MCP Server について
Filesystem MCP Server は Python で実装された MCP サーバーで、ファイルの読み書き、編集、検索、ディレクトリ操作、メタデータ取得を行えます。アクセスは起動時の引数で指定したディレクトリに限定され、ローカルファイルを AI クライアントから安全に扱いたい利用者に向いています。
主な機能
- 01ファイルの読み取り・書き込み・編集
- 02ディレクトリとファイルの作成・一覧・移動
- 03除外パターン付きの再帰的なファイル検索
- 04ファイルメタデータの取得
- 05設定したディレクトリへのアクセス制限
活用シーン
- 01AI クライアントによるプロジェクトファイルの読み取りと変更
- 02指定したディレクトリ配下でのファイル検索
- 03適用前に dryRun でファイル編集をプレビュー
MCP 対応
本プロジェクトは MCP サーバーであり、read_file、edit_file、search_files などのツールを MCP クライアントに公開します。list_allowed_directories によりアクセス可能なディレクトリも一覧できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Filesystem MCP サーバー
ファイルシステム操作のための Model Context Protocol(MCP)を実装した Python サーバーです。
機能
- ファイルの読み込み/書き込み
- ディレクトリの作成/一覧表示/削除
- ファイル/ディレクトリの移動
- ファイルの検索
- ファイルメタデータの取得
注:このサーバーでは、args で指定されたディレクトリ内でのみ操作が許可されます。
API
リソース
file://system:ファイルシステム操作インターフェース
ツール
-
read_file
- ファイルの内容全体を読み込みます
- 入力:
path(string) - UTF-8 エンコーディングでファイルの内容全体を読み込みます
-
read_multiple_files
- 複数のファイルを同時に読み込みます
- 入力:
paths(string[]) - 読み込みに失敗しても、操作全体は停止しません
-
write_file
- 新しいファイルを作成するか、既存のファイルを上書きします(慎重に使用してください)
- 入力:
path(string):ファイルの場所content(string):ファイルの内容
-
edit_file
- 高度なパターンマッチングと書式設定を使用して、選択的に編集します
- 機能:
- 行単位および複数行の内容のマッチング
- インデントを維持した空白の正規化
- 正しい位置を保った複数の同時編集
- インデントスタイルの検出と維持
- コンテキスト付きの Git 形式の差分出力
- ドライランモードで変更をプレビュー
- 入力:
path(string):編集するファイルedits(array):編集操作のリストoldText(string):検索するテキスト(部分文字列も指定可能)newText(string):置換後のテキスト
dryRun(boolean):適用せずに変更をプレビューします(デフォルト:false)
- ドライランでは詳細な差分とマッチ情報を返し、それ以外の場合は変更を適用します
- ベストプラクティス:変更を適用する前に、必ず
dryRunを使用してプレビューしてください
-
create_directory
- 新しいディレクトリを作成するか、既存のディレクトリを確認します
- 入力:
path(string) - 必要に応じて親ディレクトリを作成します
- ディレクトリがすでに存在する場合は、何もせずに成功します
-
list_directory
[FILE]または[DIR]のプレフィックス付きでディレクトリの内容を一覧表示します- 入力:
path(string)
-
move_file
- ファイルやディレクトリを移動または名前変更します
- 入力:
source(string)destination(string)
- 移動先がすでに存在する場合は失敗します
-
search_files
- ファイル/ディレクトリを再帰的に検索します
- 入力:
path(string):検索を開始するディレクトリpattern(string):検索パターンexcludePatterns(string[]):除外するパターン。Glob 形式に対応しています。
- 大文字と小文字を区別せずにマッチングします
- マッチした項目のフルパスを返します
-
get_file_info
- ファイル/ディレクトリの詳細なメタデータを取得します
- 入力:
path(string) - 次の情報を返します:
- サイズ
- 作成日時
- 更新日時
- アクセス日時
- 種類(ファイル/ディレクトリ)
- 権限
-
list_allowed_directories
- サーバーがアクセスを許可されているすべてのディレクトリを一覧表示します
- 入力は不要です
- 次の情報を返します:
- このサーバーが読み書きできるディレクトリ
インストール
git + Python
# Clone the repository
git clone https://github.com/MarcusJellinghaus/mcp_server_filesystem
cd filesystem
# Create and activate a virtual environment (optional but recommended)
python -m venv .venv
source .venv/bin/activate # On Windows: venv\Scripts\activate
# Install dependencies using pip with pyproject.toml
pip install -e .
サーバーの実行
以前のインストールが必要です
# Enable virtual env
source .venv/bin/activate
# Run server with allowed paths (paths optional but recommended)
python ./src/main.py /path/to/home /path/to/project
または、uvx を使って GH リポジトリから直接実行できます uv が必要です https://docs.astral.sh/uv/getting-started/installation/
uvx --from git+https://github.com/javillegasna/filesystem filesystem /Users/username/Desktop
各プラットフォームでの使用方法
Claude Desktop
{
"mcpServers": {
"filesystem": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/javillegasna/filesystem",
"filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir",
]
}
}
}
vscode
{
"mcp": {
"servers": {
"filesystem": {
"command": "uvx",
"args": [
"--from",
"git+https://github.com/javillegasna/filesystem",
"filesystem",
"/Users/username/Desktop",
"/path/to/other/allowed/dir",
]
}
}
}
}
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。