Google Calendar AutoAuth MCP Server

by falgom4
Verified

Google カレンダー自動認証 MCP サーバー

Claude Desktop に Google カレンダーを統合するための、自動認証をサポートするモデルコンテキストプロトコル(MCP)サーバーです。このサーバーにより、AI アシスタントは自然言語による対話を通じて Google カレンダーを管理できるようになります。

特徴

  • タイトル、説明、場所、出席者を含むカレンダーイベントを作成します
  • 既存のカレンダーイベントを更新する
  • カレンダーイベントを削除する
  • イベントの詳細を取得する
  • 指定した時間範囲内のイベントを一覧表示する
  • キーワードでイベントを検索
  • 利用可能なすべてのカレンダーを一覧表示する
  • 自然言語による日付/時刻入力のサポート(例:「明日午後2時」、「来週の月曜日」)
  • Google カレンダー API との完全な統合
  • 自動ブラウザ起動によるシンプルなOAuth2認証フロー
  • デスクトップとWebアプリケーションの両方の資格情報のサポート
  • 利便性のためのグローバル認証情報ストレージ

インストールと認証

手動でインストールする

  1. Google Cloud プロジェクトを作成し、認証情報を取得します。a. Google Cloud プロジェクトを作成します。
    • Google Cloud Consoleに移動
    • 新しいプロジェクトを作成するか、既存のプロジェクトを選択してください
    • プロジェクトで Google カレンダー API を有効にする

    b. OAuth 2.0 認証情報を作成する:

    • 「APIとサービス」>「認証情報」に移動します
    • 「認証情報を作成」>「OAuthクライアントID」をクリックします
    • アプリケーションの種類として「デスクトップアプリ」または「Webアプリケーション」を選択します
    • 名前を付けて「作成」をクリックします
    • Webアプリケーションの場合、承認されたリダイレクトURIにhttp://localhost:3000/oauth2callbackを追加します。
    • クライアントのOAuthキーのJSONファイルをダウンロードします
    • キーファイルの名前をgcp-oauth.keys.jsonに変更します。
  2. 実行認証:認証には 2 つの方法があります:a. グローバル認証(推奨):
    # First time: Place gcp-oauth.keys.json in your home directory's .calendar-mcp folder mkdir -p ~/.calendar-mcp mv gcp-oauth.keys.json ~/.calendar-mcp/ # Run authentication from anywhere npx @nchufa/calendar auth
    b. ローカル認証:
    # Place gcp-oauth.keys.json in your current directory # The file will be automatically copied to global config npx @nchufa/calendar auth
    認証プロセスは次のようになります。
    • 現在のディレクトリまたは~/.calendar-mcp/gcp-oauth.keys.jsonを探します。
    • 現在のディレクトリで見つかった場合は、 ~/.calendar-mcp/にコピーします。
    • Google認証用のデフォルトのブラウザを開きます
    • 資格情報を~/.calendar-mcp/credentials.jsonとして保存します。

    注記

    • 認証が成功すると、認証情報は~/.calendar-mcp/にグローバルに保存され、どのディレクトリからでも使用できるようになります。
    • デスクトップ アプリと Web アプリケーションの両方の資格情報がサポートされています
    • Webアプリケーションの認証情報の場合は、承認されたリダイレクトURIにhttp://localhost:3000/oauth2callbackを追加してください。
  3. Claude Desktop で設定:

Claude Desktop 構成ファイルに次のコードを追加します。

{ "mcpServers": { "calendar": { "command": "npx", "args": [ "@nchufa/calendar" ] } } }

利用可能なツール

サーバーは、Claude Desktop を通じて使用できる次のツールを提供します。

1. イベントを作成する ( create_event )

新しいカレンダー イベントを作成します。

{ "summary": "Team Meeting", "description": "Weekly team sync to discuss project progress", "location": "Conference Room A", "start": "2025-04-01T14:00:00", "end": "2025-04-01T15:00:00", "attendees": ["colleague@example.com", "manager@example.com"], "reminders": { "useDefault": false, "overrides": [ { "method": "email", "minutes": 30 }, { "method": "popup", "minutes": 10 } ] } }

自然言語の日付/時刻もサポートされています:

{ "summary": "Coffee with John", "location": "Starbucks Downtown", "start": "tomorrow at 2:30pm", "end": "tomorrow at 3:30pm" }

2. イベントを取得する ( get_event )

特定のカレンダー イベントの詳細を取得します。

{ "eventId": "abc123xyz456", "calendarId": "primary" }

3. 更新イベント( update_event

既存のカレンダー イベントを更新します。

{ "eventId": "abc123xyz456", "summary": "Updated Meeting Title", "location": "New Location", "start": "2025-04-01T15:00:00", "end": "2025-04-01T16:00:00" }

4. イベントの削除 ( delete_event )

カレンダーイベントを削除します。

{ "eventId": "abc123xyz456", "calendarId": "primary" }

5. イベントの一覧表示 ( list_events )

指定された時間範囲内のカレンダー イベントを一覧表示します。

{ "calendarId": "primary", "timeMin": "2025-04-01T00:00:00", "timeMax": "2025-04-07T23:59:59", "maxResults": 10, "orderBy": "startTime" }

6. イベントを検索する( search_events

クエリに一致するイベントを検索します。

{ "query": "meeting", "calendarId": "primary", "timeMin": "2025-04-01T00:00:00", "maxResults": 5 }

7. カレンダーの一覧表示( list_calendars

利用可能なすべてのカレンダーを一覧表示します。

{}

自然言語による日付/時刻のサポート

サーバーは、日付と時刻のさまざまな自然言語形式をサポートしています。

  • 特定の日付: "2025-04-01T14:00:00" (ISO 形式)
  • 簡単な言及:「今日」、「明日」、「今」
  • 相対時間:「2時間後」、「3日後」
  • 日付の参照:「次の月曜日」、「次の火曜日」
  • 組み合わせ形式:「明日午後2時」、「月曜日15時30分」

これにより、自然言語の指示を使用してイベントを簡単に作成および更新できるようになります。

セキュリティノート

  • OAuth 認証情報はローカル環境 ( ~/.calendar-mcp/ ) に安全に保存されます。
  • サーバーは永続的な認証を維持するためにオフラインアクセスを使用します
  • 資格情報をバージョン管理に共有したりコミットしたりしないでください
  • Google アカウント設定で定期的に使用していないアクセスを確認し、取り消してください

トラブルシューティング

  1. OAuthキーが見つかりません
    • gcp-oauth.keys.jsonが現在のディレクトリまたは~/.calendar-mcp/にあることを確認してください。
    • ファイルの権限を確認する
  2. 資格情報の形式が無効です
    • OAuthキーファイルにwebまたはinstalled認証情報が含まれていることを確認します
    • Webアプリケーションの場合、リダイレクトURIが正しく設定されていることを確認します。
  3. ポートはすでに使用されています
    • ポート3000がすでに使用されている場合は、認証を実行する前にポートを解放してください。
    • そのポートを使用しているプロセスを見つけて停止することができます

貢献

貢献を歓迎します!お気軽にプルリクエストを送信してください。

ライセンス

マサチューセッツ工科大学

謝辞

この実装の基盤となったGongRzhe 氏と彼のCalendar-Autoauth-MCP-Serverプロジェクトに特に感謝します。

サポート

問題が発生した場合や質問がある場合は、GitHub リポジトリに問題を報告してください。

-
security - not tested
A
license - permissive license
-
quality - not tested

AI アシスタントが、イベントの作成、更新、削除、カレンダーの検索、自然言語による日付/時刻入力のサポートなどの機能を使用して、自然言語による対話を通じて Google カレンダーを管理できるようにします。

  1. Features
    1. Installation & Authentication
      1. Installing Manually
    2. Available Tools
      1. 1. Create Event (create_event)
      2. 2. Get Event (get_event)
      3. 3. Update Event (update_event)
      4. 4. Delete Event (delete_event)
      5. 5. List Events (list_events)
      6. 6. Search Events (search_events)
      7. 7. List Calendars (list_calendars)
    3. Natural Language Date/Time Support
      1. Security Notes
        1. Troubleshooting
          1. Contributing
            1. License
              1. Acknowledgments
                1. Support
                  ID: cyxk705ub0