Google Calendar MCPサーバー
Google Calendar MCPサーバーにより、LLMはGoogle Calendarに保存されたデータを確実に読み取り、解釈し、変更できます。 イベントの取得、空き状況の確認、カレンダーエントリの作成、更新、または削除を行うためのツールを提供します。 Google Calendar MCPサーバーは、Google Calendarの共有およびプライバシー境界に関する権限インターフェースに従います。
Google Calendar MCPサーバーは、構造化されたイベントデータと空き状況データを公開することで、日次および週次の計画、会議のスケジュール設定、再スケジュール、休暇計画、レポート作成、ワークロード評価など、アシスタント主導の幅広いワークフローをサポートします。
用途
次のアクションを実行する場合は、Google Calendar MCPサーバーを使用します:
- 計画またはレポート作成のために、今後または過去のカレンダーイベントを表示
- スケジュール設定をサポートするために、自分または他の出席者の空き状況を確認
- 新しい会議、集中時間、または不在イベントをスケジュール設定
- 既存のカレンダーイベントの再スケジュール、更新、またはキャンセル
プロンプト例
Google Calendar MCPサーバーのツールを呼び出すには、次のプロンプト例を使用します:
来週、アレックスとプリヤとの30分の予定をスケジュール設定して。今日は体調が悪いので、会議を移動して。数日休むのに適したタイミングはいつですか。週次レポートを準備して。今月の会議を要約して。先週、私は何を達成しましたか。会議負荷を改善するのを手伝って。
Google Calendar MCPサーバーツール
Google Calendar MCPサーバーは次のツールを提供します:
| ツール | 説明 |
|---|---|
| add_attendees_to_event | 出席者のメールアドレスを使用して、Google Calendarのイベントに出席者を追加します。 |
| create_default_event | 自然言語のリクエストから新しいカレンダーイベントを作成します。 |
| create_focus_time_event | ディープワーク用にカレンダー時間をブロックし、会議を自動辞退します。 |
| create_out_of_office_event | 休暇またはPTO用の不在イベントを作成し、会議招待を自動辞退します。 |
| delete_attendees_from_event | メールアドレスで出席者を特定し、イベントの出席者リストをそれに応じて更新することで、Google Calendarイベントから出席者を削除します。 |
| delete_event | 一意のイベントIDで識別される既存のGoogle Calendarイベントを削除またはキャンセルします。 |
| get_availability | 空き時間枠のカレンダー空き状況を確認します。 |
| get_event | 一意のイベントIDを使用して、単一のGoogle Calendarイベントの完全な詳細を取得します。 |
| list_calendars | 個人、共有、チームのカレンダーを含むカレンダーのリストを取得します。 |
| list_events | ユーザーのカレンダーイベントのリストを取得します。 |
| update_default_event | 変更されていないデータを保持しながら、特定のフィールドを変更して既存のカレンダーイベントを更新します。 |
| update_focus_time_event | 時刻、辞退設定、チャットステータスなど、既存の集中時間イベントを更新します。 |
| update_out_of_office_event | 日付、辞退モード、メッセージなど、不在イベントを更新します。 |
| get_user_timezone | ユーザーのメインカレンダーに設定されているタイムゾーンを取得します。 |
Google Calendar MCPサーバーのインストール
構築済みMCPサーバーをプロジェクトにインストールするには、次の手順を完了します:
Workatoアカウントにサインインします。
AI Hub > MCP serversに移動します。
+ Create MCP serverをクリックします。
接続済みアプリを使用して構築済みMCPサーバーを開始するセクションに移動し、使用する構築済みMCPサーバーを選択します。
Use this serverをクリックします。
サーバー名フィールドにMCPサーバーの名前を入力します。
場所ドロップダウンメニューを使用して、MCPサーバーのプロジェクトを選択します。
Connectionsセクションに移動し、アプリアカウントに接続します。
MCPサーバーテンプレートで使用するコネクションタイプを選択します。
- User's connection: MCPサーバーツールは、アプリケーションに接続するユーザーのIDと権限に基づいてアクションを実行します。 ユーザーは自分の認証情報で認証し、スキルを実行します。
- Your connection: このオプションでは、レシピビルダーによって確立されたコネクションを使用し、通常のアプリコネクションと同じ原則に従います。
コネクションタイプを選択
検証済みユーザーアクセスの認証要件
OAuth 2.0認可コードグラントを使用するアプリコネクションのみが、ユーザーのコネクションで利用できます。 詳細については、検証済みユーザーアクセスを参照してください。
次のセクションで、アプリ固有のコネクション設定手順を完了します。
Google Calendarコネクションのセットアップ
Google Calendarコネクションのセットアップ手順を表示
Google Calendarコネクションを設定するには、次のセクションを参照してください:
OAuth 2.0認証
OAuth 2.0を使用してGoogle Calendarコネクションを設定するには、次の手順を実行します:
OAuth 2.0認証手順を表示
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページで、コネクションとしてGoogle Calendarを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
場所ドロップダウンメニューから、コネクションを保存するプロジェクトを選択します。
Authentication typeとしてOAuth 2.0を選択します。
Googleでログインをクリックし、Googleアカウントにログインします。 Workatoで使用する予定のイベントおよびカレンダーを管理するための十分な権限がGoogleアカウントにあることを確認します。
Googleでログインをクリックします。
サービスアカウント認証
サービスアカウント認証手順を表示
Googleサービスアカウントは、Google Cloudプロジェクト(GCP)に関連付けられた専用のGoogleアカウントであり、ユーザーに代わってAPIリクエストを実行できます。
サービスアカウントには次の利点があります:
- 継続的な運用: サービスアカウントにより、個々のユーザー権限が変更された場合でも運用を継続できます。
- 専用の権限: サービスアカウントは、共有先として指定したプロジェクトにのみアクセスできます。
- 専用のAPIクォータ: GCPを通じてサービスアカウントのAPIクォータを管理し、Googleに直接クォータの引き上げをリクエストできます。
サービスアカウントの詳細については、Googleサービスアカウントのドキュメントを参照してください。
サービスアカウント認証は、次のアクションで構成されています:
サービスアカウントコネクションの最小スコープ
サービスアカウントを使用してGoogle Calendarに接続するには、次のスコープが必要です:
https://www.googleapis.com/auth/calendarhttps://www.googleapis.com/auth/calendar.eventshttps://www.googleapis.com/auth/admin.directory.resource.calendarhttps://www.googleapis.com/auth/taskshttps://www.googleapis.com/auth/userinfo.email
サービスアカウントでOwnerロールを使用している場合、または必要なスコープが不足している場合、401 Unauthorized errorが発生することがあります。 Google Cloud ConsoleでサービスアカウントにEditorロールを割り当て、上記の必要なスコープがすべて含まれていることを確認します。 これにより、サービスアカウントが正常に認証され、Google Calendarにアクセスできるようになります。
サポートされているスコープの完全なリストについては、Google Calendar APIスコープのドキュメントを参照してください。
Googleサービスアカウントを設定する
Googleサービスアカウントの設定手順を表示
Googleサービスアカウントを設定するには、次の手順を実行します:
GCPプロジェクトでサービスアカウントを作成します。
IAMと管理>サービスアカウントに移動します。 ダッシュボードのスコープが、サービスアカウントを含むプロジェクトに設定されていることを確認します。
ダッシュボードのスコープを確認します。
使用するサービスアカウントのメールをクリックします。
使用するサービスアカウントのメールをクリックします。
サービスアカウントのメールをコピーし、後でコネクションを設定するために保存します。
アカウントのメールをコピーします。
キータブに移動します。
秘密鍵を生成し、JSON形式でダウンロードします。 キーは1回しかダウンロードできません。
JSONファイルを開き、秘密鍵全体を-----BEGIN PRIVATE KEY-----から-----END PRIVATE KEY-----\nまで(両端を含む)コピーして、後でコネクションを設定するために保存します。
Google Calendar APIを有効化
Google Calendar APIの有効化手順を表示
コネクションの設定を完了するためにWorkatoに戻る前に、Google Calendar APIを有効にする必要があります。
GoogleのAPIライブラリにサインインします。
Google Calendar APIを検索して選択します。
有効にするをクリックしてAPIを有効にします。 
Google Calendar APIを有効にする
Workatoでセットアップを完了
Workato設定手順を表示
サービスアカウントを使用してGoogle Calendarコネクションを設定するには、Workatoで次の手順を実行します:
作成 > コネクションをクリックするか、Cを2回押します。
新規コネクションページで、コネクションとしてGoogle Calendarを検索して選択します。
コネクション名フィールドにコネクションの名前を入力します。
ロケーションドロップダウンメニューを使用して、コネクションを保存するプロジェクトを選択します。
Authentication typeとしてService accountを選択します。
サービスアカウントの秘密鍵を入力します。
権限を借用する予定のアカウントのユーザーのメールアドレスを指定します。
ユーザーの権限借用により、サービスアカウントは指定したユーザーに代わって、そのユーザーのGoogle Calendarのイベントにアクセスして管理できます。 ユーザーの権限を借用すると、データの正確性が確保され、Google Calendarでそのユーザーに設定された権限とアクセス制御が適用されます。 詳細については、Googleのサービスアカウントの権限借用ガイドを参照してください。
設定を完了するには、Googleでログインをクリックします。
Google Calendarサービスアカウントコネクションの設定
Google Calendar MCPサーバーツールの使用方法
利用可能なツールの詳細については、次のセクションを参照してください:
add_attendees_to_eventツール
add_attendees_to_eventツールは、メールアドレスを使用して既存のGoogle Calendarイベントに新しい参加者を追加します。 LLMはこのツールを使用して、カレンダーインターフェースを手動で開くことなく、会議招待を拡張したり、追加の関係者を含めたり、ゲストリストを管理したりします。
質問例:
[email protected]を'プロジェクトキックオフ'会議に追加して。[email protected]と[email protected]の両方を金曜日の'Weekly Sync'に招待して。明日の2 PMの予定にエンジニアリングリードを追加して。'Client Demo'イベントを更新して、営業チームのエイリアスを含めて。
create_default_eventツール
create_default_eventツールは、新しい会議、予定、または終日イベントをGoogle Calendarに直接スケジュール設定します。 LLMはこのツールを使用して、1回限りの同期または定期的なチーム会議を作成します。
質問例:
明日の2 PMに'Design Review'という会議をスケジュール設定して。今週金曜日に'Company Picnic'の終日イベントを作成して。毎週月曜日の10 AMに[email protected]との定期的な'Weekly Sync'を設定して。
create_focus_time_eventツール
create_focus_time_eventツールは、ディープワーク専用の特殊なカレンダーブロックを作成します。 標準イベントとは異なり、このツールは生産性を守るために、スケジュール設定された時間枠中にステータスをbusyに設定し、受信する会議招待を自動的に辞退します。
質問例:
明日の朝9 AMから2時間の集中時間をスケジュール設定して。プロジェクトレポートを仕上げるため、金曜日の午後を集中時間としてブロックして。ディープワークの時間が必要です。今日の1 PMに集中イベントを作成して。毎週水曜日の2 PMから4 PMまで集中時間を設定し、新しい会議をすべて自動辞退して。
create_out_of_office_eventツール
create_out_of_office_eventツールは、休暇、PTO、または完全に対応できない任意の期間を管理するために設計されています。 LLMがこのツールを使用すると、Google Calendarは指定した時間と重なる新規または既存の会議招待を自動的に辞退します。
質問例:
次の月曜日から水曜日までの休暇用に不在イベントを設定して。今日の午後1 PMからPTOを取ります。OOOブロックを作成して。7月の最初の週全体に不在イベントを作成して。明日の朝の医師の予約についてOOOとしてマークし、会議をすべて辞退して。
delete_attendees_from_eventツール
delete_attendees_from_eventツールは、メールで出席者を特定し、イベントの出席者リストをそれに応じて更新することで、Google Calendarイベントから出席者を削除します。
質問例:
[email protected]を'Budget Review'会議から削除して。明日の同期の出席者リストからサラを外して。'Client Lunch'イベントを更新して、前任のアカウントマネージャーを削除して。'Sprint Planning'に間違った人を招待しました。[email protected]を削除できますか。
delete_eventツール
delete_eventツールは、イベントIDを使用してカレンダーからイベント全体を削除またはキャンセルします。
質問例:
'Budget Review'会議をキャンセルしてIDがabc123xyzのイベントを削除してカレンダーから'Team Lunch'を削除して
get_availabilityツール
get_availabilityツールは、カレンダーを分析して空き時間枠を見つけます。 LLMはこのツールを使用して、新しい会議のためにスケジュールの空きを見つけたり、ランチの予定に空いているかを確認したり、ディープワークに最も空き時間の多い午後を確認したりします。
質問例:
明日、30分の会議に空いている時間はいつですか。今週金曜日の午後の空き状況を確認して。水曜日の9 AMから12 PMの間に空き枠はありますか。来週、1時間の通話に対応できる時間を見つけて。
get_eventツール
get_eventツールは、一意のイベントIDを使用して、特定のGoogle Calendarエントリの包括的な詳細を取得します。 LLMはこのツールを使用して、説明、Google Meetなどのビデオ会議リンク、主催者、招待されたすべてのゲストのステータスなど、会議の完全なコンテキストを表示します。
質問例:
IDが'abc123xyz'の会議の完全な詳細を取得して。3 PMの通話の説明と会議リンクを表示して。'Product Launch'イベントの詳細を確認して、ダイヤルイン番号があるか見て。'Team Lunch'のメタデータを取得して、誰が招待を承諾したか確認して。
list_calendarsツール
list_calendarsツールは、表示または編集できるすべてのカレンダーのリストを取得します。 これには、メインの個人カレンダー、共有チームカレンダー、休日カレンダー、およびGoogleアカウントに追加した特定のプロジェクトカレンダーが含まれます。
質問例:
アクセス権のあるすべてのカレンダーを表示して。共有チームカレンダーのIDは何ですか。'プロジェクトX'のカレンダーを見つけられるよう、すべてのカレンダーを一覧表示して。アカウントで有効になっているカレンダーを確認して。
list_eventsツール
list_eventsツールは、カレンダーからユーザーイベントを取得します。 LLMはこのツールを使用して、1日の予定を確認したり、過去の特定の会議を見つけたり、今後の予定のリストを取得したりします。
質問例:
今日の私のスケジュールはどのようになっていますか。来週のすべての会議を一覧表示して。1月1日から1月15日までのカレンダー上のすべてのイベントを検索して。メインカレンダーの次の10件のイベントを表示して。
update_default_eventツール
update_default_eventツールは、再作成せずに既存のGoogle Calendarイベントの詳細を更新します。 LLMはこのツールを使用して、イベント情報の残りを変更せずに、時刻、タイトル、場所、説明などの特定のフィールドを変更します。
質問例:
明日の'プロジェクト同期'の開始時刻を2 PMではなく3 PMに変更して。'Team Lunch'の場所を'The Daily Grill'に更新して。金曜日の'Catch up'会議の名前を'Quarterly Strategy Session'に変更して。'Client Demo'イベントに新しいアジェンダを説明する説明文を追加して。
update_focus_time_eventツール
update_focus_time_eventツールは、既存の集中時間ブロックを更新します。 LLMはこのツールを使用して、ディープワークの時間枠を別の時刻に移動したり、その時間帯の会議を自動的に辞退するかどうかを変更したり、集中中のチャット空き状況ステータスを更新したりします。
質問例:
今日の午後の集中時間を4 PM開始に移動して。明日の集中ブロックを更新して、会議招待の自動辞退を停止して。水曜日の'Deep Work'セッションをさらに1時間延長して。金曜日の集中時間の設定を変更して、チャット上で'Available'として表示されるようにして。
update_out_of_office_eventツール
update_out_of_office_eventツールは、既存の不在エントリを更新します。 LLMはこのツールを使用して、日付を移動したり、招待が辞退されたときに相手に表示される自動メッセージを更新したり、競合する会議をカレンダーが処理する方法を変更したりします。
質問例:
休暇ブロックを延長して、次の木曜日を含めて。明日のOOOの辞退メッセージを次のように更新して: '会議に参加しています。緊急の場合はサラに連絡してください。金曜日のPTOを12 PM以降にのみ開始するよう変更して。来週の招待の自動辞退を停止するように、'Out of Office'設定を変更して。
get_user_timezoneツール
get_user_timezoneツールは、メインカレンダーに設定されているタイムゾーンを取得します。 LLMはこのツールを使用して、イベント時刻を正しく解釈し、タイムゾーンをまたいで調整する際のスケジュール設定精度を確保し、カレンダーイベントを作成または更新する前にタイムゾーン設定を確認します。
質問例:
カレンダーはどのタイムゾーンに設定されていますか。国際チーム会議をスケジュール設定する前に、カレンダーのタイムゾーンを確認して。Google Calendarで現在設定されているタイムゾーンは何ですか。ロンドンオフィスとの通話を正しく調整できるよう、タイムゾーンを確認して。
はじめに
MCP serverのツールは、Overviewページのツールセクションで表示および管理できます。 ツール管理では、次の機能を利用できます:
ツールを開始する必要があります
LLMは、MCP server connector内のアクティブなツールにのみアクセスできます。
Last updated: