mcpField
G
Google Calendar

Google Calendar

ローカル
github.com生産性14 日前に更新

Google Calendar について

Google Calendar は、Google Calendar のカレンダーや予定を管理する MCP サーバーです。予定調整、空き時間の確認、招待への対応、予定の更新に対応し、トークンや状態を保持せず OAuth をプロキシします。

主な機能

  1. 01カレンダーの一覧表示と管理
  2. 02予定の作成、更新、移動、削除
  3. 03招待への返信
  4. 04空き時間と予定の照会
  5. 05カレンダーのアクセス権と設定の管理

活用シーン

  1. 01会議の空き時間を探して招待を送る
  2. 02保留中の招待を承諾または辞退する
  3. 03当日の予定と空き時間を確認する
  4. 04予定を変更または集中時間を確保する

MCP 対応

カレンダー、予定、空き時間、招待、共有を管理するツールを MCP クライアントに提供します。Google への OAuth リクエストをプロキシし、トークンや状態は保持しません。

設定

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

mcp.json · 共通設定
{
"mcpServers": {
"domdomegg-google-cal": {
"command": "npx",
"args": [
"-y",
"google-cal-mcp"
],
"env": {
"GOOGLE_ACCESS_TOKEN": "<GOOGLE_ACCESS_TOKEN>",
"MCP_TRANSPORT": "<MCP_TRANSPORT>",
"GOOGLE_CLIENT_ID": "<GOOGLE_CLIENT_ID>",
"GOOGLE_CLIENT_SECRET": "<GOOGLE_CLIENT_SECRET>"
}
}
}
}
起動コマンドnpx -y google-cal-mcp
設定が必要な環境変数
GOOGLE_ACCESS_TOKENシークレットGoogle OAuth access token with Calendar scopes.
MCP_TRANSPORTTransport type.
GOOGLE_CLIENT_IDGoogle OAuth client ID.
GOOGLE_CLIENT_SECRETシークレットGoogle OAuth client secret.

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

パッケージ
npmgoogle-cal-mcp1.1.3

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

google-cal-mcp

Google Calendar 用の MCP サーバーです。カレンダーの予定の一覧表示、作成、更新、管理を行えます。

ユースケース

会議をスケジュールする:「来週、Sarah と 30 分の打ち合わせを設定して」→ 空き時間を見つけ、Meet のリンク付きで予定を作成し、招待を送信します。

招待に出欠を返信する:「チームのオフサイトには参加、ベンダーのデモは辞退して」→ 未返信の招待に自動で返信します。

空き時間を確認する:「今週の木曜の午後はいつ空いている?」→ カレンダーを照会し、空き時間を返します。

予定を変更する:「Alex との 1 対 1 を金曜の午後 2 時に移動して」→ 予定を更新し、参加者に通知します。

毎日の予定を確認する:「今日のカレンダーには何が入っている?」→ すべての予定を時刻、場所、参加者とともに一覧表示します。

集中作業の時間を確保する:「明日の午前中に、集中して作業するための時間を 2 時間確保して」→ 時間を確保するカレンダー予定を作成します。

(これらはあくまで例です。カレンダーへのアクセスが必要なワークフローであれば、どれでも利用できます。)

セットアップ

1. Google OAuth 認証情報を作成する
  1. Google Cloud Console にアクセスします
  2. 新しいプロジェクトを作成します(または既存のプロジェクトを使用します)
  3. Google Calendar API を有効にします
  4. APIs & Services → OAuth consent screen に移動し、同意画面を設定します
  5. APIs & Services → Credentials → Create Credentials → OAuth client ID に移動します
  6. Web application を選択します
  7. Authorized redirect URIs に http://localhost:3000/callback を追加します
  8. Client ID と Client Secret を控えておきます
2. サーバーを起動する
GOOGLE_CLIENT_ID='your-client-id' \
GOOGLE_CLIENT_SECRET='your-client-secret' \
MCP_TRANSPORT=http \
npm start

サーバーはデフォルトで http://localhost:3000 で実行されます。PORT=3001 で変更できます。

3. MCP クライアントに追加する

サーバーを起動した状態で、install-mcp の手順に従ってください。MCP クライアント(Claude Code、Claude Desktop、Cursor、Cline、VS Code など)に適した設定が生成されます。

アーキテクチャ

このサーバーは、Google への OAuth プロキシとして動作します。

graph LR
    A[MCP client] <--> B[google-cal-mcp] <--> C[Google OAuth/API]
  1. サーバーは /.well-known/oauth-authorization-server を通じて、自身を OAuth 認可サーバーとして通知します
  2. /register は Google OAuth クライアントの認証情報を返します
  3. /authorize はクライアントのコールバック URL を state に含めて、Google にリダイレクトします
  4. /callback は Google からコードを受け取り、クライアントのコールバックに転送します
  5. /token はトークンリクエストを Google にプロキシし、クライアントの認証情報を挿入します
  6. /mcp は MCP リクエストを処理し、ベアラートークンを使って Calendar API を呼び出します

このサーバーはトークンも状態も保持せず、Google への OAuth リクエストをプロキシするだけです。

ツール

ツール説明
カレンダー
calendars_listユーザーがアクセスできるすべてのカレンダーを一覧表示する
calendarlist_insert共有カレンダーを登録する
calendarlist_updateカレンダーの設定(色、表示設定、リマインダー)を更新する
calendarlist_deleteカレンダーの登録を解除する
予定
events_list時間範囲を指定して、検索・フィルター条件に一致する予定を一覧表示する
event_get特定の予定の詳細を取得する
event_create参加者と Meet のリンクを含む新しい予定を作成する
event_update既存の予定を更新する
event_delete予定を削除する
event_respond招待に出欠を返信する(参加/辞退/未定)
event_move予定を別のカレンダーに移動する
event_instances繰り返し予定の各回を取得する
空き時間
freebusy_queryスケジュール調整のために、空き時間と予定ありの時間を調べる
共有
acl_listカレンダーへのアクセス権を持つユーザーを一覧表示する
色
colors_getカレンダーや予定に使用できるカラーパレットを取得する

Calendar API のスコープ

  • calendar - カレンダーへのフルアクセス
  • calendar.events - 予定の読み取りと書き込み

コントリビューション

GitHub でのプルリクエストを歓迎します。始めるには、次の手順に従ってください。

  1. Git と Node.js をインストールします
  2. リポジトリをクローンします
  3. npm install で依存関係をインストールします
  4. npm run test を実行してテストを実行します
  5. npm run build でビルドします

リリース

バージョンはセマンティックバージョニング仕様に従います。

リリースするには:

  1. npm version <major | minor | patch> を使用してバージョンを更新します
  2. git push --follow-tags を実行してタグとともにプッシュします
  3. GitHub Actions が NPM レジストリに公開するまで待ちます。

コメント

MCP は初めてですか?

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

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