Skip to main content
Glama
google-calendar-mcp
by CHIHI913

Google Calendar MCP Server

Google Calendar APIを操作するMCP (Model Context Protocol) サーバーです。

機能

カレンダー操作

  • list_calendars - カレンダー一覧の取得

  • get_calendar - カレンダー詳細の取得

イベント操作

  • list_events - イベント一覧の取得

  • get_event - イベント詳細の取得

  • search_events - イベントの検索

  • create_event - イベントの作成(定期イベント対応)

  • update_event - イベントの更新

  • delete_event - イベントの削除

定期イベント操作

  • update_recurring_event - 定期イベントの更新

    • thisEventOnly: この予定のみ

    • all: すべての予定

    • thisAndFollowing: これ以降の予定

  • delete_recurring_instance - 定期イベントの特定インスタンス削除

ユーティリティ

  • get_freebusy - 空き時間情報の取得

  • list_colors - 利用可能なカラーパレットの取得

Related MCP server: mcp-google-calendar

セットアップ

1. Google Cloud Consoleでの準備

  1. Google Cloud Consoleでプロジェクトを作成

  2. Google Calendar APIを有効化

  3. OAuth 2.0クライアントIDを作成

    • アプリケーションの種類: ウェブアプリケーション

    • 承認済みのリダイレクトURI: http://localhost:8080/callback

  4. 認証情報JSONファイルをダウンロード

2. 環境変数の設定

export CLIENT_SECRET_PATH="/path/to/client_secret.json"
export TOKEN_PATH="/path/to/token.json"

3. インストールとビルド

pnpm install
pnpm build

4. 初回認証

サーバーを起動すると、初回はブラウザでGoogle認証を求められます。認証後、トークンが保存され、以降は自動的に認証されます。

使用方法

Claude Desktopでの設定

claude_desktop_config.jsonに以下を追加:

{
  "mcpServers": {
    "google-calendar": {
      "command": "node",
      "args": ["/path/to/google-calendar-mcp/dist/index.js"],
      "env": {
        "CLIENT_SECRET_PATH": "/path/to/client_secret.json",
        "TOKEN_PATH": "/path/to/token.json"
      }
    }
  }
}

Claude Codeでの設定

claude mcp add google-calendar node /path/to/google-calendar-mcp/dist/index.js \
  -e CLIENT_SECRET_PATH=/path/to/client_secret.json \
  -e TOKEN_PATH=/path/to/token.json

使用例

イベント一覧の取得

今日の予定を教えて

イベントの作成

明日の14時から15時に「打ち合わせ」という予定を作成して

定期イベントの作成

毎週月曜日の10時から11時に「週次ミーティング」を10回作成して

定期イベントの個別編集

今週の週次ミーティングだけ時間を11時からに変更して

技術スタック

  • TypeScript

  • Node.js >= 18.0.0

  • @modelcontextprotocol/sdk

  • googleapis

  • zod

ライセンス

MIT

Available Tools

12 tools
create_eventA

新しいカレンダーイベントを作成します。定期イベントの作成も可能です

Inputs: end (required), start (required), summary (required), colorId, +8 more.

delete_eventB

カレンダーイベントを削除します

Inputs: eventId (required), calendarId, sendUpdates.

delete_recurring_instanceA

定期イベントの特定のインスタンス(1回分)のみを削除します

Inputs: eventId (required), calendarId, sendUpdates, instanceDate, +1 more.

get_calendarA

指定したカレンダーの詳細情報を取得します

Inputs: calendarId (required).

get_eventA

特定のイベントの詳細情報を取得します

Inputs: eventId (required), calendarId.

get_freebusyA

指定した期間の空き時間情報を取得します。複数のカレンダーの予定が埋まっている時間帯を確認できます

Inputs: timeMax (required), timeMin (required), timeZone, calendarIds.

list_calendarsA

ユーザーがアクセス可能なカレンダーの一覧を取得します

Inputs: no named parameters.

list_colorsA

カレンダーとイベントで使用可能なカラーパレットを取得します

Inputs: no named parameters.

list_eventsB

指定した期間のカレンダーイベント一覧を取得します

Inputs: q, orderBy, timeMax, timeMin, +3 more.

search_eventsC

キーワードでイベントを検索します

Inputs: query (required), timeMax, timeMin, calendarId, +1 more.

update_eventB

既存のカレンダーイベントを更新します

Inputs: eventId (required), end, start, colorId, +7 more.

update_recurring_eventA

定期イベント(繰り返しイベント)を更新します。「この予定のみ」「すべての予定」「これ以降の予定」の3つの編集スコープをサポートします

Inputs: scope (required), eventId (required), end, start, +7 more.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    TDQS

    A3.7/5.0

    Scored across 12 tools

    Disambiguation5/5

    Each tool targets a distinct resource and action: calendars vs. events, list vs. get vs. search, and specific recurring-event tools are clearly separated from regular event tools. Descriptions further clarify any potential overlap, such as delete_recurring_instance versus delete_event.

    Naming Consistency5/5

    All tool names follow a consistent verb_noun pattern (list_, get_, search_, create_, update_, delete_), using snake_case throughout. Compound names like update_recurring_event and delete_recurring_instance are logical extensions of the pattern.

    Tool Count5/5

    12 tools is well within the ideal 3-15 range for a calendar server. Each tool addresses a meaningful aspect of calendar and event management without unnecessary redundancy or bloat.

    Completeness4/5

    The set provides comprehensive event CRUD, recurring event handling, free/busy lookup, and color details. Minor gaps include no ability to create/delete calendars (only list and get), but the core calendar workflow is well covered.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers