⚠️重要な情報:
元のファイルシステム 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 コマンド(find、grepなど) を活用することで、ファイルのリスト表示やコンテンツの検索操作が大幅に高速化されます。これは、大規模なディレクトリ ツリーを扱う場合や、検索パフォーマンスが重要な場合に特に役立ちます。
そのため、多くのユースケースではネイティブ ネットワーク パスの方がシンプルかもしれませんが、このプロジェクトは、より優れたパフォーマンスや、インデックス作成および検索ロジックに対するよりカスタマイズされた制御を求める 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をインストールする
nodejs.orgからインストーラーをダウンロードします。
実行して指示に従ってください
バージョンを確認してください:
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/documentsClaude 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 で動作するように適応させます。
直接の Node.js ファイルシステム呼び出しを WSL コマンド実行に置き換える
特定のWSLディストリビューションを選択するためのサポートの追加
Windows と Linux 形式間のパス変換の実装
クロスプラットフォーム互換性のためのファイルコンテンツ処理の強化
WSL管理用の専用ツールの追加
ライセンス
このプロジェクトは、Model Context Protocol チームによって作成されたオリジナルのFilesystem MCP Serverのフォークです。
このWSL用MCPサーバーは、元のプロジェクトのライセンスに従い、MITライセンスに基づいてライセンスされています。つまり、MITライセンスの条件に従って、ソフトウェアを自由に使用、改変、配布できます。詳細については、元のプロジェクトリポジトリのLICENSEファイルをご覧ください。
This server cannot be installed
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.