mcpField
C
Calendar.app

Calendar.app

ローカル
github.com/p-l-ta生産性110 週間前に更新

Calendar.app について

Calendar.appは、macOS上のカレンダーにMCPクライアントからアクセスするローカルMCPサーバーです。設定済みアカウントの予定を管理でき、データベースから読み取り、変更にはAppleScriptを使います。外部サービスへデータは送信しません。

主な機能

  1. 01カレンダーと期間内の予定を一覧表示
  2. 02予定の検索と詳細の取得
  3. 03予定の作成・更新・削除
  4. 04繰り返し予定の各回を展開
  5. 05Calendar.appの設定済みアカウントにアクセス

活用シーン

  1. 01複数アカウントのスケジュールを確認
  2. 02タイトル・説明・場所で予定を検索
  3. 03MCPクライアントから会議を作成・編集
  4. 04繰り返し予定と各回を管理

MCP 対応

stdio経由で、予定の照会、検索、作成、更新、削除を行う7つのカレンダーツールをMCPクライアントに公開します。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"p-l-ta-calendar": {
"command": "npx",
"args": [
"-y",
"@p-l-ta/calendar-mcp"
]
}
}
}
起動コマンドnpx -y @p-l-ta/calendar-mcp

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

パッケージ
npm@p-l-ta/calendar-mcp1.0.0

ツール

7

掲載時のツール一覧 · 2 週間前に更新

このツールにパラメーターはありません。

詳細

calendar-mcp

MCP サーバーで、Claude(およびその他の MCP ホスト)から macOS の Calendar.app に完全にアクセスできます。Calendar.app で設定されているすべてのアカウント(iCloud、Google、Exchange など)のイベントを一覧表示、検索、作成、更新、削除できます。

前提条件

  • macOS(Calendar.app が必要です)
  • Node.js 20+
  • MCP ホスト:Claude Desktop または任意の stdio MCP クライアント

インストール

Claude Desktop — ワンクリックインストール(推奨)
  1. 最新リリースから calendar-mcp.mcpb をダウンロードします
  2. .mcpb ファイルをダブルクリックすると、Claude Desktop が自動的にインストールします
  3. 必要な macOS のアクセス権を許可します(以下を参照)
手動インストール/その他のホスト
npx @p-l-ta/calendar-mcp

または、グローバルにインストールします。

npm install -g @p-l-ta/calendar-mcp
calendar-mcp

MCP ホストで calendar-mcp バイナリ(stdio トランスポート)を指定します。設定例:

{
  "mcpServers": {
    "calendar-app": {
      "command": "npx",
      "args": ["@p-l-ta/calendar-mcp"]
    }
  }
}

必要な macOS のアクセス権

MCP ホストを実行するアプリケーション(Claude Desktop など)に、以下のアクセス権を許可してください。

アクセス権許可する場所
フルディスクアクセスシステム設定 → プライバシーとセキュリティ → フルディスクアクセス
オートメーション → カレンダーシステム設定 → プライバシーとセキュリティ → オートメーション

MCP サーバーのプロセスは、起動元のホストアプリケーションからアクセス権を継承します。

ツール

ツール説明
list_calendars名前、色、アカウント、UUID を含むすべてのカレンダーを一覧表示します
list_events繰り返しイベントの各開催分を含む、指定期間内のイベントを一覧表示します
get_eventUUID で指定した単一イベントの詳細(参加者を含む)を取得します
search_eventsタイトル、説明、場所を対象にイベントをテキスト検索します
create_event新しいカレンダーイベントを作成します
update_event既存のイベントのプロパティを更新します
delete_eventイベントを完全に削除します

動作の仕組み

  • 読み取り(list_calendars、list_events、search_events、get_event)— Calendar の SQLite データベースを直接クエリし、すべてのアカウントを対象に高速で構造化された結果を取得します。繰り返しイベントは Calendar の OccurrenceCache テーブルを使って正しく展開されます。
  • 書き込み(create_event、update_event、delete_event)— Calendar.app に対する AppleScript オートメーションを使うため、アプリで操作した場合と同様に、変更が接続されているすべてのアカウント(iCloud、Google、Exchange)に同期されます。

開発

npm install
npm run dev          # tsx watch — live reload
npm run build        # compile TypeScript → dist/
npm run mcpb         # build Claude Desktop extension → build/calendar-mcp.mcpb
npm run smoke        # smoke-test all 7 tools against live Calendar.app data

注: npm run smoke を実行するには、Calendar.sqlitedb を直接読み取るため、Terminal.app(またはお使いのターミナルエミュレーター)にフルディスクアクセスを許可する必要があります。

対話形式での MCP テスト:

npm run build
npx @modelcontextprotocol/inspector node dist/server.js

プライバシーポリシー

calendar-mcp は、Mac 上で完全に動作するローカル MCP サーバーです。バックエンドやテレメトリはなく、独自にネットワークリクエストを行うこともありません。

アクセスするデータ:

  • Calendar の SQLite データベース(~/Library/Group Containers/group.com.apple.calendar/Calendar.sqlitedb)— 読み取り専用で、一覧表示/検索クエリに使用します
  • AppleScript 経由の Calendar.app — イベントの作成、更新、削除に使用します

行わないこと:

  • Mac の外部でデータを収集、保存、送信すること
  • 外部のサーバーや API に接続すること
  • カレンダーデータをどこかに記録すること

すべてのカレンダーデータはデバイス上に保持され、通常のツール応答の一部として MCP ホスト(Claude Desktop または別のクライアント)に渡されるだけです。Claude が呼び出せるツールは、ユーザーが完全に制御できます。

ライセンス

MIT

コメント

MCP は初めてですか?

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

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