jmap-calendar-mcp について
jmap-calendar-mcp は、Stalwart 1.0 以降など、JMAP for Calendars に対応するサーバーのカレンダーを閲覧・管理する Python 製 MCP サーバーです。エージェントでの利用を想定し、削除と招待の送信は既定で無効です。
主な機能
- 01カレンダーと既定のカレンダーを一覧表示
- 02期間とテキストでイベントを検索
- 03イベントの作成と更新
- 04検索時に繰り返しイベントを展開
- 05削除と招待は明示的な有効化が必要
活用シーン
- 01今後のカレンダーイベントを確認
- 02会議の予定設定や変更
- 03期間を指定して繰り返しイベントを検索
- 04エージェントによるカレンダー変更を制限
MCP 対応
MCP クライアントに、カレンダーの一覧、検索、作成、更新、および任意の削除ツールを提供します。設定した JMAP セッションに bearer token で接続します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
uvx jmap-calendar-mcpJMAP_SESSION_URLJMAP session URL, usually https://<host>/.well-known/jmapJMAP_BEARER_TOKENシークレットAPI key for the account, limited to calendar permissionsJMAP_ALLOW_INVITES1 to allow sending invitations when a call asks for itJMAP_ALLOW_DELETE1 to offer delete_calendar_eventローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。
ツール
4掲載時のツール一覧 · 1 週間前に更新
このツールにパラメーターはありません。
詳細
jmap-calendar-mcp
AI エージェントがカレンダーを確認したり、予定を検索したり、JMAP カレンダーに対応する任意の JMAP サーバー上で予定を作成、変更、または(許可した場合は)削除したりできる MCP サーバーです。Stalwart 1.0 以降などに対応しています。
Python ファイル 1 つのみで、標準ライブラリだけを使用します。
ツール
| ツール | 機能 |
|---|---|
list_calendars | アカウントのカレンダーと、デフォルトのカレンダーを一覧表示します |
find_calendar_events | 指定した期間(デフォルトでは今後 30 日間)の予定を検索します。必要に応じてテキストで絞り込めます。繰り返し予定は展開されます |
create_calendar_event | 新しい予定を作成します。タイトル、開始時刻、タイムゾーン、所要時間または終日設定、説明、場所、参加者を指定できます |
update_calendar_event | 既存の予定の指定したフィールドのみを変更するか、別のカレンダーに移動します |
delete_calendar_event | 予定を削除します。繰り返し予定の場合はすべての回を削除します。JMAP_ALLOW_DELETE=1 の場合のみ提供されます |
エージェントが安全に利用できるように設計されています。
- デフォルトでは削除できません。 エージェントは予定の移動や名前の変更はできますが、削除はできません。
delete_calendar_eventを提供するにはJMAP_ALLOW_DELETE=1を設定します。キャンセル通知は送信されません。 - デフォルトでは招待状を送信しません。 参加者はメールを送らずに追加されます。招待状を送信するには、サーバーで
JMAP_ALLOW_INVITES=1を設定し、呼び出し時にsend_invitations: trueを指定する必要があります。 - カレンダー権限のみを持つキーを使用してください。 これにより、エージェントがメールを読んだり送信したりできなくなります。
セットアップ
-
アカウント用の API キーを作成します。Stalwart では、管理画面でアカウントを開き(Directory → Accounts)、キーの権限を Replace all permissions に設定して、次の権限のみを付与します。
- サーバーにサインイン
- JMAP: カレンダーの詳細とプロパティを取得
- JMAP: 指定した状態以降のカレンダーの変更を追跡
- JMAP: カレンダー予定の詳細を取得
- JMAP: 指定した状態以降のカレンダー予定の変更を追跡
- JMAP: 条件に一致するカレンダー予定を検索
- JMAP: カレンダー予定の検索結果の変更を追跡
- JMAP: 新しいカレンダー予定を作成
- JMAP: 既存のカレンダー予定を変更
- JMAP: カレンダー予定を削除(
JMAP_ALLOW_DELETE=1を設定した場合のみ)
このキーではメールを読んだり送信したりできません。
-
MCP クライアントにサーバーを追加します。Claude Code の場合:
claude mcp add calendar \
-e JMAP_SESSION_URL=https://mail.example.com/.well-known/jmap \
-e JMAP_BEARER_TOKEN=your-api-key \
-- uvx jmap-calendar-mcp
複数のアカウントを使用する場合は、アカウントごとにサーバーを 1 つ追加します(calendar-work、calendar-home)。
| 変数 | 意味 |
|---|---|
JMAP_SESSION_URL | サーバーの JMAP セッション URL。通常は https://<host>/.well-known/jmap です |
JMAP_BEARER_TOKEN | アカウント用の API キー |
JMAP_ALLOW_INVITES | 1 にすると、呼び出しで指定された場合に招待状の送信を許可します。デフォルトでは無効です |
JMAP_ALLOW_DELETE | 1 にすると、delete_calendar_event を提供します。デフォルトでは無効です |
可能であれば、キーをシェルの履歴や設定ファイルに保存せず、サーバーの起動時にパスワードマネージャーまたはシークレットストアから読み込んでください。
ライセンス
MIT
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。