Skip to main content
Glama
calebmwelsh

file-system-mcp-server

by calebmwelsh

ファイルシステムMCPサーバー

FastMCPで構築された強力なファイルシステム管理サーバーは、ファイルおよびディレクトリ操作のための包括的なツールセットを提供します。このサーバーでは、構造化されたAPIを通じてさまざまなファイルシステム操作を実行できるため、自動化や他のシステムとの統合に最適です。

プラットフォームサポート

サーバーはさまざまなオペレーティング システムで動作するように設計されており、機能のレベルはさまざまです。

ウィンドウズ

  • フル機能サポート

  • ドライブリスト

  • 特別なフォルダへのアクセス

  • Windows固有のパス処理

  • 詳細なシステム情報

macOS/Linux

  • 基本的なファイル操作

  • ディレクトリ操作

  • ファイル検索とメタデータ

  • 基本システム情報

  • 注: 一部のWindows固有の機能は利用できません

Related MCP server: MCP Local File Reader

将来の実装

計画されているmacOSサポート

  • macOSのネイティブパス処理

  • macOS固有のシステム情報の取得

  • macOSファイルシステム機能との統合

  • macOS固有のファイル属性のサポート

  • macOS 固有のユーティリティの実装 (windows_utils.py に類似)

計画されているLinuxサポート

  • Linuxのネイティブパス処理

  • Linux固有のシステム情報の取得

  • Linuxファイルシステム機能との統合

  • Linux のファイル権限と属性のサポート

  • Linux固有のユーティリティの実装

クロスプラットフォームの改善

  • 統合パス処理システム

  • プラットフォームに依存しないドライブ検出

  • 一貫したシステム情報API

  • プラットフォーム間で標準化されたファイル属性

  • クロスプラットフォームのファイルシステムイベント監視

  • ユニバーサルファイル収集システム

タイムライン

  • フェーズ1: 基本的なクロスプラットフォーム互換性の改善

  • フェーズ2: プラットフォーム固有の機能の実装

  • フェーズ3: 高度なクロスプラットフォーム機能

  • フェーズ4: パフォーマンスの最適化と改良

特徴

ファイル操作

  • バックアップサポート付きのファイルのコピー

  • バックアップサポート付きのファイルの移動

  • 安全性チェックでファイルを削除する

  • ファイルの内容を読み取る

  • ファイルの内容を書き込む

  • ファイル情報(サイズ、作成時間、変更時間)を取得します

  • 名前パターンでファイルを検索する

  • 関連ファイルを整理するためのファイルコレクションを作成する

ディレクトリ操作

  • ディレクトリの内容を一覧表示する

  • ディレクトリを作成する

  • ディレクトリを削除する

  • ディレクトリを再帰的に一覧表示する(ツリー構造)

  • 名前パターンでディレクトリを検索

システム情報

  • システム情報(OS、CPU、メモリ、ディスク使用量)を取得します

  • ディスク情報(合計容量、使用容量、空き容量)を取得します

  • ディレクトリ情報(ファイル数、合計サイズ)を取得します

プロジェクト構造

file-system-mcp-server/ ├── fs_server.py # Main server implementation ├── windows_utils.py # Windows-specific utilities (Windows only) ├── requirements.txt # Project dependencies └── test_prompts_example.md # Example test prompts

コレクションストレージ

コレクションは、ユーザーが指定した任意のディレクトリに保存できます。保存場所が指定されていない場合は、プロジェクトのdata/collectionsディレクトリ内のデフォルトの場所に保存されます。

使用例:

# Store in default location create_collection("my_collection", ["file1.txt", "file2.txt"]) # Store in custom location create_collection("my_collection", ["file1.txt", "file2.txt"], storage_path="/path/to/store")

依存関係

必要な依存関係

  • ファストMCP

  • ピダンティック

  • pywin32 (Windowsのみ)

  • WMI (Windows のみ)

依存関係をインストールするには:

pip install -r requirements.txt

設定

  1. リポジトリをクローンします。

git clone https://github.com/calebmwelsh/file-system-mcp-server.git cd file-system-mcp-server
  1. 仮想環境を作成してアクティブ化します。

python -m venv venv source venv/bin/activate # On Windows: venv\Scripts\activate
  1. 依存関係をインストールします:

pip install -r requirements.txt

使用法

さまざまな開発環境(Claude、Cursor、Windsurf)での詳細な MCP 構成手順については、 MCP 構成ガイドをご覧ください。

クロードとの統合

ファイル システム MCP サーバーを Claude と統合するには、 claude_desktop_config.jsonファイルに次のコードを追加します。

{ "mcpServers": { "file-system": { "command": "/absolute/path/to/python", "args": [ "/absolute/path/to/file-system-mcp-server/fs_server.py" ] } } }

Pythonのパスを見つける

Python 実行可能パスを見つけるには、次のコマンドを使用します。

Windows (PowerShell):

(Get-Command python).Source

Windows (コマンドプロンプト/ターミナル):

where python

Linux/macOS (ターミナル):

which python

/absolute/path/to/python上記の適切なコマンドの出力に置き換えます。

構成例

Windows の場合、構成は次のようになります。

{ "mcpServers": { "file-system": { "command": "C:\\Users\\YourUsername\\AppData\\Local\\Programs\\Python\\Python39\\python.exe", "args": [ "C:\\Users\\YourUsername\\Documents/file-system-mcp-server/fs_server.py" ] } } }

macOS/Linuxの場合:

{ "mcpServers": { "file-system": { "command": "/usr/local/bin/python3", "args": [ "/Users/YourUsername/Documents/file-system-mcp-server/fs_server.py" ] } } }

設定を追加した後:

  1. claude_desktop_config.jsonファイルを保存します。

  2. クロードを再起動

  3. クロードにファイル操作を依頼することで、ファイルシステムツールを使用できるようになりました。

利用可能なツール

ファイル操作

  • copy_file : オプションのバックアップ付きでファイルをコピーする

  • move_file : オプションのバックアップ付きでファイルを移動する

  • delete_file : 安全性チェックを行ってファイルを削除する

  • read_file : ファイルの内容を読み取る

  • write_file : ファイルに内容を書き込む

  • get_file_info : 詳細なファイル情報を取得する

  • search_files : 名前パターンでファイルを検索する

  • create_collection : ファイルのコレクションを作成する

ディレクトリ操作

  • list_directory : ディレクトリの内容を一覧表示する

  • create_directory : 新しいディレクトリを作成する

  • delete_directory : ディレクトリを削除する

  • list_directory_recursively : ディレクトリ構造をツリー形式で表示する

  • search_directories : 名前パターンでディレクトリを検索する

システム情報

  • get_system_info : システム情報を取得する

  • get_disk_info : ディスク使用状況情報を取得する

  • get_directory_info : ディレクトリの統計情報を取得する

既知の問題

現在、以下の機能に問題が発生しており、期待どおりに動作しない可能性があります。

  1. ファイル削除機能

    • delete_file関数は場合によってはファイルを正しく削除できないことがあります

    • ユーザーは手動でファイルの削除を確認するか、重要な場合には代替手段を使用することをお勧めします。

    • 問題は調査中であり、今後のアップデートで修正される予定です。

  2. ドライブ一覧機能

    • list_drives関数は利用可能なすべてのドライブを正しく検出または表示しない可能性があります

    • 一部のドライブがリストに表示されないか、誤った情報が表示される場合があります

    • これは既知の制限であり、将来のアップデートで対処される予定です。

  3. プラットフォーム固有の制限

    • Windows固有の機能はmacOS/Linuxでは利用できません

    • 一部のパスの処理はプラットフォームによって異なる場合があります

    • システム情報の取得はプラットフォームによって異なります

エラー処理

サーバーには、次の包括的なエラー処理が含まれています。

  • 無効なファイルパス

  • ファイル/ディレクトリが見つかりません

  • 権限の問題

  • ディスク容量の制限

  • 無効な操作

  • プラットフォーム固有のエラー

安全

  • すべてのファイル操作にはパス検証が含まれます

  • 破壊的な操作の前にバックアップファイルが作成されます

  • システム情報へのアクセスは安全な操作に制限されています

  • ファイル操作は適切なエラー処理で実行されます

貢献

  1. リポジトリをフォークする

  2. 機能ブランチを作成する

  3. 変更をコミットする

  4. ブランチにプッシュする

  5. プルリクエストを作成する

ライセンス

このプロジェクトは MIT ライセンスに基づいてライセンスされています - 詳細については LICENSE ファイルを参照してください。

謝辞

  • FastMCPで構築

  • データ検証にはPydanticを使用する

  • 最新のファイルシステム管理ツールにインスパイアされた

-
security - not tested
A
license - permissive license
-
quality - not tested

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/calebmwelsh/file-system-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server