用途
该技能用于通过 Rube MCP(Composio)自动化 OneDrive 的文件管理操作,涵盖文件搜索、上传、下载、分享、权限管理以及文件夹的创建、移动、复制和删除等任务。
主要能力
- 搜索与浏览文件:支持关键词搜索、列出根目录项目、获取项目详情、按名称查找文件或文件夹、列出所有可访问的驱动器。
- 上传与下载文件:支持将文件上传到指定文件夹,以及按项目 ID 下载文件。
- 分享与权限管理:支持邀请用户访问项目、创建分享链接、查看当前权限、更新项目元数据。
- 文件夹管理:支持创建、移动、复制、删除文件夹或文件,以及重命名或更新项目属性。
- 变更跟踪与驱动器信息:支持获取驱动器属性、检查存储配额、跟踪 SharePoint 站点驱动器的变更、获取文件版本历史。
使用方式
前置条件
- Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)。
- 通过 RUBE_MANAGE_CONNECTIONS 激活 OneDrive 连接,工具包为 one_drive。
- 始终先调用 RUBE_SEARCH_TOOLS 获取当前工具架构。
设置步骤
- 获取 Rube MCP:在客户端配置中添加 https://rube.app/mcp 作为 MCP 服务器。无需 API 密钥,只需添加端点即可。
- 确认 RUBE_SEARCH_TOOLS 有响应,以验证 Rube MCP 可用。
- 调用 RUBE_MANAGE_CONNECTIONS,工具包为 one_drive。
- 如果连接未处于 ACTIVE 状态,按照返回的授权链接完成 Microsoft OAuth。
- 确认连接状态显示为 ACTIVE 后再运行任何工作流。
核心工作流
- 搜索与浏览文件:依次调用 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。
- 上传与下载文件:依次调用 ONE_DRIVE_ONEDRIVE_FIND_FOLDER、ONE_DRIVE_ONEDRIVE_UPLOAD_FILE 或 ONE_DRIVE_DOWNLOAD_FILE,可选调用 ONE_DRIVE_GET_ITEM。
- 分享文件与管理权限:依次调用 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。
- 管理文件夹:依次调用 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。
- 跟踪变更与驱动器信息:依次调用 ONE_DRIVE_GET_DRIVE,可选调用 ONE_DRIVE_GET_QUOTA、ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA、ONE_DRIVE_GET_ITEM_VERSIONS。
适用场景
- 需要批量或自动化管理 OneDrive 文件的场景。
- 需要搜索、上传、下载、分享文件或管理权限的场景。
- 需要创建、移动、复制、删除文件夹或文件的场景。
- 需要监控驱动器变更或获取存储配额信息的场景。
限制
- 搜索不支持 KQL 操作符(folder:、file:、filetype:、path:),这些会被视为字面文本。
- 搜索不支持通配符(、?),会被自动移除;应使用文件扩展名关键词(如 "pdf" 而非 ".pdf")。
- ONE_DRIVE_ONEDRIVE_LIST_ITEMS 仅返回根级内容;更深层级需使用递归的 ONE_DRIVE_GET_ITEM 并设置 expand_relations: ["children"]。
- 大文件夹会分页;需持续跟随 skip_token / @odata.nextLink 直到耗尽。
- 某些驱动器 ID 格式可能因 Microsoft Graph API 限制而返回 "ObjectHandle is Invalid" 错误。
- 上传在冲突时自动重命名(默认无覆盖选项)。
- 大文件通过分块自动处理。
- 同时提供 drive_id 和 user_id 时,drive_id 优先。
- 项目 ID 因平台而异:OneDrive for Business 使用 01... 前缀,OneDrive Personal 使用 HASH!NUMBER 格式。
- 项目 ID 区分大小写;需完全按照 API 返回使用。
- ONE_DRIVE_MOVE_ITEM 不支持跨驱动器移动;跨驱动器传输需使用 ONE_DRIVE_COPY_ITEM。
- 移动操作的 parentReference 需要文件夹 ID(而非文件夹名称);需先用 ONEDRIVE_FIND_FOLDER 解析。
- ONE_DRIVE_COPY_ITEM 是异步操作;响应提供用于监控进度的 URL。
- ONE_DRIVE_DELETE_ITEM 将项目移至回收站,而非永久删除。
- 文件夹创建在冲突时自动重命名(如 "New Folder" 变为 "New Folder 1")。
- ONE_DRIVE_COPY_ITEM 需提供 name 或 parent_reference(或两者)。
- Delta 查询仅通过 ONE_DRIVE_LIST_SITE_DRIVE_ITEMS_DELTA 对 SharePoint 站点驱动器可用。
- Token "latest" 返回当前 delta token 但不返回项目(可用作起点)。
- 深层或大型驱动器爬取可能需要数分钟;需使用批处理和恢复逻辑。
- 激进的并行请求可能触发 HTTP 429;需遵守 Retry-After 头。
- 权限无法通过 ONE_DRIVE_GET_ITEM 展开;需使用单独的权限端点。
- q='*' 仅通配符查询会返回 HTTP 400 invalidRequest。
- 至少 require_sign_in 或 send_invitation 之一必须为 true。
- 使用错误的 item_id 调用 INVITE_USER_TO_DRIVE_ITEM 会更改非预期项目的权限;需先验证。
- 写入或更高角色影响较大;授予前需获得用户明确确认。
- GET_ITEM_PERMISSIONS 返回继承和所有者条目;不要假设响应仅反映最近更改。
- 项目路径用于权限时使用 :/path/to/item:/ 格式。
- 切勿使用 Web URL、分享链接或手动构造的标识符作为项目 ID。
- 始终使用 Microsoft Graph API 返回的 ID。
- 激进的并行 ONE_DRIVE_GET_ITEM 调用可能触发 HTTP 429 Too Many Requests。
- 深层驱动器爬取应使用批处理并加入延迟。
- 搜索不支持基于路径的过滤;应改用文件夹列表。
- 移动操作要求 parentReference 中使用文件夹 ID,而非文件夹名称。
- 复制操作是异步的;响应提供监控 URL。