mcpField
O
one-drive-automation

one-drive-automation

github.com/sickn33生産性48.7k71 回インストール1 日前に更新
リポジトリ

one-drive-automation について

Rube MCP 上の Composio の OneDrive ツールキットを使い、OneDrive のファイルやドライブ操作を自動化するスキルです。検索、転送、フォルダー管理、共有権限、ドライブ情報に加え、ID とページネーションの扱いも説明します。

主な機能

  1. 01ファイルとドライブの検索・閲覧
  2. 02ファイルのアップロードとダウンロード
  3. 03アイテム共有と権限管理
  4. 04アイテムの作成・移動・コピー・削除
  5. 05クォータとファイルバージョンの確認

活用シーン

  1. 01複数の OneDrive ドライブからファイルを検索
  2. 02ファイル転送やフォルダー整理
  3. 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 接続を承認してください。エンドポイントだけではアクセス権は付与されません。

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

主なワークフロー

1. ファイルの検索と閲覧

使用する場面:OneDrive 内のファイルを検索したり、フォルダーの内容を閲覧したりする場合

ツールの呼び出し順:

  1. ONE_DRIVE_GET_DRIVE - ドライブへのアクセスを確認し、ドライブの詳細を取得します[前提条件]
  2. ONE_DRIVE_SEARCH_ITEMS - ファイル名、メタデータ、コンテンツを対象にキーワード検索します[必須]
  3. ONE_DRIVE_ONEDRIVE_LIST_ITEMS - ドライブのルートにあるすべてのアイテムを一覧表示します[任意]
  4. ONE_DRIVE_GET_ITEM - 特定のアイテムの詳細なメタデータを取得し、子アイテムを展開します[任意]
  5. ONE_DRIVE_ONEDRIVE_FIND_FILE - フォルダー内で完全一致する名前のファイルを検索します[任意]
  6. ONE_DRIVE_ONEDRIVE_FIND_FOLDER - 名前で特定のフォルダーを検索します[任意]
  7. 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 に指定するアイテム ID
  • expand_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からダウンロードしたい場合

ツールの順序:

  1. ONE_DRIVE_ONEDRIVE_FIND_FOLDER - 対象のフォルダーを検索します[前提条件]
  2. ONE_DRIVE_ONEDRIVE_UPLOAD_FILE - 指定したフォルダーにファイルをアップロードします[アップロード時に必須]
  3. ONE_DRIVE_DOWNLOAD_FILE - アイテムIDを指定してファイルをダウンロードします[ダウンロード時に必須]
  4. ONE_DRIVE_GET_ITEM - ダウンロード前にファイルの詳細を取得します[任意]

主なパラメーター:

  • file:アップロード用の s3key、mimetype、name を含むFileUploadableオブジェクト
  • folder:アップロード先のパス(例:"/Documents/Reports")またはフォルダーID
  • item_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. ファイルの共有とアクセス許可の管理

使用する場面:ユーザーがファイルやフォルダーを共有したい、またはアクセス権を持つユーザーを管理したい場合

ツールの順序:

  1. ONE_DRIVE_ONEDRIVE_FIND_FILE または ONE_DRIVE_ONEDRIVE_FIND_FOLDER - アイテムを検索します[前提条件]
  2. ONE_DRIVE_GET_ITEM_PERMISSIONS - 現在のアクセス許可を確認します[前提条件]
  3. ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEM - 特定のユーザーにアクセス権を付与します[必須]
  4. ONE_DRIVE_CREATE_LINK - 共有可能なリンクを作成します[任意]
  5. ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA - アイテムのメタデータを更新します[任意]

主なパラメーター:

  • item_id:共有するファイルまたはフォルダー
  • recipients:email または object_id を含むオブジェクトの配列
  • roles:"read" または "write" を含む配列
  • send_invitation:通知メールを送信する場合は true、通知せずにアクセス許可を付与する場合は false
  • require_sign_in:アクセスに認証を必須とする場合は true
  • message:招待に添えるカスタムメッセージ(最大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. フォルダーを管理する(作成、移動、削除、コピー)

使用する場面:ユーザーがファイルやフォルダーの作成、移動、名前変更、削除、コピーを希望する場合

ツールの実行順序:

  1. ONE_DRIVE_ONEDRIVE_FIND_FOLDER - 移動元と移動先のフォルダーを特定します[前提条件]
  2. ONE_DRIVE_ONEDRIVE_CREATE_FOLDER - 新しいフォルダーを作成します[作成時に必須]
  3. ONE_DRIVE_MOVE_ITEM - ファイルまたはフォルダーを新しい場所に移動します[移動時に必須]
  4. ONE_DRIVE_COPY_ITEM - ファイルまたはフォルダーをコピーします(非同期処理)[コピー時に必須]
  5. ONE_DRIVE_DELETE_ITEM - アイテムをごみ箱に移動します[削除時に必須]
  6. ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATA - アイテムの名前を変更するか、プロパティを更新します[任意]

主なパラメーター:

  • name:作成するフォルダー名、または名前変更/コピー後の新しい名前
  • parent_folder:作成先のパス(例:"/Documents/Reports")またはフォルダー ID
  • itemId:移動するアイテム
  • 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. 変更とドライブ情報を追跡する

使用する場面:ユーザーが変更を監視したい場合、またはドライブ/クォータの情報を取得したい場合

ツールの実行順序:

  1. ONE_DRIVE_GET_DRIVE - ドライブのプロパティとメタデータを取得します[必須]
  2. ONE_DRIVE_GET_QUOTA - ストレージクォータ(合計、使用済み、残り)を確認します[任意]
  3. ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA - SharePoint サイトのドライブで変更を追跡します[任意]
  4. 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_ITEMSq、search_scope、top
ルートアイテムを一覧表示ONE_DRIVE_ONEDRIVE_LIST_ITEMSuser_id、select、top
アイテムの詳細を取得ONE_DRIVE_GET_ITEMitem_id、expand_relations
名前でファイルを検索ONE_DRIVE_ONEDRIVE_FIND_FILEname、folder
名前でフォルダーを検索ONE_DRIVE_ONEDRIVE_FIND_FOLDERname、folder
ファイルをアップロードONE_DRIVE_ONEDRIVE_UPLOAD_FILEfile、folder
ファイルをダウンロードONE_DRIVE_DOWNLOAD_FILEitem_id、file_name
フォルダーを作成ONE_DRIVE_ONEDRIVE_CREATE_FOLDERname、parent_folder
アイテムを移動ONE_DRIVE_MOVE_ITEMitemId、parentReference
アイテムをコピーONE_DRIVE_COPY_ITEMitem_id、parent_reference、name
アイテムを削除ONE_DRIVE_DELETE_ITEMitem_id
ユーザーと共有ONE_DRIVE_INVITE_USER_TO_DRIVE_ITEMitem_id、recipients、roles
共有リンクを作成ONE_DRIVE_CREATE_LINKitem_id、リンクの種類
アクセス許可を取得ONE_DRIVE_GET_ITEM_PERMISSIONSitem_id
メタデータを更新ONE_DRIVE_UPDATE_DRIVE_ITEM_METADATAitem_id、フィールド
ドライブ情報を取得ONE_DRIVE_GET_DRIVEdrive_id
ドライブを一覧表示ONE_DRIVE_LIST_DRIVESユーザー/グループ/サイトのスコープ
クォータを取得ONE_DRIVE_GET_QUOTA(なし)
変更を追跡ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTAsite_id、token
バージョン履歴ONE_DRIVE_GET_ITEM_VERSIONSitem_id

使用する場面

このスキルは、概要で説明されているワークフローまたは操作を実行する際に適しています。

例

ユーザーのリクエスト:

Rube MCP(Composio)を通じて、OneDrive のファイル管理、検索、アップロード、ダウンロード、共有、アクセス許可、フォルダー操作を自動化する。

制限事項

  • タスクが上記の説明された範囲に明確に一致する場合にのみ、このスキルを使用してください。
  • 出力を、環境固有の検証、テスト、または専門家によるレビューの代わりとして扱わないでください。
  • 必要な入力、権限、安全上の境界、または成功基準が不足している場合は、作業を中断して確認を求めてください。

上記のツール名、デフォルト設定、制限事項は過去のコネクターのスナップショットです。現在のスキーマを確認してください。展開された子コレクションが、再帰的な一覧のすべてを自動的に網羅するわけではありません。各子コレクションのページネーションをたどってください。このコネクターでデルタが利用できることは、すべての Microsoft Graph エンドポイントで利用できることを意味しません。共有範囲は、受信者、ロール、リンクの対象者、通知をそれぞれ正確に指定してください。既存の認証だけでは、新たな共有は許可されません。ダウンロード、監視、共有用の URL は機密情報として扱い、検証済みの返却ホストを使用してください。結果が不明なコピーやアップロードを、決してそのまま再実行しないでください。ごみ箱によって復元が保証されるわけではありません。

コメント