remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Integrations
Supports configuration through .env files to set WebDAV connection parameters, authentication credentials, and server options.
Provides containerized deployment of the MCP server with configurable environment variables for WebDAV connectivity and authentication.
Offers programmatic usage within Node.js applications through an importable API for custom MCP server implementations.
WebDAV MCP サーバー
WebDAVエンドポイントで基本認証によるCRUD操作を可能にするモデルコンテキストプロトコル(MCP)サーバー。このサーバーにより、Claude Desktopやその他のMCPクライアントは、自然言語コマンドを使用してWebDAVファイルシステムと対話できるようになります。
特徴
- オプションの認証を使用して任意のWebDAVサーバーに接続します
- ファイルとディレクトリに対してCRUD操作を実行する
- ファイル操作をMCPリソースおよびツールとして公開する
- stdio トランスポート (Claude Desktop 統合用) または HTTP/SSE トランスポート経由で実行
- オプションの基本認証による安全なアクセス
- MCP サーバー認証用の bcrypt 暗号化パスワードのサポート (プロトコルの制限により、WebDAV パスワードはプレーンテキストである必要があります)
- WebDAV サーバーのパフォーマンスを向上させる接続プール
- Zodを使用した構成検証
- トラブルシューティングを向上させる構造化されたログ
前提条件
- Node.js 18以降
- npmまたはyarn
- WebDAV サーバー (実際のファイル操作用)
インストール
オプション1: npmパッケージからインストールする
オプション2: ソースからクローンしてビルドする
オプション3: Docker
構成
次の変数を含む.env
ファイルをルート ディレクトリに作成します。
MCP サーバー認証用の暗号化パスワード
MCP サーバー (WebDAV 接続ではない) のセキュリティを強化するために、パスワードをプレーンテキストで保存する代わりに、bcrypt で暗号化されたパスワードを使用できます。
- bcryptハッシュを生成します:Copy
- ハッシュを {bcrypt} プレフィックスを付けて .env ファイルに追加します。Copy
これにより、MCPサーバーのパスワードは安全に保存されます。WebDAVパスワードはプロトコルの要件により、常にプレーンテキストで保存する必要があることにご注意ください。
使用法
stdioトランスポートで実行
このモードは、Claude Desktop との直接統合に最適です。
HTTP/SSEトランスポートで実行
このモードでは、リアルタイム通信のために Server-Sent Events を使用して HTTP 経由でサーバーにアクセスできます。
Docker Compose のクイックスタート
WebDAV サーバーと MCP サーバーの両方を使い始める最も簡単な方法は、Docker Compose を使用することです。
このセットアップでは、Go言語で書かれたシンプルなスタンドアロンのWebDAVサーバーであるhacdias/webdavを使用します。WebDAVサーバーの設定はwebdav_config.yml
に保存されており、これを変更することで権限の調整、ユーザーの追加、その他の設定の変更が可能です。
WebDAV サーバーは、すべてのファイルをwebdav_data
という Docker ボリュームに保存します。このボリュームは、コンテナの再起動後も保持されます。
WebDAVサーバーの構成
webdav_config.yml
ファイルは、Docker Compose セットアップで使用される hacdias/webdav サーバーを設定します。カスタマイズできる項目は以下のとおりです。
より詳細な設定オプションについては、 hacdias/webdav のドキュメントを参照してください。
テスト
テストを実行するには:
Claude Desktopとの統合
- Claude DesktopでMCP機能が有効になっていることを確認します
利用可能なMCPリソース
webdav://{path}/list
- ディレクトリ内のファイルを一覧表示するwebdav://{path}/content
- ファイルの内容を取得するwebdav://{path}/info
- ファイルまたはディレクトリの情報を取得する
利用可能なMCPツール
webdav_create_remote_file
- リモート WebDAV サーバーに新しいファイルを作成するwebdav_get_remote_file
- リモート WebDAV サーバーに保存されているファイルからコンテンツを取得しますwebdav_update_remote_file
- リモート WebDAV サーバー上の既存のファイルを更新するwebdav_delete_remote_item
- リモート WebDAV サーバーからファイルまたはディレクトリを削除しますwebdav_create_remote_directory
- リモート WebDAV サーバーに新しいディレクトリを作成するwebdav_move_remote_item
- リモート WebDAV サーバー上のファイル/ディレクトリを移動または名前変更するwebdav_copy_remote_item
- ファイル/ディレクトリをリモート WebDAV サーバー上の新しい場所にコピーしますwebdav_list_remote_directory
- リモート WebDAV サーバー上のファイルとディレクトリを一覧表示する
利用可能なMCPプロンプト
webdav_create_remote_file
- リモート WebDAV サーバーに新しいファイルを作成するように要求しますwebdav_get_remote_file
- リモート WebDAV ファイルからコンテンツを取得するためのプロンプトwebdav_update_remote_file
- リモート WebDAV サーバー上のファイルを更新するかどうかを確認するメッセージを表示します。webdav_delete_remote_item
- リモート WebDAV サーバーからファイル/ディレクトリを削除するように要求するwebdav_list_remote_directory
- リモート WebDAV サーバー上のディレクトリの内容を一覧表示するプロンプトwebdav_create_remote_directory
- リモート WebDAV サーバーにディレクトリを作成するように要求しますwebdav_move_remote_item
- リモート WebDAV サーバー上のファイル/ディレクトリの移動/名前変更を要求しますwebdav_copy_remote_item
- リモート WebDAV サーバー上のファイル/ディレクトリをコピーするためのプロンプト
クロードのクエリ例
WebDAV MCP サーバーに接続すると、Claude Desktop で使用できるクエリの例を次に示します。
- 「リモート WebDAV サーバー上のファイルを一覧表示する」
- 「リモート WebDAV サーバーに、次の内容を含む notes.txt という新しいテキスト ファイルを作成します: Hello World」
- 「リモート WebDAV サーバーから document.txt の内容を取得する」
- 「この新しい設定でリモート WebDAV サーバーの config.json を更新します」
- 「リモート WebDAV サーバーに projects というディレクトリを作成します」
- 「report.docx をリモート WebDAV サーバーのバックアップ場所にコピーします」
- 「ファイル old_name.txt をリモート WebDAV サーバー上の new_name.txt に移動する」
- 「リモート WebDAV サーバーから temp.txt を削除する」
プログラムによる使用
このパッケージを独自のプロジェクトでプログラム的に使用することもできます。
ライセンス
マサチューセッツ工科大学
This server cannot be installed
Claude Desktop およびその他の MCP クライアントが CRUD 操作用の自然言語コマンドを通じて WebDAV ファイル システムと対話できるようにするモデル コンテキスト プロトコル サーバー。