mcpField
W
WebDAV MCP

WebDAV MCP

ローカル
github.com/vernonstinebakerファイル・ストレージ322 週間前に更新

WebDAV MCP について

WebDAV MCPは、WebDAV上のファイルを扱うAIエージェント向けの依存関係不要のサーバーです。単一の静的バイナリで、Node.jsやPythonなしにstdio経由で8種類のファイル・ディレクトリ操作を提供します。

主な機能

  1. 01ファイルとディレクトリの一覧表示
  2. 02ファイル内容の読み書き
  3. 03項目の削除・移動・コピー
  4. 04ディレクトリ作成とメタデータ確認
  5. 05ランタイム依存のない静的バイナリ

活用シーン

  1. 01WebDAVサーバー上のファイル閲覧
  2. 02リモート文書の読み取りや更新
  3. 03ファイルとディレクトリの整理
  4. 04MCP対応エージェントからのWebDAV操作

MCP 対応

stdio経由のJSON-RPC 2.0でMCPを実装し、MCPクライアントに8種類のWebDAV操作ツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbwebdav-mcp-macos-arm64
mcpbwebdav-mcp-macos-x86_64
mcpbwebdav-mcp-linux-x86_64
mcpbwebdav-mcp-linux-arm64
mcpbwebdav-mcp-linux-armv7
mcpbwebdav-mcp-windows-x86_64.exe

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

webdav-mcp

依存関係ゼロの WebDAV MCP サーバーです。単一の静的バイナリで動作し、Node.js や Python は不要です。

stdio 経由で JSON-RPC 2.0 を使用して Model Context Protocol(MCP)を実装し、MCP 対応の AI エージェントが呼び出せる 8 種類の WebDAV 操作をツールとして公開します。

このプロジェクトを作った理由

GitHub にある他の WebDAV MCP サーバーは、すべて Node.js または Python のランタイムを必要とします。このサーバーは Zig からコンパイルされた、自己完結型の単一バイナリ(約 100~160 KB)です。ランタイムをインストールせずにどこでも実行でき、1 台のマシンから主要なすべてのプラットフォーム向けにクロスコンパイルできます。

ツール

ツール説明
list指定したパスにあるファイルとディレクトリを一覧表示します
readファイルの内容をテキストとして読み取ります
writeファイルを書き込みます(新規作成または上書き)
deleteファイルまたはディレクトリを削除します
mkdirディレクトリを作成します
moveファイルまたはディレクトリを移動または名前変更します
copyファイルまたはディレクトリをコピーします(RFC 4918 §9.8.2 に従い Depth: infinity を送信します)
stat単一のファイルまたはディレクトリのメタデータを取得します(PROPFIND Depth:0)
ツールのパラメーター

list

  • path(必須)— WebDAV ルートからの相対ディレクトリパス
  • recursive(ブール値、デフォルトは false)— true の場合、Depth: infinity を使用して再帰的に一覧表示します。注:一部のサーバー(IIS、一部の nginx 設定)では、再帰的な一覧表示がブロックされます。

read

  • path(必須)— WebDAV ルートからの相対ファイルパス
  • max_bytes(整数、デフォルトは 1048576)— 読み取るファイルの最大サイズ(バイト単位)です。ファイルがこのサイズを超えるとエラーを返します。大きなファイルを読み取る場合は値を増やしてください。

write

  • path(必須)— WebDAV ルートからの相対ファイルパス
  • content(必須)— 書き込む内容
  • content_type(文字列、デフォルトは application/octet-stream)— ファイルの MIME タイプ(例:text/plain、application/json)
  • create_parents(ブール値、デフォルトは false)— true で親ディレクトリが存在しない場合、書き込み前に MKCOL を使用して不足しているすべての親ディレクトリを自動作成します

stat

  • path(必須)— WebDAV ルートからの相対パス
  • 返される値:file、dir、missing のいずれか、および利用可能な場合は size=、modified=、etag=、type=

設定

サーバーを起動する前に、以下の環境変数を設定してください。

変数説明例
WEBDAV_URLWebDAV サーバーのベース URLhttp://192.168.1.10:8080
WEBDAV_USERユーザー名admin
WEBDAV_PASSパスワードsecret
認証情報のセキュリティ

認証情報は、Zig のネイティブ HTTP ネットワーク機能を使用し、Authorization: Basic ... ヘッダーで送信されます。外部の curl プロセスは起動されません。

ソースからビルドする

Zig 0.16.0 が必要です。

# Development build
zig build

# Optimized release build (~100-160 KB)
zig build -Doptimize=ReleaseSmall

# Cross-compile for all platforms (outputs to zig-out/release/)
zig build cross
クロスコンパイル対象
ファイルプラットフォーム
webdav-mcp-macos-arm64macOS Apple Silicon
webdav-mcp-macos-x86_64macOS Intel
webdav-mcp-linux-arm64Linux ARM64(静的 musl)
webdav-mcp-linux-x86_64Linux x86-64(静的 musl)
webdav-mcp-linux-armv7Linux ARMv7 / Raspberry Pi(静的 musl)
webdav-mcp-windows-x86_64.exeWindows x86-64

nullclaw / *Claw ボットとの連携

ボットの config.json に mcp_servers エントリーを追加してください。

{
  "mcp_servers": {
    "webdav": {
      "command": "/path/to/webdav-mcp",
      "args": [],
      "env": {
        "WEBDAV_URL": "http://your-webdav-server:8080",
        "WEBDAV_USER": "your-username",
        "WEBDAV_PASS": "your-password"
      }
    }
  }
}

このサーバーは、標準の MCP トランスポートである、stdio 経由の JSON-RPC 2.0(改行区切り)を使用します。登録すると、エージェントは通常のツール呼び出しとして 8 種類すべてのツールを呼び出せます。

テストの実行

zig build test --summary all

すべてのユニットテストで、XML 解析、JSON-RPC ディスパッチ、引数の抽出、URL の構築、パーセントエンコーディング、エンティティのデコード、HTTP メソッドのルーティングを検証します。

ライセンス

MIT — LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。