Filesystem MCP Server

local-only server

The server can only run on the client’s local machine because it depends on local resources.

Integrations

  • Supports containerized deployment through Docker, enabling sandboxed access to filesystem resources with optional read-only permissions.

  • Provides filesystem operations through a Node.js server, allowing for reading/writing files, directory management, file search, and metadata retrieval within specified directories.

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

ファイルシステム操作用のモデル コンテキスト プロトコル (MCP) を実装する Node.js サーバー。

特徴

  • ファイルの読み取り/書き込み
  • ディレクトリの作成/一覧表示/削除
  • ファイル/ディレクトリを移動する
  • ファイルを検索
  • ファイルのメタデータを取得する

注意: サーバーは、 argsで指定されたディレクトリ内でのみ操作を許可します。

API

リソース

  • file://system : ファイルシステム操作インターフェース

ツール

  • 読み取りファイル
    • ファイルの完全な内容を読み取る
    • 入力: path (文字列)
    • UTF-8エンコードでファイル内容全体を読み取ります
  • 複数のファイルを読み取る
    • 複数のファイルを同時に読み取る
    • 入力: paths (文字列[])
    • 読み取りに失敗しても操作全体が停止することはない
  • 書き込みファイル
    • 新しいファイルを作成するか、既存のファイルを上書きします(注意が必要です)
    • 入力:
      • path (文字列): ファイルの場所
      • content (文字列): ファイルの内容
  • 編集ファイル
    • 高度なパターンマッチングと書式設定を使用して選択的な編集を行う
    • 特徴:
      • 行ベースおよび複数行のコンテンツマッチング
      • インデントを保持した空白の正規化
      • 信頼スコアによるあいまいマッチング
      • 正しい位置で複数の編集を同時に行う
      • インデントスタイルの検出と保存
      • コンテキスト付きのGitスタイルのdiff出力
      • ドライランモードで変更をプレビューする
      • 信頼スコアによる失敗した試合のデバッグ
    • 入力:
      • path (文字列):編集するファイル
      • edits (配列):編集操作のリスト
        • oldText (文字列): 検索するテキスト(部分文字列も可)
        • newText (文字列): 置換するテキスト
      • dryRun (ブール値): 変更を適用せずにプレビューします (デフォルト: false)
      • options (オブジェクト): オプションの書式設定
        • preserveIndentation (boolean): 既存のインデントを保持する (デフォルト: true)
        • normalizeWhitespace (boolean): 構造を維持しながらスペースを正規化します (デフォルト: true)
        • partialMatch (boolean): あいまい一致を有効にする (デフォルト: true)
    • ドライランの詳細な差分と一致情報を返し、それ以外の場合は変更を適用します
    • ベストプラクティス: 変更を適用する前に必ず dryRun を使用して変更をプレビューしてください。
  • ディレクトリの作成
    • 新しいディレクトリを作成するか、存在することを確認します
    • 入力: path (文字列)
    • 必要に応じて親ディレクトリを作成します
    • ディレクトリが存在する場合は、何もせずに成功します
  • リストディレクトリ
    • [FILE]または[DIR]プレフィックスを持つディレクトリの内容を一覧表示します
    • 入力: path (文字列)
  • ファイルの移行
    • ファイルとディレクトリの移動または名前の変更
    • 入力:
      • source (文字列)
      • destination (文字列)
    • 宛先が存在する場合は失敗します
  • 検索ファイル
    • ファイル/ディレクトリを再帰的に検索する
    • 入力:
      • path (文字列):開始ディレクトリ
      • pattern (文字列): 検索パターン
      • excludePatterns (string[]): パターンを除外します。glob形式がサポートされています。
    • 大文字と小文字を区別しないマッチング
    • 一致するフルパスを返します
  • ファイル情報を取得する
    • 詳細なファイル/ディレクトリのメタデータを取得する
    • 入力: path (文字列)
    • 戻り値:
      • サイズ
      • 作成時間
      • 修正時間
      • アクセス時間
      • タイプ(ファイル/ディレクトリ)
      • 権限
  • 許可されたディレクトリの一覧
    • サーバーがアクセスを許可されているすべてのディレクトリを一覧表示します
    • 入力不要
    • 戻り値:
      • このサーバーが読み取り/書き込みできるディレクトリ

Claude Desktopでの使用

これをclaude_desktop_config.jsonに追加します:

注: サンドボックス化されたディレクトリを/projectsにマウントすることで、サーバーに提供できます。ro フラグro追加すると、ディレクトリはサーバーによって読み取り専用になります。

ドッカー

注意: すべてのディレクトリは、デフォルトで/projectsにマウントする必要があります。

{ "mcpServers": { "filesystem": { "command": "docker", "args": [ "run", "-i", "--rm", "--mount", "type=bind,src=/Users/username/Desktop,dst=/projects/Desktop", "--mount", "type=bind,src=/path/to/other/allowed/dir,dst=/projects/other/allowed/dir,ro", "--mount", "type=bind,src=/path/to/file.txt,dst=/projects/path/to/file.txt", "mcp/filesystem", "/projects" ] } } }

NPX

{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "/Users/username/Desktop", "/path/to/other/allowed/dir" ] } } }

建てる

Dockerビルド:

docker build -t mcp/filesystem -f src/filesystem/Dockerfile .

ライセンス

このMCPサーバーはMITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布することができます。詳細については、プロジェクトリポジトリのLICENSEファイルをご覧ください。

-
security - not tested
F
license - not found
-
quality - not tested

ファイルシステム操作用のモデル コンテキスト プロトコルを実装する Node.js サーバー。これにより、Claude は指定された場所にあるファイルとディレクトリの読み取り、書き込み、操作を行うことができます。

  1. Features
    1. API
      1. Resources
      2. Tools
    2. Usage with Claude Desktop
      1. Docker
      2. NPX
    3. Build
      1. License
        ID: ghvynj38vk