mcpField
G
google-workspace

google-workspace

github.com/letta-ai生産性152126 回インストール4 週間前に更新
リポジトリ

google-workspace について

共有 OAuth 2.0 認証を使い、Gmail と Google Calendar を操作するスキルです。メール検索や下書き、カレンダー検索、空き状況の確認、予定作成などに使えます。

主な機能

  1. 01共有 OAuth 2.0 認証情報で認証
  2. 02Gmail メッセージの検索と閲覧
  3. 03返信待ちメールの確認と下書き作成
  4. 04カレンダー検索と空き状況確認
  5. 05カレンダー予定の作成

活用シーン

  1. 01返信が必要なメールの検索と閲覧
  2. 02メール返信の下書き作成
  3. 03会議時間の空き状況確認
  4. 04参加者を含む予定の作成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/letta-ai/skills --skill google-workspace

インストール後、Claude Code で/google-workspaceを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

reference/
search_operators.md
scripts/
calendar_auth.py
create_draft.py
create_event.py
find_busy.py
gmail_auth.py
list_calendars.py
needs_reply.py
read_email.py
search_emails.py
search_events.py

詳細

Google Workspace 連携

共有 OAuth 2.0 認証による Gmail と Google Calendar へのアクセスです。

前提条件

  1. Python 3.10+ が利用可能であること
  2. Gmail API と Calendar API が有効になっている Google Cloud プロジェクト
  3. OAuth 2.0 認証情報(credentials.json)をダウンロード済みであること
  4. 必要なパッケージ:google-api-python-client、google-auth-httplib2、google-auth-oauthlib

OAuth の設定

ステップ 1:Google Cloud プロジェクトを作成する
  1. https://console.cloud.google.com/ にアクセスします
  2. 新しいプロジェクトを作成するか、既存のプロジェクトを選択します
  3. API とサービス → ライブラリに移動します
  4. Gmail API と Google Calendar API の両方を有効にします
ステップ 2:OAuth 同意画面を設定する
  1. API とサービス → OAuth 同意画面に移動します
  2. ユーザータイプとして外部を選択します
  3. スコープを追加します:
    • https://www.googleapis.com/auth/gmail.readonly
    • https://www.googleapis.com/auth/gmail.compose
    • https://www.googleapis.com/auth/gmail.modify
    • https://www.googleapis.com/auth/calendar.readonly
    • https://www.googleapis.com/auth/calendar.events
  4. テストユーザーとしてユーザーのメールアドレスを追加します
ステップ 3:OAuth 認証情報を作成する
  1. API とサービス → 認証情報に移動します
  2. 認証情報を作成 → OAuth クライアント IDをクリックします
  3. アプリケーションの種類としてデスクトップアプリを選択します
  4. JSON をダウンロードし、credentials.json に名前を変更します
ステップ 4:依存関係をインストールする
uv add google-api-python-client google-auth-httplib2 google-auth-oauthlib
ステップ 5:初回認証

任意のスクリプトを実行すると、OAuth 同意画面を表示するためにブラウザーが開きます。今後の利用に備えて token.json が保存されます。


Gmail の操作

メールを検索する
uv run python tools/google-workspace/scripts/search_emails.py "from:[email protected]" --credentials ./credentials.json
メールの内容を読む
uv run python tools/google-workspace/scripts/read_email.py <message_id> --credentials ./credentials.json
下書きを作成する
uv run python tools/google-workspace/scripts/create_draft.py \
  --to "[email protected]" \
  --subject "Subject line" \
  --body "Email body" \
  --credentials ./credentials.json
返信が必要なメールを探す
uv run python tools/google-workspace/scripts/needs_reply.py --credentials ./credentials.json

カレンダーの操作

カレンダーを一覧表示する
uv run python tools/google-workspace/scripts/list_calendars.py --credentials ./credentials.json
予定を検索する
# Search by text
uv run python tools/google-workspace/scripts/search_events.py "meeting" --credentials ./credentials.json

# Search by date range
uv run python tools/google-workspace/scripts/search_events.py --start "2024-01-15" --end "2024-01-20" --credentials ./credentials.json
空き状況を確認する
uv run python tools/google-workspace/scripts/find_busy.py \
  --start "2024-01-15T09:00:00" \
  --end "2024-01-15T17:00:00" \
  --credentials ./credentials.json
予定を作成する
uv run python tools/google-workspace/scripts/create_event.py \
  --summary "Team Meeting" \
  --start "2024-01-15T10:00:00" \
  --end "2024-01-15T11:00:00" \
  --attendees "[email protected],[email protected]" \
  --credentials ./credentials.json

オプション: --description、--location、--timezone、--calendar


スクリプト一覧

Gmail:

  • gmail_auth.py - Gmail 認証ユーティリティ
  • search_emails.py - Gmail の検索クエリ構文を使って受信トレイを検索
  • read_email.py - メッセージ ID を指定してメールの内容を読む
  • create_draft.py - メールの下書きを作成
  • needs_reply.py - 返信が必要なメールを探す

カレンダー:

  • calendar_auth.py - カレンダー認証ユーティリティ
  • list_calendars.py - アクセス可能なカレンダーを一覧表示
  • search_events.py - テキストや日付で予定を検索
  • find_busy.py - 空き時間と予定ありの時間帯を確認
  • create_event.py - カレンダーの予定を作成

よく使うワークフロー

会議を予定する
  1. カレンダーを検索して空き状況を確認します:search_events.py --start ... --end ...
  2. 予定を作成します:create_event.py --summary "..." --start ... --end ...
重要なメールに返信する
  1. 返信が必要なメールを探します:needs_reply.py
  2. 該当するメールを読みます:read_email.py <id>
  3. 返信の下書きを作成します:create_draft.py --to ... --subject "Re: ..."

コメント