mcpField
G
google-drive-automation

google-drive-automation

github.com/davepoon生産性3.7k127 回インストール1 日前に更新
リポジトリ

google-drive-automation について

google-drive-automationは、ComposioのGoogle DriveツールキットとRube MCPを使ってGoogle Driveの作業を自動化するスキルです。ファイル転送・検索、フォルダー整理、共有権限の管理と接続設定を扱います。

主な機能

  1. 01ファイルのアップロードとダウンロード
  2. 02Drive内の検索と一覧表示
  3. 03フォルダーの作成とファイル移動
  4. 04共有権限の管理
  5. 05ファイル情報と共有ドライブの確認

活用シーン

  1. 01Drive内のファイル検索とダウンロード
  2. 02ファイルのアップロードやフォルダー整理
  3. 03ファイル共有とアクセス権の変更
  4. 04共有ドライブやファイル詳細の確認

MCP 対応

このスキルは`https://rube.app/mcp`のRube MCPとComposioのGoogle Driveツールキットを使用します。MCPクライアントは最新のツールスキーマを取得し、有効なGoogle Drive接続を確立してからワークフローを実行します。

インストール

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

$npx skills add https://github.com/davepoon/buildwithclaude --skill google-drive-automation

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

詳細

Rube MCP による Google Drive の自動化

Composio の Google Drive ツールキットを通じて、ファイルのアップロード/ダウンロード、検索、フォルダー管理、共有/権限設定、整理など、Google Drive のワークフローを自動化します。

ツールキットのドキュメント:composio.dev/toolkits/googledrive

前提条件

  • Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
  • ツールキット googledrive を指定して RUBE_MANAGE_CONNECTIONS で Google Drive に接続していること
  • 現在のツールスキーマを取得するため、必ず最初に RUBE_SEARCH_TOOLS を呼び出してください

セットアップ

Rube MCP の取得:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。API キーは不要です。エンドポイントを追加するだけで使用できます。

  1. RUBE_SEARCH_TOOLS が応答することを確認し、Rube MCP が利用可能であることを確かめます
  2. ツールキット googledrive を指定して RUBE_MANAGE_CONNECTIONS を呼び出します
  3. 接続が ACTIVE でない場合は、返された認証リンクにアクセスして Google OAuth を完了します
  4. ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します

主なワークフロー

1. ファイルのアップロードとダウンロード

使用する場面:Google Drive にファイルをアップロードする、または Google Drive からファイルをダウンロードする場合

ツールの実行順序:

  1. GOOGLEDRIVE_FIND_FILE - アップロード先のフォルダーを検索します[前提]
  2. GOOGLEDRIVE_UPLOAD_FILE - ファイルをアップロードします(最大 5MB)[必須]
  3. GOOGLEDRIVE_RESUMABLE_UPLOAD - 大きなファイルをアップロードします[代替]
  4. GOOGLEDRIVE_DOWNLOAD_FILE - ID を指定してファイルをダウンロードします[必須]
  5. GOOGLEDRIVE_DOWNLOAD_FILE_OPERATION - 長時間実行されるダウンロードを追跡します[代替]
  6. GOOGLEDRIVE_GET_FILE_METADATA - アップロード/ダウンロード後にファイルを確認します[任意]

主なパラメーター:

  • file_to_upload:name、mimetype、s3key を含むオブジェクト(ファイルは内部ストレージに保存されている必要があります)
  • folder_to_upload_to:アップロード先のフォルダー ID(省略可。省略するとルートにアップロードされます)
  • file_id:ダウンロードするファイルの ID
  • mime_type:Google Workspace ファイルのみ対象のエクスポート形式(ネイティブファイルの場合は省略します)

注意点:

  • GOOGLEDRIVE_UPLOAD_FILE には file_to_upload.s3key が必要です。ファイルはあらかじめ内部ストレージに保存されている必要があります
  • Google 形式以外(Excel、PDF)の場合、mime_type を設定しないでください。ネイティブファイルではエラーになります
  • ダウンロードのレスポンスにはインラインのバイトデータではなく、一時 URL data.downloaded_file_content.s3url が含まれます
  • ファイルが 5MB を超える場合、または通常のアップロードに失敗した場合は、GOOGLEDRIVE_RESUMABLE_UPLOAD を使用してください
2. ファイルの検索と一覧表示

使用する場面:特定のファイルを検索する、または Drive のコンテンツを閲覧する場合

ツールの実行順序:

  1. GOOGLEDRIVE_FIND_FILE - 名前、内容、種類、日付、フォルダーで検索します[必須]
  2. GOOGLEDRIVE_LIST_FILES - フォルダーを指定してファイルを閲覧します[代替]
  3. GOOGLEDRIVE_LIST_SHARED_DRIVES - 共有ドライブの一覧を取得します[任意]
  4. GOOGLEDRIVE_GET_FILE_METADATA - ファイルの詳細情報を取得します[任意]
  5. GOOGLEDRIVE_GET_ABOUT - ストレージの容量と対応形式を確認します[任意]

主なパラメーター:

  • q:Drive のクエリー文字列(例:「name contains 'report'」、「mimeType = 'application/pdf'」)
  • corpora:検索範囲('user'、'domain'、'drive'、'allDrives')
  • fields:レスポンスに含めるフィールド(例:'files(id,name,mimeType)')
  • orderBy:並べ替えキー('modifiedTime desc'、'name'、'quotaBytesUsed desc')
  • pageSize:1 ページあたりの結果数(最大 1000)
  • pageToken:nextPageToken から取得するページネーション用カーソル
  • folder_id:特定のフォルダーに検索範囲を限定します

注意点:

  • 共有ドライブに必要な OAuth スコープが不足していると、403 PERMISSION_DENIED が発生します
  • ページネーションが必要です。ファイルは response.data.files に含まれます。結果がなくなるまで nextPageToken をたどってください
  • corpora="domain" で 400 エラーが発生する場合があります。その場合は includeItemsFromAllDrives=true を指定して "allDrives" を試してください
  • クエリーの複雑さには制限があります。OR 条件が 5~10 個を超えると、「The query is too complex」エラーが発生することがあります
  • name ではワイルドカード(*)はサポートされていません。部分一致には contains を使用してください
  • 「My Drive」は名前で検索できません。ルートフォルダーには folder_id='root' を使用してください
  • ユーザーのメールアドレスで検索する場合は '[email protected]' in owners を使用してください(owner:[email protected] は使用しないでください)
3. ファイルの共有と権限の管理

使用する場面:ユーザーがファイルの共有またはアクセス権限の管理を希望している場合

ツールの順序:

  1. GOOGLEDRIVE_FIND_FILE - 共有するファイルを特定します[前提条件]
  2. GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCE - 共有権限を設定します[必須]
  3. GOOGLEDRIVE_LIST_PERMISSIONS - 現在の権限を確認します[任意]
  4. GOOGLEDRIVE_GET_PERMISSION - 特定の権限を調べます[任意]
  5. GOOGLEDRIVE_UPDATE_PERMISSION - 既存の権限を変更します[任意]
  6. GOOGLEDRIVE_DELETE_PERMISSION - アクセス権を取り消します[任意]

主なパラメーター:

  • file_id:共有するファイルの ID
  • type:'user'、'group'、'domain'、または 'anyone'
  • role:'owner'、'organizer'、'fileOrganizer'、'writer'、'commenter'、'reader'
  • email_address:type='user' または 'group' の場合に必須
  • domain:type='domain' の場合に必須
  • transfer_ownership:role='owner' の場合に必須

注意点:

  • type とメールアドレスの組み合わせが無効な場合、4xx エラーが発生します
  • type='anyone' や強力な権限の使用にはリスクがあるため、ユーザーに明示的な確認を求めてください
  • 組織のポリシーにより特定の共有タイプがブロックされ、403 エラーが発生する場合があります
  • 権限の変更が反映されるまでに時間がかかる場合があります
  • 共有する前に GMAIL_SEARCH_PEOPLE を使って連絡先名からメールアドレスを特定してください
4. フォルダーの作成と整理

使用する場面:ユーザーがフォルダー構造の作成、またはフォルダー間でのファイル移動を希望している場合

ツールの順序:

  1. GOOGLEDRIVE_FIND_FILE - フォルダーがすでに存在するか確認します[前提条件]
  2. GOOGLEDRIVE_CREATE_FOLDER - 新しいフォルダーを作成します[必須]
  3. GOOGLEDRIVE_GET_FILE_METADATA - 作成したフォルダーを確認します[任意]
  4. GOOGLEDRIVE_MOVE_FILE - フォルダー間でファイルを移動します[任意]
  5. GOOGLEDRIVE_UPDATE_FILE_PUT - ファイルのメタデータや親フォルダーを更新します[代替手段]

主なパラメーター:

  • name:フォルダー名
  • parent_id:親フォルダーの ID(名前ではありません)。ルートの場合は省略します
  • file_id:移動するファイル
  • add_parents:移動先フォルダーの ID
  • remove_parents:移動元から削除するフォルダーの ID

注意点:

  • GOOGLEDRIVE_CREATE_FOLDER の parent_id には、フォルダー名ではなく ID が必要です
  • parent_id="root" を指定すると最上位に作成されます。階層化されたパスではフォルダー ID を順に指定してください
  • GOOGLEDRIVE_FIND_FILE は 1 ページあたり約 100 件を返します。容量の大きいドライブでは nextPageToken をたどってください
  • 移動操作後もアイテムが複数の親フォルダーに属したままになる場合があります。実際に移動するには remove_parents を使用してください
  • 子フォルダーを作成する前に、必ず親フォルダーの存在を確認してください

よくあるパターン

ID の解決
  • ファイル/フォルダー名 → ID:q パラメーターを指定して GOOGLEDRIVE_FIND_FILE を使用します
  • ルートフォルダー:folder_id='root' または 'root' in parents を使用します
  • 共有ドライブ → driveId:GOOGLEDRIVE_LIST_SHARED_DRIVES を使用します
  • 連絡先名 → メールアドレス:GMAIL_SEARCH_PEOPLE を使用します(共有の場合)
クエリ構文

Google Drive では専用のクエリ言語を使用します:

  • 名前による検索:"name contains 'report'" または "name = 'exact.pdf'"
  • 種類によるフィルター:"mimeType = 'application/pdf'" または "mimeType = 'application/vnd.google-apps.folder'"
  • フォルダーの指定:"'FOLDER_ID' in parents"
  • 日付によるフィルター:"modifiedTime > '2024-01-01T00:00:00'"
  • and/or/not で組み合わせます:"name contains 'report' and trashed = false"
  • ブール値によるフィルター:"sharedWithMe = true"、"starred = true"、"trashed = false"
ページネーション
  • 結果をすべて取得するには、nextPageToken がなくなるまでたどってください
  • pageSize を明示的に設定してください(デフォルトは 100、最大は 1000)
  • 複数の検索を実行する場合は、結果の重複を排除してください
エクスポート形式

Google Workspace のファイルをエクスポートするには、mime_type を設定します:

  • Docs:application/pdf、text/plain、text/html、application/vnd.openxmlformats-officedocument.wordprocessingml.document
  • Sheets:text/csv、application/vnd.openxmlformats-officedocument.spreadsheetml.sheet
  • Slides:application/pdf、application/vnd.openxmlformats-officedocument.presentationml.presentation

既知の注意点

  • 内部ストレージが必要:アップロードには、内部の S3 ストレージ(s3key)にファイルが必要です
  • エクスポートとダウンロード:mime_type は Google Workspace ファイルにのみ設定し、ネイティブファイルの場合は省略してください
  • 一時 URL:s3url 経由でダウンロードしたコンテンツは一時的なものです。速やかに取得してください
  • クエリの複雑さ:OR 条件が 5~10 個を超えるとエラーになる場合があります。複雑な検索は複数のクエリに分割してください
  • 共有ドライブのスコープ設定:ドライブの権限がないと結果は空になります。まずアクセス権を確認してください
  • ワイルドカードは使用不可:名前の部分一致には * ではなく contains 演算子を使用してください
  • フォルダー作成の連鎖:parent_id には必ずフォルダー ID(名前ではありません)を渡してください
  • 複数の親:移動操作後、アイテムに複数の親が残る場合があります。remove_parents を使用してください
  • レート制限:大量の検索やエクスポートを行うと 403/429 が発生する場合があります。バックオフを実装してください

クイックリファレンス

タスクツールのスラッグ主なパラメーター
ファイルを検索GOOGLEDRIVE_FIND_FILEq、corpora、pageSize
ファイルを一覧表示GOOGLEDRIVE_LIST_FILESfolderId、q、orderBy
ファイルをアップロードGOOGLEDRIVE_UPLOAD_FILEfile_to_upload、folder_to_upload_to
再開可能なアップロードGOOGLEDRIVE_RESUMABLE_UPLOADファイルデータ
ファイルをダウンロードGOOGLEDRIVE_DOWNLOAD_FILEfile_id、mime_type(Workspace のみ)
ファイルのメタデータGOOGLEDRIVE_GET_FILE_METADATAfileId、fields
フォルダーを作成GOOGLEDRIVE_CREATE_FOLDERname、parent_id
ファイルを移動GOOGLEDRIVE_MOVE_FILEfile_id、add_parents、remove_parents
ファイルを共有GOOGLEDRIVE_ADD_FILE_SHARING_PREFERENCEfile_id、role、type、email_address
権限を一覧表示GOOGLEDRIVE_LIST_PERMISSIONSfileId
権限を更新GOOGLEDRIVE_UPDATE_PERMISSIONfile_id、permission_id
権限を削除GOOGLEDRIVE_DELETE_PERMISSIONfile_id、permission_id
共有ドライブを一覧表示GOOGLEDRIVE_LIST_SHARED_DRIVESpageSize
ドライブ情報GOOGLEDRIVE_GET_ABOUT(なし)
ショートカットを作成GOOGLEDRIVE_CREATE_SHORTCUT_TO_FILE対象の file_id

Composio 提供

コメント