MCP

caldav-mcp:CalDAV カレンダーを AI アシスタントにつなぐ

CalDAV サーバーのアカウントをすでに持ち、AI アシスタントにカレンダーを確認・管理させたい人に最適。サーバー URL・ユーザー名・パスワードが必須で、作成・更新・削除は公開中のカレンダーに直接書き込まれるため、操作前に確認が必要です。

公式ソース · caldav-mcp

インストール

"command": "npx",
      "args": [
        "caldav-mcp"
      ],

こんな人に向いています

  • すでに CalDAV サーバーのアカウント(自前構築またはサービス提供元のもの)があり、AI アシスタントにカレンダーを直接確認・管理してほしい人。公式は「カレンダー操作を AI アシスタント向けのツールとして公開する」ものと位置づけています。
  • 対応する操作は次のとおりです:CalDAV サーバーへの接続、カレンダーの一覧表示、期間を指定したカレンダーイベントの一覧、イベントの作成、更新、UID による削除。
  • 利用前提は明確です:CalDAV サーバーの URL・ユーザー名・パスワードが必須で、それぞれ CALDAV_BASE_URL、CALDAV_USERNAME、CALDAV_PASSWORD の 3 つの環境変数で渡します。3 つとも必須です。
  • 向いていない人:CalDAV サーバーを持っていない人、アカウントの認証情報をローカルプロセスに渡したくない人。公式ドキュメントは、どの具体的な CalDAV サーバー実装に対応するか、読み取り専用モードがあるかのどちらも言及しておらず、この 2 点は未確認です。

3 分で最初の 1 回を試す

推奨のメイン経路:MCP クライアントの mcpServers 設定で npx で起動します。npx が caldav-mcp パッケージを自動取得して実行します。設定に次のスニペットを追加します:

"command": "npx",
      "args": [
        "caldav-mcp"
      ],

同じ設定内で、環境変数で認証情報を渡します:

"CALDAV_BASE_URL": "<CalDAV server URL>",
        "CALDAV_USERNAME": "<CalDAV username>",
        "CALDAV_PASSWORD": "<CalDAV password>"

保存してクライアントを再起動したら、まず読み取り系の呼び出しを 1 回行います:AI アシスタントに「私のカレンダーを一覧して」と頼みます。これは公式の機能リストにある List calendars に対応します。成功のサインは、アシスタントがそのアカウントのカレンダー一覧を返してくることです。このステップはカレンダー構造の読み取りのみでイベントの作成・変更はしませんが、あなたの認証情報を使って CalDAV サーバーに接続します。

重要な注意:このサーバーの作成・更新・削除はリモートへの書き込み操作で、公開中のカレンダーを直接変更します。書き込み操作の前に、アシスタントにこれから実行する操作・対象イベント・対象フィールドを復唱させ、あなたの確認を得てから実行してください。

公式は開発向けの実行方法も用意しています:TypeScript コードを watch モードで直接実行し、.env から環境変数を自動読み込みします。コードのデバッグ向きで、日常利用は上記の npx のメイン経路を使ってください。

使用例

事例 1:接続と権限の確認(List calendars)。状況:認証情報を設定したばかりで、URL やパスワードが正しいか確信がない。やり方:アシスタントに「私のカレンダーを一覧して」と頼みます。認証情報を検証する最も低コストな読み取り操作です。期待できる結果:その CalDAV アカウントのカレンダー一覧が返ります。失敗する場合は、3 つの環境変数の値を確認してから再試行してください。

事例 2:update-event で必要なフィールドだけ変更。状況:会議の時間だけが変わり、タイトルや場所など他の情報はそのまま。やり方:アシスタントに対象イベントを特定させたうえで update-event を呼び出させ、変更したいフィールドだけを渡します。公式の説明は「既存のカレンダーイベントを更新する。指定されたフィールドのみ変更されます」。期待できる結果:指定したフィールドのみ更新され、それ以外は変わりません。確認ポイント:これはリモート書き込み操作で、変更は CalDAV サーバーに直接反映されます。実行前に対象イベントと変更フィールドを必ず確認してください。

利用の境界

  • 読み書きの性質:機能には読み取り(カレンダーの一覧、期間指定でのイベント一覧)と書き込み(作成・更新・UID による削除)の両方が含まれ、ツールは公開中のカレンダーに直接作用します。削除は UID 単位で行われ、削除後に復元できるか、取り消し手段があるかは公式に説明がなく、確認ステップでは特に厳格に。
  • 認証情報の要件:サーバー URL・ユーザー名・パスワードは環境変数で渡す必要があります。OAuth やアプリ専用パスワードなどの代替認証に対応するかは公式ドキュメントに記載がなく、未確認です。
  • 副作用と確認ポイント:書き込み操作はサーバー上のカレンダーを実際に変更します。update-event は指定されたフィールドのみを変更し、言及していないフィールドには影響しません。
  • その他の未確認事項:対応する CalDAV サーバーソフトの一覧、レート制限や同時実行制限についても公式の説明はありません。「記載がない」ことはドキュメントの範囲を示すだけで、安全性に関する結論ではありません。