Google Calendar AutoAuth MCP Server について
Google Calendar AutoAuth MCP Serverは、AIアシスタントからGoogle Calendarの予定やカレンダーを管理するサーバーです。自然言語の日付に対応し、ブラウザーを開くOAuth認証で認証情報を共通保存します。
主な機能
- 01予定の作成・更新・削除
- 02予定の取得と一覧表示
- 03キーワードによる予定検索
- 04利用可能なカレンダーの一覧表示
- 05自然言語の日付解析
- 06ブラウザー経由のOAuth認証
活用シーン
- 01自然言語の指示による予定作成
- 02期間を指定した予定の検索
- 03カレンダー項目の更新や削除
MCP 対応
MCPクライアントにGoogle Calendarの予定・カレンダー管理ツールを公開し、予定の作成、検索、一覧表示などを可能にします。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Google Calendar AutoAuth MCP Server
Claude Desktop で Google Calendar と連携するための Model Context Protocol(MCP)サーバーです。自動認証に対応しています。このサーバーを使うと、AI アシスタントが自然言語でのやり取りを通じて Google Calendar を管理できます。
機能
- タイトル、説明、場所、参加者を指定してカレンダーの予定を作成
- 既存のカレンダーの予定を更新
- カレンダーの予定を削除
- 予定の詳細を取得
- 指定した期間内の予定を一覧表示
- キーワードで予定を検索
- 利用可能なすべてのカレンダーを一覧表示
- 自然言語での日付/時刻の入力に対応(例:「明日の午後2時」、「次の月曜日」)
- Google Calendar API と完全に連携
- ブラウザーを自動起動するシンプルな OAuth2 認証フロー
- デスクトップアプリとウェブアプリケーションの両方の認証情報に対応
- 利便性のため、認証情報をグローバルに保存
インストールと認証
Smithery 経由でインストール
Smithery 経由で Claude Desktop 用の Google Calendar Integration Server を自動的にインストールするには:
npx -y @smithery/cli install @falgom4/calendar-mcp --client claude
手動でインストール
-
Google Cloud プロジェクトを作成し、認証情報を取得します:
a. Google Cloud プロジェクトを作成します:
- Google Cloud Console にアクセスします
- 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
- プロジェクトで Google Calendar API を有効にします
b. OAuth 2.0 認証情報を作成します:
- 「APIs & Services」>「Credentials」に移動します
- 「Create Credentials」>「OAuth client ID」をクリックします
- アプリケーションの種類として「Desktop app」または「Web application」を選択します
- 名前を付けて「Create」をクリックします
- Web application の場合は、承認済みのリダイレクト URI に
http://localhost:3000/oauth2callbackを追加します - クライアントの OAuth キーを含む JSON ファイルをダウンロードします
- キーファイルの名前を
gcp-oauth.keys.jsonに変更します
-
認証を実行します:
次の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 authb. ローカル認証:
# 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/にグローバルに保存され、どのディレクトリからでも使用できます - デスクトップアプリとウェブアプリケーションの両方の認証情報に対応しています
- ウェブアプリケーションの認証情報を使う場合は、承認済みのリダイレクト URI に
http://localhost:3000/oauth2callbackを追加してください
- 現在のディレクトリまたは
-
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": ["[email protected]", "[email protected]"],
"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 形式)
- 簡単な指定:「today」、「tomorrow」、「now」
- 相対的な時刻:「2 hours later」、「3 days later」
- 曜日の指定:「next monday」、「next tuesday」
- 組み合わせた形式:「tomorrow at 2pm」、「monday at 15:30」
これにより、自然言語の指示を使ってイベントを簡単に作成・更新できます。
セキュリティに関する注意事項
- OAuth 認証情報はローカル環境(
~/.calendar-mcp/)に安全に保存されます - サーバーは認証状態を維持するため、オフラインアクセスを使用します
- 認証情報を共有したり、バージョン管理にコミットしたりしないでください
- Google アカウントの設定で、使用していないアクセス権を定期的に確認し、取り消してください
トラブルシューティング
-
OAuth キーが見つからない
gcp-oauth.keys.jsonが現在のディレクトリまたは~/.calendar-mcp/にあることを確認してください- ファイルの権限を確認してください
-
認証情報の形式が無効
- OAuth キーファイルに
webまたはinstalledの認証情報が含まれていることを確認してください - ウェブアプリケーションの場合は、リダイレクト URI が正しく設定されていることを確認してください
- OAuth キーファイルに
-
ポートがすでに使用されている
- ポート 3000 がすでに使用されている場合は、認証を実行する前にポートを解放してください
- そのポートを使用しているプロセスを見つけて停止できます
貢献
貢献を歓迎します!お気軽にプルリクエストを送信してください。
ライセンス
MIT
謝辞
この実装の基盤となった GongRzhe と、そのプロジェクト Calendar-Autoauth-MCP-Server に特別な感謝を申し上げます。
サポート
問題が発生した場合や質問がある場合は、GitHub リポジトリでイシューを作成してください。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。