Skip to main content
Glama
webconsulting

Filesystem MCP Server for WSL

⚠️重要な情報:
元のファイルシステム 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で指定されたディレクトリ内でのみ操作を許可します。


Related MCP server: Node Omnibus MCP Server

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

Resources

Looking for Admin?

Admins can modify the Dockerfile, update the server description, and track usage metrics. If you are the server author, to access the admin panel.

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/webconsulting/mcp-server-wsl-filesystem'

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