
关于
通过 Composio 的 Box 工具包自动化 Box 操作,包括文件上传/下载、内容搜索、文件夹管理、协作、元数据查询和签名请求
name: box-automation description: "通过 Composio 的 Box 工具包自动化 Box 操作,包括文件上传/下载、内容搜索、文件夹管理、协作、元数据查询和签名请求。" risk: critical source: community date_added: "2026-02-27"
通过 Rube MCP 实现 Box 自动化
通过 Composio 的 Box 工具包自动化 Box 操作,包括文件上传/下载、内容搜索、文件夹管理、协作、元数据查询和签名请求。
前置条件
- Rube MCP 必须已连接(RUBE_SEARCH_TOOLS 可用)
- 通过 `RUBE_MANAGE_CONNECTIONS` 使用工具包 `box` 建立活跃的 Box 连接
- 始终先调用 `RUBE_SEARCH_TOOLS` 获取当前工具 schema
设置
获取 Rube MCP:在你的客户端配置中添加 `https://rube.app/mcp` 作为 MCP 服务器。无需 API 密钥——只需添加端点即可使用。
- 通过确认 `RUBE_SEARCH_TOOLS` 有响应来验证 Rube MCP 可用
- 使用工具包 `box` 调用 `RUBE_MANAGE_CONNECTIONS`
- 如果连接不是 ACTIVE 状态,按照返回的认证链接完成 Box OAuth
- 在运行任何工作流之前确认连接状态显示为 ACTIVE
核心工作流
1. 上传和下载文件
何时使用:用户想要将文件上传到 Box 或从 Box 下载文件
工具调用顺序:
- `BOX_SEARCH_FOR_CONTENT` - 如果路径未知则查找目标文件夹 [前置条件]
- `BOX_GET_FOLDER_INFORMATION` - 验证文件夹存在并获取 folder_id [前置条件]
- `BOX_LIST_ITEMS_IN_FOLDER` - 浏览文件夹内容并发现文件 ID [可选]
- `BOX_UPLOAD_FILE` - 将文件上传到指定文件夹 [上传必需]
- `BOX_DOWNLOAD_FILE` - 通过 file_id 下载文件 [下载必需]
- `BOX_CREATE_ZIP_DOWNLOAD` - 将多个文件/文件夹打包为 zip [可选]
关键参数:
- `parent_id`:上传目标文件夹 ID(根文件夹使用 `"0"`)
- `file`:包含 `s3key`、`mimetype` 和 `name` 的 FileUploadable 对象用于上传
- `file_id`:下载时的唯一文件标识符
- `version`:可选的文件版本 ID,用于下载特定版本
- `fields`:逗号分隔的要返回的属性列表
注意事项:
- 上传到包含同名文件的文件夹可能触发冲突行为;需决定覆盖还是重命名语义
- 超过 50MB 的文件应使用分块上传 API(标准工具不提供)
- 上传中 `attributes` 部分必须在 `file` 部分之前,否则会收到 HTTP 400 `metadata_after_file_contents` 错误
- 文件 ID 和文件夹 ID 是数字字符串,可从 Box Web 应用 URL 中提取(如 `https://*.app.box.com/files/123` 得到 file_id `"123"`)
2. 搜索和浏览内容
何时使用:用户想要按名称、内容或元数据查找文件、文件夹或网页链接
工具调用顺序:
- `BOX_SEARCH_FOR_CONTENT` - 跨文件、文件夹和网页链接的全文搜索 [必需]
- `BOX_LIST_ITEMS_IN_FOLDER` - 浏览特定文件夹的内容 [可选]
- `BOX_GET_FILE_INFORMATION` - 获取特定文件的详细元数据 [可选]
- `BOX_GET_FOLDER_INFORMATION` - 获取特定文件夹的详细元数据 [可选]
- `BOX_QUERY_FILES_FOLDERS_BY_METADATA` - 按元数据模板值搜索 [可选]
- `BOX_LIST_RECENTLY_ACCESSED_ITEMS` - 列出最近访问的项目 [可选]
关键参数:
- `query`:搜索字符串,支持运算符(`""` 精确匹配,`AND`、`OR`、`NOT` - 仅大写)
- `type`:按 `"file"`、`"folder"` 或 `"web_link"` 过滤
- `ancestor_folder_ids`:限制搜索到特定文件夹(逗号分隔 ID)
- `file_extensions`:按文件类型过滤(逗号分隔,无点号)
- `content_types`:在 `"name"`、`"description"`、`"file_content"`、`"comments"`、`"tags"` 中搜索
- `created_at_range` / `updated_at_range`:日期过滤器,逗号分隔的 RFC3339 时间戳
- `limit`:每页结果数(默认 30)
- `offset`:分页偏移量(最大 10000)
- `folder_id`:用于 `LIST_ITEMS_IN_FOLDER`(根文件夹使用 `"0"`)
注意事项:
- offset 超过 10000 的查询会被拒绝并返回 HTTP 400
- `BOX_SEARCH_FOR_CONTENT` 需要 `query` 或 `mdfilters` 参数
- 配置错误的过滤器可能静默遗漏预期项目;先用小型测试查询验证
- 布尔运算符(`AND`、`OR`、`NOT`)必须大写
- `BOX_LIST_ITEMS_IN_FOLDER` 需要通过 `marker` 或 `offset`/`usemarker` 分页;部分列表很常见
- 标准文件夹按类型排序(文件夹在前,文件次之,网页链接最后)
3. 管理文件夹
何时使用:用户想要创建、更新、移动、复制或删除文件夹
工具调用顺序:
- `BOX_GET_FOLDER_INFORMATION` - 验证文件夹存在并检查权限 [前置条件]
- `BOX_CREATE_FOLDER` - 创建新文件夹 [创建必需]
- `BOX_UPDATE_FOLDER` - 重命名、移动或更新文件夹设置 [更新必需]
- `BOX_COPY_FOLDER` - 将文件夹复制到新位置 [可选]
- `BOX_DELETE_FOLDER` - 将文件夹移至回收站 [删除必需]
- `BOX_PERMANENTLY_REMOVE_FOLDER` - 永久删除文件夹 [谨慎使用]
关键参数:
- `parent_id`:父文件夹 ID(根文件夹使用 `"0"`)
- `name`:文件夹名称
- `folder_id`:目标文件夹 ID
- `recursive`:删除时是否递归删除子项
注意事项:
- 删除操作将文件夹移至回收站,可在 30 天内恢复
- 永久删除不可逆
- 文件夹名称在同一父文件夹下必须唯一
兼容工具
Claude CodeCursor
标签
后端开发
