MCP Google Calendar Server について
MCP Google Calendar Server は、Claude Desktop などの MCP クライアントを Google Calendar に接続します。OAuth 2.0、予定の追加と期間指定での一覧取得、今日の日付の取得に対応し、KST タイムゾーンもサポートします。
主な機能
- 01Google OAuth 2.0 認証
- 02カレンダー予定の追加
- 03期間指定での予定一覧取得
- 04今日の日付の取得
- 05KST タイムゾーン対応
- 06エラー処理とログ記録
活用シーン
- 01MCP クライアントから Google Calendar に予定を追加
- 02指定期間のカレンダー予定を確認
- 03ワークフローで今日の日付を取得
MCP 対応
Google Calendar の認証や予定操作を MCP クライアント向けのツールとして提供します。予定の追加、期間指定での一覧取得、今日の日付の取得に対応します。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
MCP Google Calendar サーバー
MCP(Model Context Protocol)ベースのGoogle Calendar統合サーバーです。Claude DesktopなどのMCPクライアントからGoogle Calendarに予定を追加できます。
機能
- Google OAuth 2.0認証
- Google Calendarへの予定の追加
- Google Calendarの予定の取得(期間別の取得に対応)
- 今日の日付の取得
- 韓国時間帯(KST)に対応
- 詳細なエラー処理とログ記録
インストール方法
- リポジトリをクローン
git clone [repository-url]
cd mcp-server-google-calendar
- 依存関係をインストール
npm install
- 環境変数を設定
.envファイルを作成し、次の内容を追加します。
GOOGLE_CLIENT_ID=your_client_id
GOOGLE_CLIENT_SECRET=your_client_secret
Google Cloud Consoleの設定
- Google Cloud Consoleで新しいプロジェクトを作成します。
- Google Calendar APIを有効にします。
- OAuth 2.0クライアント IDを作成します。
- アプリケーションの種類:「デスクトップアプリ」
- 作成したクライアント IDとシークレットを
.envファイルに設定します。
Claude Desktopとの連携設定
-
Claude Desktopをインストール
- Claude Desktopをダウンロード
- MCP機能はウェブ版ではなく、デスクトップアプリでのみ使用できます。
-
MCPサーバーを設定
~/Library/Application Support/Claude/claude_desktop_config.jsonファイルを作成し、次の内容を追加します。
{ "mcp-server-google-calendar": { "command": "/usr/local/bin/node", "args": ["/{절대경로}/mcp-server-google-calendar/dist/main.js"], "env": { "GOOGLE_CLIENT_ID": "your_client_id", "GOOGLE_CLIENT_SECRET": "your_client_secret", "NODE_ENV": "production" } } }設定項目の説明:
command:Node.js実行ファイルの絶対パスargs:実行するJavaScriptファイルの絶対パス(TypeScriptのビルド後に生成されるファイル)cwd:プロジェクトの作業ディレクトリの絶対パスenv:環境変数の設定GOOGLE_CLIENT_ID:Google Cloud Consoleで作成したクライアント IDGOOGLE_CLIENT_SECRET:Google Cloud Consoleで作成したクライアントシークレットNODE_ENV:実行環境の設定
注意:上記の例は、現在インストールされているパスを基準にしています。異なる環境では、その環境の絶対パスに変更する必要があります。
-
ビルドと準備
# TypeScript 컴파일 npm run build # Node.js 실행 파일 위치 확인 which node -
Claude Desktopを再起動
- 設定を適用するために、Claude Desktopを再起動します。
- ステータスアイコンをクリックして、サーバーの接続状態を確認できます。
- 接続に問題が発生した場合は、ログを確認します。
使用可能なツール
googleAuthLogin
Google Calendar APIの認証を行います。
// Claude에서 사용 예시
tool("googleAuthLogin");
addCalendarEvent
Google Calendarに新しい予定を追加します。
// Claude에서 사용 예시
tool("addCalendarEvent", {
title: "회의",
startTime: "2024-03-20 15:00", // YYYY-MM-DD HH:mm 형식
duration: "60", // 분 단위
});
listCalendarEvents
指定した期間のGoogle Calendarの予定を取得します。
// Claude에서 사용 예시
tool("listCalendarEvents", {
period: "2024-03-20~2024-03-27", // YYYY-MM-DD~YYYY-MM-DD 형식
});
getTodayDate
今日の日付をYYYY-MM-DD形式で返します。
// Claude에서 사용 예시
tool("getTodayDate");
デバッグ
ログの確認
# 실시간 로그 확인
tail -n 20 -F ~/Library/Logs/Claude/mcp*.log
開発者ツールを有効にする
- 開発者設定ファイルを作成します。
echo '{"allowDevTools": true}' > ~/Library/Application\ Support/Claude/developer_settings.json
- 開発者ツールを開きます:
Command-Option-Shift-i
エラー処理
サーバーは、次のような状況で適切なエラーメッセージを返します。
- Google認証が必要な場合
- 無効な時間形式が入力された場合
- 必須パラメーターが不足している場合
- Google Calendar APIの呼び出しに失敗した場合
ログ記録
サーバーはPinoロガーを使用して、次の情報を記録します。
- サーバーの起動/終了
- ツールの呼び出しと応答
- 認証プロセス
- エラーや例外の発生状況
開発環境の設定
- TypeScriptをコンパイル
npm run build
- 開発モードで実行(自動再起動)
npm run dev
- リントチェック
npm run lint
トラブルシューティング
-
サーバーの接続に関する問題
- Claude Desktopのログを確認
- サーバープロセスの実行状態を確認
- 環境変数の設定を確認
- 絶対パスを使用しているか確認
-
認証に関する問題
- Google Cloud ConsoleでAPIが有効になっているか確認
- クライアント IDとシークレットを再確認
- OAuth同意画面の設定を確認
ライセンス
MITライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。