one-drive-automation について
Rube MCP 上の Composio の OneDrive ツールキットを使い、OneDrive のファイルやドライブ操作を自動化するスキルです。検索、転送、フォルダー管理、共有権限、ドライブ情報に加え、ID とページネーションの扱いも説明します。
主な機能
- 01ファイルとドライブの検索・閲覧
- 02ファイルのアップロードとダウンロード
- 03アイテム共有と権限管理
- 04アイテムの作成・移動・コピー・削除
- 05クォータとファイルバージョンの確認
活用シーン
- 01複数の OneDrive ドライブからファイルを検索
- 02ファイル転送やフォルダー整理
- 03指定した相手とのファイル共有
MCP 対応
Rube MCP を介して Composio の OneDrive ツールキットを利用します。OneDrive 接続を ACTIVE にし、操作前に最新のツールスキーマを取得する必要があります。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill one-drive-automationインストール後、Claude Code で/one-drive-automationを入力して読み込まれたか確認します。
詳細
Rube MCP による OneDrive の自動化
Composio の OneDrive ツールキットを通じて、ファイルのアップロード/ダウンロード、検索、フォルダー管理、共有リンク、アクセス許可の管理、ドライブの閲覧など、OneDrive の操作を自動化します。
前提条件
- Rube MCP が接続されていること(RUBE_SEARCH_TOOLS が利用可能)
- ツールキット
one_driveを指定したRUBE_MANAGE_CONNECTIONSによる、有効な OneDrive 接続 - 現在のツールスキーマを取得するため、必ず最初に
RUBE_SEARCH_TOOLSを呼び出すこと
セットアップ
Rube MCP の取得:クライアント設定で https://rube.app/mcp を MCP サーバーとして追加します。MCP クライアント/サーバーを認証し、Microsoft 接続を承認してください。エンドポイントだけではアクセス権は付与されません。
RUBE_SEARCH_TOOLSが応答することを確認し、Rube MCP が利用可能であることを確認します- ツールキット
one_driveを指定してRUBE_MANAGE_CONNECTIONSを呼び出します - 接続が ACTIVE でない場合は、返された認証リンクに従って Microsoft OAuth を完了します
- ワークフローを実行する前に、接続ステータスが ACTIVE であることを確認します
主なワークフロー
1. ファイルの検索と閲覧
使用する場面:OneDrive 内のファイルを検索したり、フォルダーの内容を閲覧したりする場合
ツールの呼び出し順:
ONE_DRIVE_GET_DRIVE- ドライブへのアクセスを確認し、ドライブの詳細を取得します[前提条件]ONE_DRIVE_SEARCH_ITEMS- ファイル名、メタデータ、コンテンツを対象にキーワード検索します[必須]ONE_DRIVE_ONEDRIVE_LIST_ITEMS- ドライブのルートにあるすべてのアイテムを一覧表示します[任意]ONE_DRIVE_GET_ITEM- 特定のアイテムの詳細なメタデータを取得し、子アイテムを展開します[任意]ONE_DRIVE_ONEDRIVE_FIND_FILE- フォルダー内で完全一致する名前のファイルを検索します[任意]ONE_DRIVE_ONEDRIVE_FIND_FOLDER- 名前で特定のフォルダーを検索します[任意]ONE_DRIVE_LIST_DRIVES- アクセス可能なすべてのドライブを一覧表示します[任意]
主なパラメーター:
q:検索クエリ(通常のキーワードのみ。KQL 構文は使用しないでください)search_scope:"root"(フォルダー階層)または"drive"(共有アイテムを含む)top:ページあたりの最大アイテム数(デフォルトは 200)skip_token:@odata.nextLinkから取得するページネーショントークンselect:返すフィールドをカンマ区切りで指定します(例:"id,name,webUrl,size")orderby:並べ替え順(例:"name asc"、"name desc")item_id:GET_ITEMに指定するアイテム IDexpand_relations:GET_ITEMで使用する["children"]や["thumbnails"]などの配列user_id:"me"(デフォルト)または特定のユーザー ID/メールアドレス
注意事項:
ONE_DRIVE_SEARCH_ITEMSは KQL 演算子(folder:、file:、filetype:、path:)をサポートしていません。これらは通常の文字列として扱われます- ワイルドカード文字(
*、?)はサポートされておらず、自動的に削除されます。代わりにファイル拡張子のキーワードを使用してください(例:"*.pdf"ではなく"pdf") ONE_DRIVE_ONEDRIVE_LIST_ITEMSが返すのはルート階層の内容のみです。下位階層には、expand_relations: ["children"]を指定した再帰的なONE_DRIVE_GET_ITEMを使用してください- 大きなフォルダーはページネーションされます。結果を最後まで取得できるよう、必ず
skip_token/@odata.nextLinkをたどってください - Microsoft Graph API の制限により、一部のドライブ ID 形式では「ObjectHandle is Invalid」エラーが発生することがあります
2. ファイルのアップロードとダウンロード
使用する場面:ユーザーがOneDriveにファイルをアップロードしたい、またはOneDriveからダウンロードしたい場合
ツールの順序:
ONE_DRIVE_ONEDRIVE_FIND_FOLDER- 対象のフォルダーを検索します[前提条件]ONE_DRIVE_ONEDRIVE_UPLOAD_FILE- 指定したフォルダーにファイルをアップロードします[アップロード時に必須]ONE_DRIVE_DOWNLOAD_FILE- アイテムIDを指定してファイルをダウンロードします[ダウンロード時に必須]ONE_DRIVE_GET_ITEM- ダウンロード前にファイルの詳細を取得します[任意]
主なパラメーター:
file:アップロード用のs3key、mimetype、nameを含むFileUploadableオブジェクトfolder:アップロード先のパス(例:"/Documents/Reports")またはフォルダーIDitem_id:ダウンロードするファイルの一意の識別子file_name:ダウンロード時に使用する拡張子付きのファイル名drive_id:特定のドライブID(SharePointまたはOneDrive for Businessの場合)user_id:"me"(デフォルト)または特定のユーザー識別子
注意点:
- ライブのアップロードスキーマと競合時の動作を確認してください。アップロードで上書きできないと思い込まないでください
- 大容量のアップロードを行う前に、アップロードサイズの上限と再開可能なセッションへの対応を確認してください
- 両方が指定された場合、
drive_idはuser_idより優先されます - アイテムIDの形式はプラットフォームによって異なります。OneDrive for Businessでは
01...の接頭辞、OneDrive PersonalではHASH!NUMBER形式が使われます - アイテムIDでは大文字と小文字が区別されます。APIから返された値をそのまま使用してください
3. ファイルの共有とアクセス許可の管理
使用する場面:ユーザーがファイルやフォルダーを共有したい、またはアクセス権を持つユーザーを管理したい場合
ツールの順序:
ONE_DRIVE_ONEDRIVE_FIND_FILEまたはONE_DRIVE_ONEDRIVE_FIND_FOLDER- アイテムを検索します[前提条件]ONE_DRIVE_GET_ITEM_PERMISSIONS- 現在のアクセス許可を確認します[前提条件]ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM- 特定のユーザーにアクセス権を付与します[必須]ONE_DRIVE_CREATE_LINK- 共有可能なリンクを作成します[任意]ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA- アイテムのメタデータを更新します[任意]
主なパラメーター:
item_id:共有するファイルまたはフォルダーrecipients:emailまたはobject_idを含むオブジェクトの配列roles:"read"または"write"を含む配列send_invitation:通知メールを送信する場合はtrue、通知せずにアクセス許可を付与する場合はfalserequire_sign_in:アクセスに認証を必須とする場合はtruemessage:招待に添えるカスタムメッセージ(最大2000文字)expiration_date_time:アクセス許可の有効期限を示すISO 8601形式の日付retain_inherited_permissions:既存の継承されたアクセス許可を維持する場合はtrue(デフォルト)
注意点:
INVITE_USER_TO_DRIVE_ITEMに誤ったitem_idを指定すると、意図しないアイテムのアクセス許可が変更されるため、必ず事前に確認してください- 書き込み以上のロールは影響が大きいため、付与する前にユーザーの明示的な確認を得てください
GET_ITEM_PERMISSIONSは継承されたアクセス許可と所有者のエントリも返します。レスポンスに最近の変更のみが反映されると思い込まないでくださいpermissionsはONE_DRIVE_GET_ITEMでは展開できません。個別のアクセス許可エンドポイントを使用してくださいrequire_sign_inまたはsend_invitationの少なくとも一方をtrueにする必要があります
4. フォルダーを管理する(作成、移動、削除、コピー)
使用する場面:ユーザーがファイルやフォルダーの作成、移動、名前変更、削除、コピーを希望する場合
ツールの実行順序:
ONE_DRIVE_ONEDRIVE_FIND_FOLDER- 移動元と移動先のフォルダーを特定します[前提条件]ONE_DRIVE_ONEDRIVE_CREATE_FOLDER- 新しいフォルダーを作成します[作成時に必須]ONE_DRIVE_MOVE_ITEM- ファイルまたはフォルダーを新しい場所に移動します[移動時に必須]ONE_DRIVE_COPY_ITEM- ファイルまたはフォルダーをコピーします(非同期処理)[コピー時に必須]ONE_DRIVE_DELETE_ITEM- アイテムをごみ箱に移動します[削除時に必須]ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA- アイテムの名前を変更するか、プロパティを更新します[任意]
主なパラメーター:
name:作成するフォルダー名、または名前変更/コピー後の新しい名前parent_folder:作成先のパス(例:"/Documents/Reports")またはフォルダー IDitemId:移動するアイテムparentReference:移動先のフォルダー ID を含むオブジェクト:{"id": "folder_id"}item_id:コピーまたは削除するアイテムparent_reference:コピー先のidと任意のdriveIdを含むオブジェクト@microsoft.graph.conflictBehavior:コピー時の動作を指定する"fail"、"replace"、または"rename"if_match:削除時の楽観的同時実行制御に使用する ETag
注意点:
ONE_DRIVE_MOVE_ITEMはドライブをまたぐ移動に対応していません。ドライブ間の転送にはONE_DRIVE_COPY_ITEMを使用してください- 移動時の
parentReferenceにはフォルダー名ではなくフォルダー ID が必要です。最初にONEDRIVE_FIND_FOLDERで ID を特定してください ONE_DRIVE_COPY_ITEMは非同期で実行されます。応答には進行状況を確認するための URL が含まれますONE_DRIVE_DELETE_ITEMはアイテムをごみ箱に移動します。完全には削除されません- フォルダー作成時に名前が競合すると、自動的に名前が変更されます(例:「New Folder」は「New Folder 1」になります)
ONE_DRIVE_COPY_ITEMにはnameまたはparent_reference(あるいは両方)を指定してください
5. 変更とドライブ情報を追跡する
使用する場面:ユーザーが変更を監視したい場合、またはドライブ/クォータの情報を取得したい場合
ツールの実行順序:
ONE_DRIVE_GET_DRIVE- ドライブのプロパティとメタデータを取得します[必須]ONE_DRIVE_GET_QUOTA- ストレージクォータ(合計、使用済み、残り)を確認します[任意]ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA- SharePoint サイトのドライブで変更を追跡します[任意]ONE_DRIVE_GET_ITEM_VERSIONS- ファイルのバージョン履歴を取得します[任意]
主なパラメーター:
drive_id:ドライブ識別子(個人用ドライブの場合は"me")site_id:差分追跡に使用する SharePoint サイト識別子token:差分トークン(現在の状態を取得する場合は"latest"、次のページの URL、またはタイムスタンプ)item_id:バージョン履歴を取得するファイル ID
注意点:
- この従来のコネクターでは、
ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTAを通じてサイトドライブの差分を取得できます - トークンに
"latest"を指定すると、アイテムを含まずに現在の差分トークンが返されます(開始点として便利です) - 深い階層や容量の大きいドライブの走査には数分かかることがあります。バッチ処理と再開ロジックを使用してください
一般的なパターン
ID の解決
- ユーザー:認証済みユーザーには
"me"、特定のユーザーにはメールアドレスまたは GUID を使用します - 検索で取得したアイテム ID:
ONE_DRIVE_ONEDRIVE_FIND_FILEまたはONE_DRIVE_ONEDRIVE_FIND_FOLDERを使用してアイテム ID を取得します - 検索結果のアイテム ID:
ONE_DRIVE_SEARCH_ITEMSの結果から抽出します - ドライブ ID:
ONE_DRIVE_LIST_DRIVESまたはONE_DRIVE_GET_DRIVEを使用してドライブを確認します - フォルダーパスから ID を取得:パスを指定して
ONE_DRIVE_ONEDRIVE_FIND_FOLDERを使用し、応答から ID を抽出します
ID の形式はプラットフォームによって異なります:
- OneDrive for Business/SharePoint:
01NKDM7HMOJTVYMDOSXFDK2QJDXCDI3WUK - OneDrive Personal:
D4648F06C91D9D3D!54927
ページネーション
OneDrive ではトークンベースのページネーションを使用します:
- ページがなくなるまで
@odata.nextLinkまたはskip_tokenをたどります - ページサイズを
topで指定します(エンドポイントによって異なります) ONE_DRIVE_ONEDRIVE_LIST_ITEMSはページネーションを内部で自動処理します- 並列リクエストを過剰に行うと HTTP 429 が発生することがあります。
Retry-Afterヘッダーに従ってください
パスと ID
ほとんどの OneDrive ツールでは、パスまたは ID を指定できます。
- パス:
/で始まります(例:"/Documents/Reports") - ID:API のレスポンスで返される一意のアイテム識別子を使用します
- アクセス許可で使用するアイテムパス:
:/path/to/item:/形式を使用します
既知の注意点
ID の形式
- アイテム ID は大文字と小文字が区別され、プラットフォーム固有です
- Web URL、共有リンク、手動で作成した識別子をアイテム ID として使用しないでください
- Microsoft Graph API が返した ID を、そのまま必ず使用してください
レート制限
ONE_DRIVE_GET_ITEMを過剰に並列実行すると、HTTP 429 Too Many Requests が発生することがありますRetry-Afterヘッダーに従い、スロットリングを実装してください- ドライブを深くクロールする場合は、遅延を挟んでバッチ処理を行ってください
検索の制限
- KQL はサポートされていません。通常のキーワードのみを使用してください
- ワイルドカード文字は使用できません。拡張子のキーワードを使用してください(例:
"*.pdf"ではなく"pdf") - 検索ではパスによるフィルタリングはできません。代わりにフォルダー一覧を使用してください
- ワイルドカードのみのクエリ
q='*'は、HTTP 400 invalidRequest を返します
パラメーターに関する注意点
- 両方が指定された場合、
drive_idはuser_idより優先されます permissionsはGET_ITEMで展開できません。専用のアクセス許可エンドポイントを使用してください- アイテムの移動には、
parentReferenceにフォルダー名ではなくフォルダー ID が必要です - コピー操作は非同期です。レスポンスには監視 URL が含まれます
クイックリファレンス
| タスク | ツールのスラッグ | 主なパラメーター |
|---|---|---|
| ファイルを検索 | ONE_DRIVE_SEARCH_ITEMS | q、search_scope、top |
| ルートアイテムを一覧表示 | ONE_DRIVE_ONEDRIVE_LIST_ITEMS | user_id、select、top |
| アイテムの詳細を取得 | ONE_DRIVE_GET_ITEM | item_id、expand_relations |
| 名前でファイルを検索 | ONE_DRIVE_ONEDRIVE_FIND_FILE | name、folder |
| 名前でフォルダーを検索 | ONE_DRIVE_ONEDRIVE_FIND_FOLDER | name、folder |
| ファイルをアップロード | ONE_DRIVE_ONEDRIVE_UPLOAD_FILE | file、folder |
| ファイルをダウンロード | ONE_DRIVE_DOWNLOAD_FILE | item_id、file_name |
| フォルダーを作成 | ONE_DRIVE_ONEDRIVE_CREATE_FOLDER | name、parent_folder |
| アイテムを移動 | ONE_DRIVE_MOVE_ITEM | itemId、parentReference |
| アイテムをコピー | ONE_DRIVE_COPY_ITEM | item_id、parent_reference、name |
| アイテムを削除 | ONE_DRIVE_DELETE_ITEM | item_id |
| ユーザーと共有 | ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM | item_id、recipients、roles |
| 共有リンクを作成 | ONE_DRIVE_CREATE_LINK | item_id、リンクの種類 |
| アクセス許可を取得 | ONE_DRIVE_GET_ITEM_PERMISSIONS | item_id |
| メタデータを更新 | ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA | item_id、フィールド |
| ドライブ情報を取得 | ONE_DRIVE_GET_DRIVE | drive_id |
| ドライブを一覧表示 | ONE_DRIVE_LIST_DRIVES | ユーザー/グループ/サイトのスコープ |
| クォータを取得 | ONE_DRIVE_GET_QUOTA | (なし) |
| 変更を追跡 | ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA | site_id、token |
| バージョン履歴 | ONE_DRIVE_GET_ITEM_VERSIONS | item_id |
使用する場面
このスキルは、概要で説明されているワークフローまたは操作を実行する際に適しています。
例
ユーザーのリクエスト:
Rube MCP(Composio)を通じて、OneDrive のファイル管理、検索、アップロード、ダウンロード、共有、アクセス許可、フォルダー操作を自動化する。
制限事項
- タスクが上記の説明された範囲に明確に一致する場合にのみ、このスキルを使用してください。
- 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
- 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。
上記のツール名、デフォルト設定、制限事項は過去のコネクターのスナップショットです。現在のスキーマを確認してください。展開された子コレクションが、再帰的な一覧のすべてを自動的に網羅するわけではありません。各子コレクションのページネーションをたどってください。このコネクターでデルタが利用できることは、すべての Microsoft Graph エンドポイントで利用できることを意味しません。共有範囲は、受信者、ロール、リンクの対象者、通知をそれぞれ正確に指定してください。既存の認証だけでは、新たな共有は許可されません。ダウンロード、監視、共有用の URL は機密情報として扱い、検証済みの返却ホストを使用してください。結果が不明なコピーやアップロードを、決してそのまま再実行しないでください。ごみ箱によって復元が保証されるわけではありません。