LM

laubplusco/mcp-webdav-server

Developer tools

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。 原文を見る

19 stars 10 forks 品質 65 トレンド 22MIT

基本的な認証で、WebDAV エンドポイントでCRUD操作を可能にするモデルコンテキストプロトコル(MCP)サーバー.

概要

基本的な認証で、WebDAV エンドポイントでCRUD操作を可能にするモデルコンテキストプロトコル(MCP)サーバー。 このサーバーでは、Claude Desktop やその他の MCP クライアントが、自然言語コマンドを使用して WebDAV ファイルシステムとやり取りすることができます。 - 任意のWebDAVサーバーに接続して、オプションの認証 - ファイルとディレクトリのCRUD操作を実行 - MCPリソースとツールとしての露光ファイル操作 - stdioトランスポート(Claudeデスクトップ統合用)またはHTTP / SSEトランスポートを介して実行 - オプションの基本的な認証と安全なアクセス - MCPサーバー認証のためのbcrypt暗号化されたパスワードのサポート(WebDAVパスワードは、プロトコル制限による明白なテキストでなければなりません) - WebDAVサーバーとより良いパフォーマンスのための接続プール - トラブルシューティングを使用してZoconfigure - より良い構造を使用して検証 - トラブルシューティング - Node.js 18 以降 - npm または yarn - WebDAV サーバー (実際のファイル操作の場合) . .

概要(AI 翻訳)

基本的な認証で、WebDAV エンドポイントでCRUD操作を可能にするモデルコンテキストプロトコル(MCP)サーバー。 このサーバーでは、Claude Desktop やその他の MCP クライアントが、自然言語コマンドを使用して WebDAV ファイルシステムとやり取りすることができます。

##特徴

  • 任意の認証で任意のWebDAVサーバーに接続
  • ファイルとディレクトリのCRUD操作を実行する
  • MCP リソースとツールとしてファイル操作を公開する
  • stdioトランスポート(Claudeデスクトップ統合用)またはHTTP/SSEトランスポート経由で実行
  • オプションの基本的な認証によるセキュアなアクセス
  • MCPサーバー認証用のbcrypt暗号化されたパスワードのサポート(WebDAVパスワードはプロトコル制限によりテキストをプレーンする必要があります)
  • WebDAVサーバーでより良いパフォーマンスのための接続プール
  • Zod を使用した構成検証
  • より良いトラブルシューティングのための構造ログ

前提条件

  • Node.js 18以降
  • npmかヤーン
  • WebDAVサーバ(実際のファイル操作用)

インストール

##Option 1:npmパッケージからインストール

##Option 2: ソースからクローンとビルド

オプション 3: Docker

設定

次の変数でrootディレクトリにある[.envファイルを作成します

このページは AI により自動翻訳されています。技術的な詳細は原文をご確認ください。

README

以下は原文 README の抜粋です。原文を見る。

WebDAV MCP Server

A Model Context Protocol (MCP) server that enables CRUD operations on a WebDAV endpoint with basic authentication. This server enables Claude Desktop and other MCP clients to interact with WebDAV file systems through natural language commands.

Features

  • Connect to any WebDAV server with optional authentication
  • Perform CRUD operations on files and directories
  • Expose file operations as MCP resources and tools
  • Run via stdio transport (for Claude Desktop integration) or HTTP/SSE transport
  • Secure access with optional basic authentication
  • Support for bcrypt-encrypted passwords for MCP server authentication (WebDAV passwords must be plain text due to protocol limitations)
  • Connection pooling for better performance with WebDAV servers
  • Configuration validation using Zod
  • Structured logging for better troubleshooting

Prerequisites

  • Node.js 18 or later
  • npm or yarn
  • WebDAV server (for actual file operations)

Installation

Option 1: Install from npm package

# Global installation
npm install -g webdav-mcp-server

# Or with npx
npx webdav-mcp-server

Option 2: Clone and build from source

# Clone repository
git clone https://github.com/yourusername/webdav-mcp-server.git
cd webdav-mcp-server

# Install dependencies
npm install

# Build the application
npm run build

Option 3: Docker

# Build the Docker image
docker build -t webdav-mcp-server .

# Run the container without authentication
docker run -p 3000:3000 \
  -e WEBDAV_ROOT_URL=http://your-webdav-server \
  -e WEBDAV_ROOT_PATH=/webdav \
  webdav-mcp-server
  
# Run the container with authentication for both WebDAV and MCP server
docker run -p 3000:3000 \
  -e WEBDAV_ROOT_URL=http://your-webdav-server \
  -e WEBDAV_ROOT_PATH=/webdav \
  -e WEBDAV_AUTH_ENABLED=true \
  -e WEBDAV_USERNAME=admin \
  -e WEBDAV_PASSWORD=password \
  -e AUTH_ENABLED=true \
  -e AUTH_USERNAME=user \
  -e AUTH_PASSWORD=pass \
  webdav-mcp-server

Configuration

Create a .env file in the root directory with the following variables:

# WebDAV configuration
WEBDAV_ROOT_URL=http://localhost:4080
WEBDAV_ROOT_PATH=/webdav

# WebDAV authentication (optional)
WEBDAV_AUTH_ENABLED=true
WEBDAV_USERNAME=admin

# WebDAV password must be plain text (required when auth enabled)
# The WebDAV protocol requires sending the actual password to the server
WEBDAV_PASSWORD=password

# Server configuration (for HTTP mode)
SERVER_PORT=3000

# Authentication configuration for MCP server (optional)
AUTH_ENABLED=true
AUTH_USERNAME=user
AUTH_PASSWORD=pass
AUTH_REALM=MCP WebDAV Server

# Auth password for MCP server can be a bcrypt hash (unlike WebDAV passwords)
# AUTH_PASSWORD={bcrypt}$2y$10$CyLKnUwn9fqqKQFEbxpZFuE9mzWR/x8t6TE7.CgAN0oT8I/5jKJBy

Encrypted Passwords for MCP Server Authentication

For enhanced security of the MCP server (not WebDAV connections), you can use bcrypt-encrypted passwords instead of storing them in plain text:

GitHub で README 全文を見る

インストール

npx -y webdav-mcp-server
MCP 初心者?mcpskill.org のガイドから始めましょう →

設定

{ "mcpServers": { "webdav": { "command": "npx", "args": [ "-y", "webdav-mcp-server" ], "env": { "WEBDAV_ROOT_URL": "<WEBDAV_ROOT_URL>", "WEBDAV_ROOT_PATH": "<WEBDAV_ROOT_PATH>", "WEBDAV_USERNAME": "<WEBDAV_USERNAME>", "WEBDAV_PASSWORD": "<WEBDAV_PASSWORD>", "WEBDAV_AUTH_ENABLED": "true|false" } } } }