mcpField
J
jmap-calendar-mcp

jmap-calendar-mcp

ローカル
github.com/robertdoneill生産性01 週間前に更新

jmap-calendar-mcp について

jmap-calendar-mcp は、Stalwart 1.0 以降など、JMAP for Calendars に対応するサーバーのカレンダーを閲覧・管理する Python 製 MCP サーバーです。エージェントでの利用を想定し、削除と招待の送信は既定で無効です。

主な機能

  1. 01カレンダーと既定のカレンダーを一覧表示
  2. 02期間とテキストでイベントを検索
  3. 03イベントの作成と更新
  4. 04検索時に繰り返しイベントを展開
  5. 05削除と招待は明示的な有効化が必要

活用シーン

  1. 01今後のカレンダーイベントを確認
  2. 02会議の予定設定や変更
  3. 03期間を指定して繰り返しイベントを検索
  4. 04エージェントによるカレンダー変更を制限

MCP 対応

MCP クライアントに、カレンダーの一覧、検索、作成、更新、および任意の削除ツールを提供します。設定した JMAP セッションに bearer token で接続します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"robertdoneill-jmap-calendar": {
"command": "uvx",
"args": [
"jmap-calendar-mcp"
],
"env": {
"JMAP_SESSION_URL": "<JMAP_SESSION_URL>",
"JMAP_BEARER_TOKEN": "<JMAP_BEARER_TOKEN>",
"JMAP_ALLOW_INVITES": "<JMAP_ALLOW_INVITES>",
"JMAP_ALLOW_DELETE": "<JMAP_ALLOW_DELETE>"
}
}
}
}
起動コマンドuvx jmap-calendar-mcp
設定が必要な環境変数
JMAP_SESSION_URLJMAP session URL, usually https://<host>/.well-known/jmap
JMAP_BEARER_TOKENシークレットAPI key for the account, limited to calendar permissions
JMAP_ALLOW_INVITES1 to allow sending invitations when a call asks for it
JMAP_ALLOW_DELETE1 to offer delete_calendar_event

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypijmap-calendar-mcp0.2.0

ツール

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 を指定する必要があります。
  • カレンダー権限のみを持つキーを使用してください。 これにより、エージェントがメールを読んだり送信したりできなくなります。

セットアップ

  1. アカウント用の API キーを作成します。Stalwart では、管理画面でアカウントを開き(Directory → Accounts)、キーの権限を Replace all permissions に設定して、次の権限のみを付与します。

    • サーバーにサインイン
    • JMAP: カレンダーの詳細とプロパティを取得
    • JMAP: 指定した状態以降のカレンダーの変更を追跡
    • JMAP: カレンダー予定の詳細を取得
    • JMAP: 指定した状態以降のカレンダー予定の変更を追跡
    • JMAP: 条件に一致するカレンダー予定を検索
    • JMAP: カレンダー予定の検索結果の変更を追跡
    • JMAP: 新しいカレンダー予定を作成
    • JMAP: 既存のカレンダー予定を変更
    • JMAP: カレンダー予定を削除(JMAP_ALLOW_DELETE=1 を設定した場合のみ)

    このキーではメールを読んだり送信したりできません。

  2. 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_INVITES1 にすると、呼び出しで指定された場合に招待状の送信を許可します。デフォルトでは無効です
JMAP_ALLOW_DELETE1 にすると、delete_calendar_event を提供します。デフォルトでは無効です

可能であれば、キーをシェルの履歴や設定ファイルに保存せず、サーバーの起動時にパスワードマネージャーまたはシークレットストアから読み込んでください。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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