Integrations
Enables reading, creating, and managing Google Calendar events, including listing available calendars, creating/updating/deleting events, and processing events from screenshots and images.
Google カレンダー MCP サーバー
これは、Googleカレンダーとの統合を提供するモデルコンテキストプロトコル(MCP)サーバーです。LLMは、標準化されたインターフェースを通じてカレンダーイベントの読み取り、作成、管理を行うことができます。
特徴
- 利用可能なカレンダーを一覧表示する
- カレンダーからイベントを一覧表示する
- 新しいカレンダーイベントを作成する
- 既存のイベントを更新する
- イベントを削除する
- スクリーンショットや画像からイベントを処理する
要件
- Node.js 16以上
- TypeScript 5.3以上
- カレンダー API が有効になっている Google Cloud プロジェクト
- OAuth 2.0 認証情報 (クライアント ID とクライアント シークレット)
プロジェクト構造
Copy
Google Cloud のセットアップ
- Google Cloud Consoleにアクセスします
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します。
- プロジェクトでGoogleカレンダーAPIを有効にしてください。APIを有効にする前に、上部のバーで適切なプロジェクトが選択されていることを確認してください。
- OAuth 2.0 認証情報を作成します。
- 資格情報へ移動
- 「認証情報を作成」>「OAuthクライアントID」をクリックします
- アプリがアクセスするデータの種類として「ユーザーデータ」を選択します
- アプリ名と連絡先情報を追加します
- 次のスコープを追加します (オプション)。
https://www.googleapis.com/auth/calendar.events
- アプリケーションの種類として「デスクトップアプリ」を選択します
- OAuth同意画面でテストユーザーとしてメールアドレスを追加します
- 注: テストユーザーの追加には数分かかる場合があります。テストユーザーが承認されるまで、OAuth 同意による処理は続行できません。
インストール
- リポジトリをクローンする
- 依存関係をインストールします:Copy
- TypeScript コードをビルドします。Copy
- Google Cloud Console (「認証情報」の下) から Google OAuth 認証情報をダウンロードし、ファイルの名前を
gcp-oauth.keys.json
に変更して、プロジェクトのルート ディレクトリに配置します。
利用可能なスクリプト
npm run build
- TypeScriptコードをビルドするnpm run build:watch
- 開発用にウォッチモードで TypeScript をビルドするnpm run dev
- ts-node を使用して開発モードでサーバーを起動しますnpm run auth
- Google OAuthフローの認証サーバーを起動します
認証
サーバーは自動認証フローと手動認証フローの両方をサポートしています。
自動認証(推奨)
- Google OAuth 認証情報を、プロジェクトのルート ディレクトリにある
gcp-oauth.keys.json
という名前のファイルに配置します。 - MCP サーバーを起動します。Copy
- 有効な認証トークンが見つからない場合、サーバーは自動的に次の処理を実行します。
- 認証サーバーを起動する(ポート3000~3004)
- OAuthフローのブラウザウィンドウを開く
- 認証後はトークンを安全に保存する
- 認証サーバーをシャットダウンする
- 通常のMCPサーバーの運用を継続
サーバーは必要に応じてトークンの更新と再認証を自動的に管理します。
- トークンは有効期限前に自動的に更新されます
- 更新に失敗した場合は、明確なエラーメッセージが表示され、再認証を案内します。
- トークンファイルは制限された権限で安全に保存されます
手動認証
上級ユーザーまたはトラブルシューティングの場合は、認証フローを手動で実行できます。
Copy
これにより、次のようになります。
- 認証サーバーを起動する
- OAuthフローのブラウザウィンドウを開く
- トークンを保存して終了する
セキュリティノート
- OAuth認証情報は
gcp-oauth.keys.json
に保存されます - 認証トークンは 600 の権限で
.gcp-saved-tokens.json
に保存されます。 - トークンはバックグラウンドで自動的に更新されます
- トークンの整合性は各API呼び出しの前に検証されます
- 認証が成功すると認証サーバーは自動的にシャットダウンします
- OAuth 認証情報やトークン ファイルをバージョン管理にコミットしないでください
使用法
サーバーは次のツールを公開します。
list-calendars
: 利用可能なすべてのカレンダーを一覧表示するlist-events
: カレンダーからイベントを一覧表示するcreate-event
: 新しいカレンダーイベントを作成するupdate-event
: 既存のカレンダーイベントを更新するdelete-event
: カレンダーイベントを削除する
Claude Desktopでの使用
- この設定をClaude Desktopの設定ファイルに追加します。例
/Users/<user>/Library/Application Support/Claude/claude_desktop_config.json
:Copy - Claudeデスクトップを再起動します
使用例
カレンダー統合に期待される通常の機能に加えて、スクリーンショットや画像からイベントを追加するなど、非常に動的な操作も実行できます。
- スクリーンショットや画像からイベントを追加します。サポートされている画像形式: PNG、JPEG、GIF 画像には、日付、時間、場所、説明などのイベントの詳細を含めることができますCopy
- 出席確認:Copy
- 自動座標イベント:Copy
- ご自身の空き時間を入力してください:Copy
発達
トラブルシューティング
よくある問題と解決策:
- OAuthトークンは1週間(7日)後に期限切れになります
- 本番環境ではなくテストモードにあるアプリは、1 週間後に再度 OAuth フローを実行する必要があります。
- OAuthトークンエラー
gcp-oauth.keys.json
が正しくフォーマットされていることを確認してください.gcp-saved-tokens.json
を削除して再認証してみてください
- TypeScriptビルドエラー
- すべての依存関係がインストールされていることを確認してください:
npm install
- Node.jsのバージョンが前提条件と一致していることを確認してください
- ビルドディレクトリをクリアします:
rm -rf build/
- すべての依存関係がインストールされていることを確認してください:
- 画像処理の問題
- 画像形式がサポートされていることを確認する
- 画像に明確で読みやすいテキストが含まれていることを確認する
セキュリティノート
- サーバーはローカルで実行され、OAuth認証が必要です
- OAuth 認証情報はプロジェクト ルートの
gcp-oauth.keys.json
に保存する必要があります。 - 認証トークンは、ファイル権限が制限された
.gcp-saved-tokens.json
に保存されます。 - トークンは期限が切れると自動的に更新されます
- OAuth 認証情報やトークン ファイルをバージョン管理にコミットしないでください
- 本番環境での使用には、OAuth アプリケーションを Google で検証する必要があります。
ライセンス
マサチューセッツ工科大学
This server cannot be installed
LLM が標準化されたインターフェースを通じて Google カレンダーのイベントを読み取り、作成、管理できるようにします。これには、カレンダーの一覧表示、イベントの管理、スクリーンショットや画像からのカレンダー情報の処理などの機能が含まれます。