Filesystem MCP Server for WSL

Integrations

  • Enables seamless interaction with Linux distributions under WSL, providing tools to access, manipulate, and search the Linux filesystem from Windows.

  • Implements file operations through Node.js for WSL environments, enabling read/write, directory management, and file search capabilities.

  • Built with TypeScript, requiring it as a development dependency for building the project from source.

⚠️重要な情報:
元のファイルシステム MCP サーバーは、構成内のパラメーターとしてネットワーク パス\\wsl.localhost\DistributionName使用するだけで、WSL ファイルにアクセスできます。
例:

{ "mcpServers": { "filesystem": { "command": "npx", "args": [ "-y", "@modelcontextprotocol/server-filesystem", "\\\\wsl.localhost\\Debian", "C:\\path\\to\\other\\allowed\\dir" ] } } }

ただし、このプロジェクトは**、WSL Linux ディストリビューションに特化して最適化された代替実装**を提供します。

公式サーバーは Node.js のfsモジュールを使用してディレクトリを再帰的に走査することで動作しますが、この実装ではWSL 内のネイティブ Linux コマンド( findgrepなど) を活用することで、ファイルのリスト表示やコンテンツの検索操作が大幅に高速化されます

これは、大規模なディレクトリ ツリーを扱う場合や、検索パフォーマンスが重要な場合に特に役立ちます。

そのため、多くのユースケースではネイティブ ネットワーク パスの方がシンプルかもしれませんが、このプロジェクトは、より優れたパフォーマンスや、インデックス作成および検索ロジックに対するよりカスタマイズされた制御を求める WSL ユーザーにとって、依然として貴重なソリューションです。


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

Windows Subsystem for Linux (WSL) のファイルシステム操作用に特別に設計された、モデル コンテキスト プロトコル (MCP) を実装する Node.js サーバー。
このプロジェクトは、元のFilesystem MCP Serverのフォークですが、WSL 環境向けに完全に再設計されています。
一般的なファイル操作を処理する元のプロジェクトとは異なり、このバージョンは、WSL での Windows と Linux ディストリビューション間のシームレスな相互作用にのみ焦点を当てています。
両方のプロジェクトは互換性があり、同じシステム上で並行して実行できます。

特徴

  • Windows から任意の WSL ディストリビューションにアクセス
  • Windows ホストから WSL でファイルの読み取り/書き込みを行う
  • WSL でディレクトリを作成/一覧表示/削除する
  • WSL ファイルシステム間でファイル/ディレクトリを移動する
  • WSL内でファイルを検索する
  • WSL ファイルシステムからファイルのメタデータを取得する
  • 複数のWSLディストリビューションのサポート

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


API

リソース

  • wsl -d <distrib> : WSLディストリビューションを操作するためのコマンド

ツール

  • 読み取りファイル
    • WSLからファイルの完全な内容を読み取る
    • 入力: path (文字列)
    • コンテンツをUTF-8テキストとして読み取ります
  • 複数のファイルを読み取る
    • WSLから複数のファイルを同時に読み取る
    • 入力: paths (文字列[])
    • 読み取りに失敗しても操作全体が停止することはない
  • 書き込みファイル
    • WSL でファイルを作成または上書きする (注意して使用してください)
    • 入力:
      • path (文字列)
      • content (文字列)
  • 編集ファイル
    • 高度なパターンマッチングとフォーマットによる選択編集
    • 入力:
      • path (文字列)
      • edits{ oldText, newText }の配列)
      • dryRun (ブール値、オプション)
    • 特徴:
      • 複数行マッチング
      • インデントの保存
      • Gitスタイルの差分プレビュー
      • 非破壊ドライランモード
  • ディレクトリの作成
    • WSL でディレクトリを作成または存在を確認する
    • 入力: path (文字列)
  • リストディレクトリ
    • [FILE]または[DIR]プレフィックスを持つディレクトリの内容を一覧表示します
    • 入力: path (文字列)
  • ディレクトリツリー
    • コンテンツの再帰JSONツリービュー
    • 入力: path (文字列)
  • ファイルの移行
    • ファイル/ディレクトリの移動または名前の変更
    • 入力:
      • source (文字列)
      • destination (文字列)
  • 検索ファイル
    • 名前で再帰的に検索する
    • 入力:
      • path (文字列)
      • pattern (文字列)
      • excludePatterns (文字列[], オプション)
  • ファイル情報を取得する
    • 詳細なメタデータ
    • 入力: path (文字列)
    • 戻り値: サイズ、タイムスタンプ、タイプ、権限
  • 許可されたディレクトリの一覧
    • サーバーにアクセス可能なすべてのディレクトリを一覧表示します
  • list_wsl_distributions
    • 利用可能なディストリビューションを一覧表示し、アクティブなディストリビューションを表示します

要件

  • Windows Subsystem for Linux (WSL)が適切に構成されている
  • WSLに少なくとも1つのLinuxディストリビューションがインストールされている

Claude Desktop ユーザーの場合:
追加のインストールは必要ありませんclaude_desktop_config.jsonを設定するだけです。

開発の場合:

  • Node.js (v14.0.0 以上)
  • TypeScript (開発依存関係として含まれています)

WindowsにNode.jsをインストールする

  1. nodejs.orgからインストーラーをダウンロードします。
  2. 実行して指示に従ってください
  3. バージョンを確認してください:
node --version npm --version

使用法

サーバーを実行する前に、TypeScript プロジェクトをビルドする必要があります。

npm install npm run build

使用する WSL ディストリビューション (オプション) と公開するディレクトリを指定して、サーバーを実行します。

node dist/index.js [--distro=distribution_name] <allowed_directory> [additional_directories...]

ディストリビューションが指定されていない場合は、デフォルトの WSL ディストリビューションが使用されます。

Ubuntu-20.04ディストリビューションにアクセスします。

node dist/index.js --distro=Ubuntu-20.04 /home/user/documents

デフォルトの配布を使用する:

node dist/index.js /home/user/documents

Claude Desktopでの使用

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

オプション1: 特定のWSLディストリビューションを使用する

{ "mcpServers": { "wsl-filesystem": { "command": "npx", "args": [ "-y", "mcp-server-wsl-filesystem", "--distro=Ubuntu-20.04", "/home/user/documents" ] } } }

オプション2: デフォルトのWSLディストリビューションを使用する

{ "mcpServers": { "wsl-filesystem": { "command": "npx", "args": [ "-y", "mcp-server-wsl-filesystem", "/home/user/documents" ] } } }

2 番目の例では、指定しなくても、システムはデフォルトの WSL ディストリビューションを使用します。

元のプロジェクトとの違い

このフォークは、次の方法で元のファイルシステム MCP サーバーを WSL で動作するように適応させます。

  1. 直接の Node.js ファイルシステム呼び出しを WSL コマンド実行に置き換える
  2. 特定のWSLディストリビューションを選択するためのサポートの追加
  3. Windows と Linux 形式間のパス変換の実装
  4. クロスプラットフォーム互換性のためのファイルコンテンツ処理の強化
  5. WSL管理用の専用ツールの追加

ライセンス

このプロジェクトは、Model Context Protocol チームによって作成されたオリジナルのFilesystem MCP Serverのフォークです。

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

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

local-only server

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

WSL 下の Windows と Linux ディストリビューション間のシームレスな相互作用を可能にするモデル コンテキスト プロトコルを実装する Node.js サーバー。Windows から WSL ファイルシステム全体でファイルの読み取り、書き込み、検索、管理などのファイル操作が可能になります。

  1. 特徴
    1. API
      1. リソース
      2. ツール
    2. 要件
      1. WindowsにNode.jsをインストールする
    3. 使用法
    4. Claude Desktopでの使用
      1. オプション1: 特定のWSLディストリビューションを使用する
      2. オプション2: デフォルトのWSLディストリビューションを使用する
    5. 元のプロジェクトとの違い
      1. ライセンス

        Related MCP Servers

        • -
          security
          A
          license
          -
          quality
          Node.js server implementing Model Context Protocol (MCP) for filesystem operations.
          Last updated -
          29,124
          43,205
          JavaScript
          MIT License
          • Linux
          • Apple
        • -
          security
          F
          license
          -
          quality
          Node.js server implementing Model Context Protocol for filesystem operations, allowing Claude to read, write, and manipulate files and directories in specified locations.
          Last updated -
          29,124
          JavaScript
        • -
          security
          F
          license
          -
          quality
          A Node.js application that provides a Model Context Protocol server for interacting with Harbor container registry, supporting operations for projects, repositories, tags, and Helm charts.
          Last updated -
          TypeScript
        • -
          security
          A
          license
          -
          quality
          Node.js server implementing Model Context Protocol for secure read-only filesystem operations, allowing Claude to read files, list directories, search files, and get file metadata within specified directories.
          Last updated -
          91
          JavaScript
          MIT License

        View all related MCP servers

        ID: c1z94p4bcm