プロトタイプ · プレビュー版:公式レジストリのすべてのサーバーを掲載し、30分ごとに同期しています。レビューとアカウント機能は今後のステップで始まります。
PopNx MCPAIを使う人のためのMCPサーバー · やさしい言葉で解説

Dav MCP

作者:PhilflowIOバージョン 5.0.0i★ –iパソコンで動く
レジストリ名io.github.PhilflowIO/dav-mcp

インストール

概要

作者による説明(英語の原文)

AI-orchestrated calendars, contacts & tasks across any DAV platform. 27 tools, field-agnostic.

PopNx MCPの3つの柱

この3つを1つのスコアにまとめることはしません。意見、測定、人気はそれぞれ別のものだからです。

できること

このサーバーのやさしい解説はまだ書いていません。以下はレジストリから読み取った事実です。

  • 接続方法: パソコンで動く
  • トランスポート: stdio
  • カテゴリ: その他
  • 入力が必要なもの:CALDAV_SERVER_URL, CALDAV_USERNAME, CALDAV_PASSWORD, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN

インストール

使っているAIアプリを選んで、設定をコピーしてください。

インストールの前に

  • 基本チェック:1項目中1項目に合格
  • あなたのパソコンで、あなたのユーザーと同じ権限(ファイル、ネットワーク、アプリ)で動きます。
  • 自分で入力するもの: CALDAV_SERVER_URL, CALDAV_USERNAME, CALDAV_PASSWORD, AUTH_METHOD, GOOGLE_SERVER_URL, GOOGLE_USER, GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN, GOOGLE_TOKEN_URL

「秘密」と表示された値は、あなたのアカウントの鍵です。絶対に人に教えたり、チャットに貼り付けたりしないでください。

必要なもの

  • npmNode.jsのインストール(npxコマンドに必要)

どのアプリを使っていますか?

上でアプリを選んでください。選んだアプリを覚えておくので、次からはボタンに「…にインストール」と表示されます。

Claude Desktop → Settings → Developer → Edit Config を開き、claude_desktop_config.json にこれを貼り付けます

{
  "mcpServers": {
    "dav": {
      "command": "npx",
      "args": [
        "-y",
        "dav-mcp"
      ],
      "env": {
        "CALDAV_SERVER_URL": "your-value",
        "CALDAV_USERNAME": "your-value",
        "CALDAV_PASSWORD": "your-value",
        "AUTH_METHOD": "your-value",
        "GOOGLE_SERVER_URL": "your-value",
        "GOOGLE_USER": "your-value",
        "GOOGLE_CLIENT_ID": "your-value",
        "GOOGLE_CLIENT_SECRET": "your-value",
        "GOOGLE_REFRESH_TOKEN": "your-value",
        "GOOGLE_TOKEN_URL": "your-value"
      }
    }
  }
}

ターミナルでこれを実行します

claude mcp add dav --env CALDAV_SERVER_URL=your-value --env CALDAV_USERNAME=your-value --env CALDAV_PASSWORD=your-value --env AUTH_METHOD=your-value --env GOOGLE_SERVER_URL=your-value --env GOOGLE_USER=your-value --env GOOGLE_CLIENT_ID=your-value --env GOOGLE_CLIENT_SECRET=your-value --env GOOGLE_REFRESH_TOKEN=your-value --env GOOGLE_TOKEN_URL=your-value -- npx -y dav-mcp

動かす前に、空欄の値を入力してください。

Cursorで開く

または、設定を自分でコピーする

プロジェクトの .cursor/mcp.json、または ~/.cursor/mcp.json に貼り付けます

{
  "mcpServers": {
    "dav": {
      "command": "npx",
      "args": [
        "-y",
        "dav-mcp"
      ],
      "env": {
        "CALDAV_SERVER_URL": "your-value",
        "CALDAV_USERNAME": "your-value",
        "CALDAV_PASSWORD": "your-value",
        "AUTH_METHOD": "your-value",
        "GOOGLE_SERVER_URL": "your-value",
        "GOOGLE_USER": "your-value",
        "GOOGLE_CLIENT_ID": "your-value",
        "GOOGLE_CLIENT_SECRET": "your-value",
        "GOOGLE_REFRESH_TOKEN": "your-value",
        "GOOGLE_TOKEN_URL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

VS Codeで開く

または、設定を自分でコピーする

プロジェクトの .vscode/mcp.json に貼り付けます

{
  "servers": {
    "dav": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "-y",
        "dav-mcp"
      ],
      "env": {
        "CALDAV_SERVER_URL": "your-value",
        "CALDAV_USERNAME": "your-value",
        "CALDAV_PASSWORD": "your-value",
        "AUTH_METHOD": "your-value",
        "GOOGLE_SERVER_URL": "your-value",
        "GOOGLE_USER": "your-value",
        "GOOGLE_CLIENT_ID": "your-value",
        "GOOGLE_CLIENT_SECRET": "your-value",
        "GOOGLE_REFRESH_TOKEN": "your-value",
        "GOOGLE_TOKEN_URL": "your-value"
      }
    }
  }
}

ブラウザがアプリを開いてよいか確認し、そのあとアプリが設定を表示して確認を求めます。キーの値は空欄のままなので、自分で入力してください。

これはパソコンで動くサーバーですが、ChatGPTがつなげるのはインターネット上のサーバーだけです。ほかのアプリを選んでください。

選んだアプリは、この端末のCookieに保存されます。アカウントは不要です。

自分で入力する値

  • CALDAV_SERVER_URL 必須 env
    Base URL of your CalDAV/CardDAV server (e.g. https://example.com/dav.php/)
  • CALDAV_USERNAME 必須 env
    Username for DAV server authentication
  • CALDAV_PASSWORD 秘密 必須 env
    Password or app-specific password for DAV server authentication
  • AUTH_METHOD env
    Authentication method, case-insensitive: 'Basic' (default; switches to Digest by itself when the server only offers Digest), 'Digest' (Digest-only servers without ever sending the password) or 'OAuth…
  • GOOGLE_SERVER_URL env
    Google CalDAV endpoint; required when AUTH_METHOD=oauth2
  • GOOGLE_USER env
    Google account email; required when AUTH_METHOD=oauth2
  • GOOGLE_CLIENT_ID env
    OAuth2 client ID; required when AUTH_METHOD=oauth2
  • GOOGLE_CLIENT_SECRET 秘密 env
    OAuth2 client secret; required when AUTH_METHOD=oauth2
  • GOOGLE_REFRESH_TOKEN 秘密 env
    OAuth2 refresh token; required when AUTH_METHOD=oauth2
  • GOOGLE_TOKEN_URL env
    OAuth2 token endpoint for AUTH_METHOD=oauth2 (default: https://oauth2.googleapis.com/token)

この設定は、作者のレジストリ登録情報から作成しています。READMEと違う場合は、READMEに従ってください。

できること

パソコンで動くサーバーです。インストールすると、ツール一覧がAIアプリに表示されます。

基本チェックi

誰でも見られる情報をチェックしており、コードは読んでいません。当てはまらない項目は数に入れていません。 · 2026年11月7日にチェック

  • ✓ 合格

    作者とリポジトリが一致

    レジストリ名は、リポジトリを所有するGitHubアカウント PhilflowIO で確認済みです

  • … 未チェック

    今もメンテナンスされている

    このリポジトリはまだGitHubから読み取っていません

  • … 未チェック

    ライセンスがある

    このリポジトリはまだGitHubから読み取っていません

  • – 対象外

    エンドポイントが応答する

    これはパソコンで動くため、インターネット上のエンドポイントはありません

  • – 対象外

    OAuthでサインイン

    パソコンで動き、代わりにローカルの設定を使います

  • … 未チェック

    ツールの説明に隠れた指示がない

    パソコンで動くサーバーです。ツール一覧を読み取れるのは、インターネット上のエンドポイントがある場合だけです

その他のほかのサーバーとの比較i

  • このカテゴリのほかの32572件のうち0%よりスターが多い
  • このカテゴリのほかの32572件のうち58%より最近レジストリに公開
  • 基本チェックの結果が、このカテゴリのほかの32572件のうち100%と同じかそれ以上

レジストリでこのカテゴリにある有効なすべてのサーバーと比較しています。スターは、公開者がリポジトリの所有者である場合だけ数えます。

よくある質問

Dav MCPは安全ですか?

当てはまる基本チェック1項目のうち1項目に合格しました。コードは読んでいません。キーやトークンを追加する前に、サーバーがどんなアクセスを求めているかを確認し、必要な権限だけを持つキーを使ってください。

どんなキーやコードが必要ですか?

入力が必要なもの:CALDAV_SERVER_URL, CALDAV_USERNAME, CALDAV_PASSWORD, GOOGLE_CLIENT_SECRET, GOOGLE_REFRESH_TOKEN

パソコンで動きますか、それともクラウドですか?

あなたのパソコンで動きます。必要なときにAIアプリが起動し、データは作者のサーバーを通りません(サーバー自体がオンラインサービスを呼び出す場合を除きます)。

今もメンテナンスされていますか?

GitHubリポジトリの最終更新は–、最新バージョン(5.0.0)がレジストリに届いたのは28 日前です。

どのアプリで使えますか?

Claude Desktop、Claude Code、Cursor、VS CodeなどのMCP対応アプリで使えます。パソコンにNode.jsも必要です。

代わりに使えるものは?

同じカテゴリには:Spec Driven Development, Remote Desktop Commander, AvaHR

代わりの候補

同じカテゴリで、ほかの作者が作ったサーバー。スターの多い順。

カードの見方:★ GitHubスターi3つの柱:レビュー · チェック · 利用状況i更新=最新バージョンをレジストリに公開した日i

Remote Desktop Commander

作者:desktop-commander

Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.

クラウドで動く★ 211昨日更新
インストール

AvaHR

作者:avahr.com

Read hiring data and create inactive assessment and questionnaire drafts for human review.

クラウドで動く今日更新
インストール

作者のREADME

READMEを開く

作者のリポジトリから書かれたとおりにコピーしたものです。PopNx MCPは内容を確認・推奨していません。HTML、画像、スクリプトは取り除いています。リンクはこのサイトの外へ移動します。

dav-mcp

Give your AI agents the power of organization — Transform them into orchestrating assistants managing calendars, contacts, and tasks.

Built on 27 production-ready tools spanning CalDAV, CardDAV, and VTODO protocols.


Quick Start

One-click install (Claude Desktop)
  1. Download dav-mcp- .mcpb from the latest release. Releases from 4.1.2 on carry this file.
  2. Open it with Claude Desktop (macOS or Windows). Claude shows an install dialog.
  3. Enter your server URL, username and password. The password is stored as a secret. Leave the authentication method at Basic unless your server needs Digest.

The .mcpb file is an MCP Bundle: the server with its dependencies, so neither Node.js nor npx needs to be installed.

Claude Desktop / Cursor (Local)

Add to your MCP config file:

{

"mcpServers": { "dav-mcp": { "command": "npx", "args": ["-y", "dav-mcp"], "env": { "CALDAV_SERVER_URL": "https://dav.example.com", "CALDAV_USERNAME": "your_username", "CALDAV_PASSWORD": "your_password" } } } }

Config file locations:

  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • Linux: ~/.config/Claude/claude_desktop_config.json

Restart Claude Desktop after adding the configuration.


n8n (Remote HTTP)

Start the HTTP server:

CALDAV_SERVER_URL=https://dav.example.com \

CALDAV_USERNAME=your_username \ CALDAV_PASSWORD=your_password \ BEARER_TOKEN=your-secret-token \ npx dav-mcp --http

Then in n8n:

  1. Add AI Agent node
  2. Add MCP Client Tool node and connect to AI Agent
  3. Configure:
  • MCP Endpoint: http://localhost:3000/mcp
  • Authentication: Bearer
  • Token: your-secret-token

Custom port:

npx dav-mcp --http --port=8080

Docker

Pull the published image (distroless, runs as non-root, no shell):

docker run -d --name dav-mcp -p 3000:3000 --env-file .env \

ghcr.io/philflowio/dav-mcp:latest

Tags: latest, the exact release (5.0.0) and the minor line (5.0). Set PORT to serve on a different port; the healthcheck follows it.

Or build from source:

git clone https://github.com/PhilflowIO/dav-mcp.git

cd dav-mcp cp .env.example .env

Edit .env with your credentials

docker-compose up


The Orchestration

When partial tools force your AI to improvise, complete tools let it execute precise operations across all components.

Capabilitydav-mcpMost MCPs
Calendar ManagementFull CRUD (12 tools)Create + list only (2-3 tools)
Contact ManagementComplete CardDAV (8 tools)Often missing entirely
Task ManagementFull VTODO support (7 tools)Rarely included
Field-Based UpdatesAll RFC properties + custom fieldsRarely available
Free/BusyWorks on every server (client-side)Native REPORT, unsupported by most
Server-Side FilteringEfficient queriesDumps all data
Multi-ProviderAny CalDAV/CardDAV serverLimited provider support
Total Tools27 tools2-6 tools

Available Tools (27 Total)

CalDAV Tools (12 tools)
  1. list_calendars - List all available calendars
  2. list_events - List ALL events (use calendar_query for filtered searches)
  3. create_event - Create a new calendar event
  4. update_event - PREFERRED: Update any event field (SUMMARY, LOCATION, STATUS, custom X-* properties); move or convert an event with start_date/end_date/all_day
  5. update_event_raw - Update event with raw iCal data (advanced)
  6. delete_event - Delete an event permanently
  7. calendar_query - PREFERRED: Search and filter events efficiently by text, date range, or location
  8. make_calendar - Create a new calendar collection, optionally with a time zone (an IANA name such as Europe/Berlin, sent as a VTIMEZONE)
  9. update_calendar - Update calendar properties (display name, description, color, time zone)
  10. delete_calendar - Delete a calendar and all its events
  11. calendar_multi_get - Batch fetch multiple specific events by URLs
  12. freebusy_query - Find free and busy time in a range ("when am I free?"), calculated client-side
CardDAV Tools (8 tools)
  1. list_addressbooks - List all available address books
  2. list_contacts - List ALL contacts (use addressbook_query for filtered searches)
  3. create_contact - Create a new contact (vCard)
  4. update_contact - PREFERRED: Update any contact field (FN, EMAIL, TEL, ORG, ADR, custom X-* properties)
  5. update_contact_raw - Update contact with raw vCard data (advanced)
  6. delete_contact - Delete a contact permanently
  7. addressbook_query - PREFERRED: Search and filter contacts efficiently by name, email, or organization
  8. addressbook_multi_get - Batch fetch multiple specific contacts by URLs
VTODO Tools (7 tools)
  1. list_todos - List ALL todos/tasks (use todo_query for filtered searches)
  2. create_todo - Create a new todo/task with optional due date, priority, status
  3. update_todo - PREFERRED: Update any todo field (SUMMARY, STATUS, PRIORITY, DUE, PERCENT-COMPLETE, custom X-* properties)
  4. update_todo_raw - Update todo with raw VTODO iCal data (advanced)
  5. delete_todo - Delete a todo/task permanently
  6. todo_query - PREFERRED: Search and filter todos efficiently by status/due date
  7. todo_multi_get - Batch fetch multiple specific todos by URLs
Time zones

An event or todo written without a time zone (a "floating" time such as DTSTART:20261010T090000, or an all-day date) is read in its calendar's time zone, as CalDAV specifies (RFC 4791 §9.9): the zone set with make_calendar / update_calendar, which list_calendars shows. A calendar without one is read in the zone dav-mcp runs in: the TZ environment variable (for example TZ=Europe/Berlin in Docker or an HTTP deployment), else the system's. A time without a zone given to the create and update tools is read the same way, and an event stored without a zone stays without one when it is moved. freebusy_query prints its slots in the calendar's zone and names it.


Real-World Applications

n8n Automation Workflows
  • Meeting Management: "Show me all Friday meetings" → calendar_query with date filter returns only relevant events
  • Contact Search: "Find everyone at Google" → addressbook_query with org filter finds matches efficiently
  • Task Reporting: "Show overdue high-priority tasks" → todo_query with filters returns specific results
  • Scheduled Cleanup: Daily cron job deletes completed tasks using targeted queries
Claude Desktop Integration
  • Quick Event Creation: "Create team meeting tomorrow 2 PM" → create_event executes immediately
  • Contact Lookup: "What's Sarah's email?" → addressbook_query with name filter finds contact
  • Calendar Overview: "What's on my calendar next week?" → calendar_query with date range shows events
  • Calendar Management: "Create a new calendar called Project Luna" → make_calendar creates collection

Works Across All Major Providers

Works with any CalDAV/CardDAV server that follows RFC 4791 and RFC 6352:

  • Nextcloud - Full support
  • Baikal - Full support
  • Radicale - Full support
  • iCloud - Works with app-specific password
  • Any RFC-compliant server - Standard protocol support

Authentication

AUTH_METHOD selects how dav-mcp logs in (case-insensitive):

AUTH_METHODCredentialsUse for
Basic (default)CALDAV_USERNAME, CALDAV_PASSWORDAlmost every server. If the server only offers Digest (for example Baikal set to Digest), dav-mcp switches to Digest by itself — no setting needed.
DigestCALDAV_USERNAME, CALDAV_PASSWORDServers that only accept Digest (RFC 7616). Unlike the automatic switch under Basic, which first sends the password once Basic-encoded and is then rejected, Digest never sends the password — use it when the connection is not HTTPS.
OAuth (or OAuth2)GOOGLE_*, see belowGoogle Calendar

dav-mcp needs Node.js 22 or newer. A wrong configuration — an unknown AUTH_METHOD value, or missing credentials for the chosen method — stops the server at startup instead of falling back to Basic.


Google Calendar (OAuth2)

For Google Calendar, use OAuth2 authentication:

{

"mcpServers": { "dav-mcp": { "command": "npx", "args": ["-y", "dav-mcp"], "env": { "AUTH_METHOD": "OAuth", "GOOGLE_USER": "your@gmail.com", "GOOGLE_CLIENT_ID": "your-client-id", "GOOGLE_CLIENT_SECRET": "your-client-secret", "GOOGLE_REFRESH_TOKEN": "your-refresh-token" } } } }


Security

  • Input Validation: All inputs validated with Zod schemas before execution
  • Rate Limiting (HTTP mode): 100 requests per 15 minutes per client address, counted before the bearer token is checked. Clients on loopback or a private network (10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16) — another container on the same Docker network, for example — get 10,000. Limitation: dav-mcp sees the address of whatever connects to it. Behind a Docker port mapping or a reverse proxy that is the bridge gateway or the proxy, so all outside clients share that one address, its one counter and its raised limit. Rate-limit per client at the proxy if you expose the HTTP transport.
  • Bearer Auth: Token authentication for HTTP transport
  • No Credential Storage: Pass-through only, never logged or cached
  • Structured Logging: Audit trail with request IDs, no PII exposure
  • Tool-Call Log Off by Default: LOG_TOOL_CALLS=true records every tool call with its arguments, for debugging — to ~/.local/state/dav-mcp/tool-calls.jsonl (or $XDG_STATE_HOME, %LOCALAPPDATA% on Windows, or TOOL_CALL_LOG_FILE), readable by you only. TOOL_CALL_LOG_MODE=console sends it to stderr instead.
  • CORS Protection: Whitelist origins, block cross-site attacks

Privacy Policy

dav-mcp runs on your machine (or your own server) and talks only to the DAV server you configure. It has no telemetry and shares nothing with its maintainers or third parties. Tool results go to the AI assistant that called the tool. Credentials and calendar data are not stored by dav-mcp; the optional tool-call log is off by default. Full policy: PRIVACY.md. Contact: hello@philflow.io.


Documentation

  • [MCP Specification](https://modelcontextprotocol.io/specification/2025-03-26) - Model Context Protocol docs
  • [tsdav Docs](https://tsdav.vercel.app/docs/intro) - CalDAV/CardDAV library reference
  • [CalDAV RFC 4791](https://datatracker.ietf.org/doc/html/rfc4791) - CalDAV protocol specification
  • [CardDAV RFC 6352](https://datatracker.ietf.org/doc/html/rfc6352) - CardDAV protocol specification

Contributing

Pull requests are welcome! Please read CONTRIBUTING.md for guidelines.


License

MIT License - see LICENSE for details


Acknowledgments

Built with:

  • [tsdav](https://github.com/natelindev/tsdav) - Excellent TypeScript CalDAV/CardDAV library
  • [tsdav-utils](https://github.com/PhilflowIO/tsdav-utils) - Field-agnostic utility layer for RFC-compliant field updates
  • [MCP SDK](https://modelcontextprotocol.io) - Model Context Protocol by Anthropic
  • **[ical.js](https://github.com/kewisch/ical.

冒頭だけを表示しています。続きはリポジトリで読めます

PopNxに聞く