Provides tools for managing Google Calendar events including listing calendars, retrieving events, creating new events with details like title, time, location and attendees, and deleting existing events.
Google Calendar MCP Server
Google Calendar APIを使用したMCP(Model Context Protocol)サーバーです。FastMCPフレームワークを使用してGoogleカレンダーの操作機能を提供します。
機能
カレンダー一覧取得: 利用可能なGoogleカレンダーの一覧を取得
イベント取得: 指定したカレンダーからイベントを取得
イベント作成: 新しいカレンダーイベントを作成
イベント削除: カレンダーイベントを削除
要件
Python 3.12以上
Google Cloud Platformプロジェクト
Google Calendar API有効化
OAuth2認証情報
インストール
リポジトリをクローン
依存関係をインストール
またはuvを使用する場合:
設定
1. Google Cloud Platform設定
Google Cloud Consoleでプロジェクトを作成
Google Calendar APIを有効化
OAuth2認証情報を作成
必要な環境変数を設定
2. 環境変数設定
以下の環境変数を設定してください:
または.env
ファイルに設定:
3. OAuth2認証情報の取得
Google Cloud ConsoleでOAuth2認証情報を作成
認証フローを実行してリフレッシュトークンを取得
取得した値を環境変数に設定
使用方法
MCPサーバーとして実行
直接実行
API仕様
list_calendars()
利用可能なGoogleカレンダーの一覧を取得します。
引数: なし
戻り値:
success
(bool): 処理が成功したかどうかcalendars
(List[Dict]): カレンダー情報のリストcount
(int): カレンダー数error
(str): エラーメッセージ(失敗時)
get_events()
指定したカレンダーからイベントを取得します。
引数:
calendar_id
(str): カレンダーID(デフォルト: 'primary')time_min
(str): 開始時刻(ISO形式、デフォルト: 現在時刻)time_max
(str): 終了時刻(ISO形式、デフォルト: 7日後)max_results
(int): 最大取得件数(デフォルト: 10)
戻り値:
success
(bool): 処理が成功したかどうかevents
(List[Dict]): イベント情報のリストcount
(int): イベント数error
(str): エラーメッセージ(失敗時)
create_event()
新しいカレンダーイベントを作成します。
引数:
summary
(str): イベントタイトル(必須)start_time
(str): 開始時刻(ISO形式、必須)end_time
(str): 終了時刻(ISO形式、必須)description
(str): イベントの説明(デフォルト: '')location
(str): 場所(デフォルト: '')calendar_id
(str): カレンダーID(デフォルト: 'primary')attendees
(List[str]): 参加者メールアドレスのリスト(デフォルト: None)
戻り値:
success
(bool): 処理が成功したかどうかevent_id
(str): 作成されたイベントのIDevent_link
(str): イベントのGoogleカレンダーリンクmessage
(str): 成功メッセージerror
(str): エラーメッセージ(失敗時)
delete_event()
カレンダーイベントを削除します。
引数:
event_id
(str): 削除するイベントのID(必須)calendar_id
(str): カレンダーID(デフォルト: 'primary')
戻り値:
success
(bool): 処理が成功したかどうかmessage
(str): 成功メッセージerror
(str): エラーメッセージ(失敗時)
テスト
モックモードでのテスト実行
実際のAPIを使用したテスト実行
カバレッジレポート付きテスト実行
特定のテスト実行
プロジェクト構造
依存関係
fastmcp
: MCPサーバーフレームワークgoogle-api-python-client
: Google APIクライアントgoogle-auth-httplib2
: Google認証ライブラリgoogle-auth-oauthlib
: OAuth2認証ライブラリpython-dotenv
: 環境変数管理pytest
: テストフレームワークpytest-mock
: モックテストライブラリ
ライセンス
このプロジェクトのライセンスについては、LICENSEファイルを参照してください。
貢献
プルリクエストやイシューの報告を歓迎します。
トラブルシューティング
認証エラー
環境変数が正しく設定されているか確認
OAuth2認証情報が有効か確認
Google Calendar APIが有効化されているか確認
権限エラー
必要なスコープが設定されているか確認
カレンダーへのアクセス権限があるか確認
テストエラー
環境変数
USE_REAL_API
の設定を確認必要な依存関係がインストールされているか確認
This server cannot be installed
remote-capable server
The server can be hosted and run remotely because it primarily relies on remote services or has no dependency on the local environment.
Enables interaction with Google Calendar through the Google Calendar API. Supports listing calendars, creating/deleting events, and retrieving calendar events with OAuth2 authentication.