mcpField
F
filesystem

filesystem

ローカル
github.com/fieldcureファイル・ストレージ122 週間前に更新

filesystem について

FieldCure MCP Filesystem Serverは、AIクライアントにサンドボックス内のローカルファイル操作とドキュメント解析を提供します。アクセス先を制限したい用途に向けて、MCP roots経由で許可ディレクトリを実行中に変更できます。

主な機能

  1. 01ファイルの読み書き、検索、管理
  2. 02許可ディレクトリ内にアクセスを制限
  3. 03MCP roots経由で許可ディレクトリを更新
  4. 04対応ドキュメントをMarkdownに変換
  5. 05バイナリファイルをbase64で処理
  6. 06パストラバーサルとシンボリックリンクのリスクを検証

活用シーン

  1. 01AIクライアントに指定フォルダー内のファイルを読ませる
  2. 02ファイル名やファイル内容を検索
  3. 03対応ドキュメントをMarkdownファイルに変換

MCP 対応

stdio経由でファイルシステムとドキュメント変換のツールを提供するMCPサーバーです。MCP rootsに対応し、クライアントは実行中に許可ディレクトリを置き換えられます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
nugetFieldCure.Mcp.Filesystem1.1.2

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

FieldCure MCP Filesystem Server

NuGet License: MIT

AI クライアントにローカルファイルシステムの操作を提供する、安全なModel Context Protocol(MCP)サーバーです。C# と公式のMCP C# SDKで構築されています。

機能

  • 17 種類のファイルシステムツール:読み取り、書き込み、追記、削除、検索、コピー、移動、Markdown への変換など
  • サンドボックス化されたアクセス:すべての操作は明示的に許可されたディレクトリ内に制限されます
  • MCP roots プロトコル:クライアントはサーバーを再起動せずに、実行時に許可されたディレクトリを変更できます
  • 強化されたセキュリティ:パストラバーサルの防止、シンボリックリンクの解決、NTFS ADS のブロック、Windows の予約名の拒否
  • アトミックな書き込み:一時ファイルへの書き込み後に名前を変更する方式により、データの破損を防ぎます
  • バイナリ検出:バイナリファイルは自動的に base64 で、テキストファイルは UTF-8 で返します
  • 組み込みのドキュメント解析:対応するドキュメント形式を直接読み取り、ディスク上で Markdown に変換できます
  • Stdio トランスポート:stdin/stdout を介した JSON-RPC による標準的な MCP サブプロセスモデル

インストール

dotnet tool
dotnet tool install -g FieldCure.Mcp.Filesystem
ソースから
git clone https://github.com/fieldcure/fieldcure-mcp-filesystem.git
cd fieldcure-mcp-filesystem
dotnet build

要件

設定

Claude Desktop
{
  "mcpServers": {
    "filesystem": {
      "command": "fieldcure-mcp-filesystem",
      "args": [
        "C:\\Users\\me\\Documents",
        "C:\\Projects"
      ]
    }
  }
}
VS Code
{
  "servers": {
    "filesystem": {
      "command": "fieldcure-mcp-filesystem",
      "args": [
        "${workspaceFolder}"
      ]
    }
  }
}

ツール

ファイル操作
ツール説明
read_fileファイルの内容を読み取ります(テキストは UTF-8、バイナリは base64)
read_multiple_filesファイルごとのエラー処理を行いながら、複数のファイルを一度に読み取ります
read_file_lines指定した範囲の行を読み取ります
convert_to_markdown対応するドキュメントファイルを 1 つ、ディスク上の Markdown ファイルに変換します
convert_directory_to_markdownディレクトリ内の対応するドキュメントファイルを一括で Markdown ファイルに変換します
write_fileアトミックな書き込みでファイルを作成または上書きします
append_file自動的に改行を追加して、ファイルの末尾に内容を追記します
modify_fileテキストを検索して置換します(プレーンテキストまたは正規表現)
copy_fileファイルまたはディレクトリを再帰的にコピーします
move_fileファイルまたはディレクトリを移動または名前変更します
delete_fileファイルまたはディレクトリを削除します
ディレクトリ操作
ツール説明
list_directory種別マーカー、サイズ、日付とともに内容を一覧表示します
create_directoryディレクトリを再帰的に作成します
directory_tree深さを設定できる階層ツリー表示
検索と情報
ツール説明
search_filesglob パターンでファイルを検索します
search_within_files行番号付きで、複数ファイルのテキスト内容を検索します
get_file_infoファイルまたはディレクトリのメタデータ

MCP Roots プロトコル

このサーバーは、実行時のディレクトリ変更に対応するため、MCP roots プロトコルをサポートしています。クライアントが roots を変更すると、次の処理が行われます。

  1. サーバーが更新された roots リストを要求します。
  2. 許可されたディレクトリがすべて置き換えられます。
  3. CLI 引数が初期サンドボックスとして使用されます。
  4. roots リストが空の場合、すべてのファイルアクセスが拒否されます。

セキュリティモデル

すべてのパスは、ファイルシステム操作の前に IPathValidator を通じて検証されます。

  1. 許可されたディレクトリによってサンドボックスの境界が定義されます。
  2. . と .. は Path.GetFullPath() で正規化されます。
  3. シンボリックリンクの解決先は、許可されたディレクトリ内でなければなりません。
  4. プレフィックスの照合では、ディレクトリ区切り文字が考慮されます。
  5. NTFS の代替データストリームはブロックされます。
  6. Windows の予約名は拒否されます。
  7. 許可されたディレクトリの更新はスレッドセーフです。

Markdown 変換ツールは、同じサンドボックスルールを使用して入力パスと出力パスの両方を検証します。変換した Markdown を MCP 経由でドキュメント全文として返すのではなく、ディスクに直接書き込みます。通常、これは read_file と write_file を組み合わせるよりもトークン効率に優れています。

プロジェクト構成

src/FieldCure.Mcp.Filesystem/
|- Program.cs
|- Security/
|  |- IPathValidator.cs
|  \- PathValidator.cs
|- Tools/
|  |- FileOperationTools.cs
|  |- DirectoryTools.cs
|  \- SearchTools.cs
\- Utilities/
   |- EncodingDetector.cs
   \- FileSize.cs

開発

dotnet build
dotnet test
dotnet pack src/FieldCure.Mcp.Filesystem -c Release

制限事項

サポート対象未対応
テキストファイルの読み書き(UTF-8)UTF-8 以外のエンコーディングの自動検出
バイナリファイルの検出と base64非常に大きなファイル(>100 MB)のストリーミング
アトミック書き込みファイル監視/変更通知
Glob パターン検索全文インデックス作成
正規表現による検索と置換複数ファイルへのトランザクション書き込み
シンボリックリンクの解決クロスプラットフォームでのシンボリックリンク作成
MCP roots プロトコルHTTP トランスポート
DocumentParsers がサポートする形式のドキュメントテキスト抽出/Markdown 変換スキャンしたドキュメントの OCR

関連項目

AssistStudio ecosystem の一部です。

ライセンス

MIT

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。