Box Automation via Rube MCP
Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.
Prerequisites
- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)
- Active Box connection via
RUBE_MANAGE_CONNECTIONS with toolkit box
- Always call
RUBE_SEARCH_TOOLS first to get current tool schemas
Setup
Get Rube MCP: Add https://rube.app/mcp as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.
- Verify Rube MCP is available by confirming
RUBE_SEARCH_TOOLS responds
- Call
RUBE_MANAGE_CONNECTIONS with toolkit box
- If connection is not ACTIVE, follow the returned auth link to complete Box OAuth
- Confirm connection status shows ACTIVE before running any workflows
Core Workflows
1. Upload and Download Files
When to use: User wants to upload files to Box or download files from it
Tool sequence:
BOX_SEARCH_FOR_CONTENT - Find the target folder if path is unknown [Prerequisite]
BOX_GET_FOLDER_INFORMATION - Verify folder exists and get folder_id [Prerequisite]
BOX_LIST_ITEMS_IN_FOLDER - Browse folder contents and discover file IDs [Optional]
BOX_UPLOAD_FILE - Upload a file to a specific folder [Required for upload]
BOX_DOWNLOAD_FILE - Download a file by file_id [Required for download]
BOX_CREATE_ZIP_DOWNLOAD - Bundle multiple files/folders into a zip [Optional]
Key parameters:
parent_id: Folder ID for upload destination (use "0" for root folder)
file: FileUploadable object with s3key, mimetype, and name for uploads
file_id: Unique file identifier for downloads
version: Optional file version ID for downloading specific versions
fields: Comma-separated list of attributes to return
Pitfalls:
- Uploading to a folder with existing filenames can trigger conflict behavior; decide overwrite vs rename semantics
- Files over 50MB should use chunk upload APIs (not available via standard tools)
- The
attributes part of upload must come before the file part or you get HTTP 400 with metadata_after_file_contents
- File IDs and folder IDs are numeric strings extractable from Box web app URLs (e.g.,
https://*.app.box.com/files/123 gives file_id "123")
2. Search and Browse Content
When to use: User wants to find files, folders, or web links by name, content, or metadata
Tool sequence:
BOX_SEARCH_FOR_CONTENT - Full-text search across files, folders, and web links [Required]
BOX_LIST_ITEMS_IN_FOLDER - Browse contents of a specific folder [Optional]
BOX_GET_FILE_INFORMATION - Get detailed metadata for a specific file [Optional]
BOX_GET_FOLDER_INFORMATION - Get detailed metadata for a specific folder [Optional]
BOX_QUERY_FILES_FOLDERS_BY_METADATA - Search by metadata template values [Optional]
BOX_LIST_RECENTLY_ACCESSED_ITEMS - List recently accessed items [Optional]
Key parameters:
query: Search string supporting operators ("" exact match, AND, OR, NOT - uppercase only)
type: Filter by "file", "folder", or "web_link"
ancestor_folder_ids: Limit search to specific folders (comma-separated IDs)
file_extensions: Filter by file type (comma-separated, no dots)
content_types: Search in "name", "description", "file_content", "comments", "tags"
created_at_range / updated_at_range: Date filters as comma-separated RFC3339 timestamps
limit: Results per page (default 30)
offset: Pagination offset (max 10000)
folder_id: For LIST_ITEMS_IN_FOLDER (use "0" for root)
Pitfalls:
- Queries with offset > 10000 are rejected with HTTP 400
BOX_SEARCH_FOR_CONTENT requires either query or mdfilters parameter
- Misconfigured filters can silently omit expected items; validate with small test queries first
- Boolean operators (
AND, OR, NOT) must be uppercase
BOX_LIST_ITEMS_IN_FOLDER requires pagination via marker or offset/usemarker; partial listings are common
- Standard folders sort items by type first (folders before files before web links)
3. Manage Folders
When to use: User wants to create, update, move, copy, or delete folders
Tool sequence:
BOX_GET_FOLDER_INFORMATION - Verify folder exists and check permissions [Prerequisite]
BOX_CREATE_FOLDER - Create a new folder [Required for create]
BOX_UPDATE_FOLDER - Rename, move, or update folder settings [Required for update]
BOX_COPY_FOLDER - Copy a folder to a new location [Optional]
BOX_DELETE_FOLDER - Move folder to trash [Required for delete]
BOX_PERMANENTLY_REMOVE_FOLDER - Permanently delete a trashed folder [Optional]
Key parameters:
name: Folder name (no /, \, trailing spaces, or ./..)
parent__id: Parent folder ID (use "0" for root)
folder_id: Target folder ID for operations
parent.id: Destination fold
1---2name: box-automation3description: Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.4---567# Box Automation via Rube MCP89Automate Box operations including file upload/download, content search, folder management, collaboration, metadata queries, and sign requests through Composio's Box toolkit.1011## Prerequisites1213- Rube MCP must be connected (RUBE_SEARCH_TOOLS available)14- Active Box connection via `RUBE_MANAGE_CONNECTIONS` with toolkit `box`15- Always call `RUBE_SEARCH_TOOLS` first to get current tool schemas1617## Setup1819**Get Rube MCP**: Add `https://rube.app/mcp` as an MCP server in your client configuration. No API keys needed — just add the endpoint and it works.20211. Verify Rube MCP is available by confirming `RUBE_SEARCH_TOOLS` responds222. Call `RUBE_MANAGE_CONNECTIONS` with toolkit `box`233. If connection is not ACTIVE, follow the returned auth link to complete Box OAuth244. Confirm connection status shows ACTIVE before running any workflows2526## Core Workflows2728### 1. Upload and Download Files2930**When to use**: User wants to upload files to Box or download files from it3132**Tool sequence**:331. `BOX_SEARCH_FOR_CONTENT` - Find the target folder if path is unknown [Prerequisite]342. `BOX_GET_FOLDER_INFORMATION` - Verify folder exists and get folder_id [Prerequisite]353. `BOX_LIST_ITEMS_IN_FOLDER` - Browse folder contents and discover file IDs [Optional]364. `BOX_UPLOAD_FILE` - Upload a file to a specific folder [Required for upload]375. `BOX_DOWNLOAD_FILE` - Download a file by file_id [Required for download]386. `BOX_CREATE_ZIP_DOWNLOAD` - Bundle multiple files/folders into a zip [Optional]3940**Key parameters**:41- `parent_id`: Folder ID for upload destination (use `"0"` for root folder)42- `file`: FileUploadable object with `s3key`, `mimetype`, and `name` for uploads43- `file_id`: Unique file identifier for downloads44- `version`: Optional file version ID for downloading specific versions45- `fields`: Comma-separated list of attributes to return4647**Pitfalls**:48- Uploading to a folder with existing filenames can trigger conflict behavior; decide overwrite vs rename semantics49- Files over 50MB should use chunk upload APIs (not available via standard tools)50- The `attributes` part of upload must come before the `file` part or you get HTTP 400 with `metadata_after_file_contents`51- File IDs and folder IDs are numeric strings extractable from Box web app URLs (e.g., `https://*.app.box.com/files/123` gives file_id `"123"`)5253### 2. Search and Browse Content5455**When to use**: User wants to find files, folders, or web links by name, content, or metadata5657**Tool sequence**:581. `BOX_SEARCH_FOR_CONTENT` - Full-text search across files, folders, and web links [Required]592. `BOX_LIST_ITEMS_IN_FOLDER` - Browse contents of a specific folder [Optional]603. `BOX_GET_FILE_INFORMATION` - Get detailed metadata for a specific file [Optional]614. `BOX_GET_FOLDER_INFORMATION` - Get detailed metadata for a specific folder [Optional]625. `BOX_QUERY_FILES_FOLDERS_BY_METADATA` - Search by metadata template values [Optional]636. `BOX_LIST_RECENTLY_ACCESSED_ITEMS` - List recently accessed items [Optional]6465**Key parameters**:66- `query`: Search string supporting operators (`""` exact match, `AND`, `OR`, `NOT` - uppercase only)67- `type`: Filter by `"file"`, `"folder"`, or `"web_link"`68- `ancestor_folder_ids`: Limit search to specific folders (comma-separated IDs)69- `file_extensions`: Filter by file type (comma-separated, no dots)70- `content_types`: Search in `"name"`, `"description"`, `"file_content"`, `"comments"`, `"tags"`71- `created_at_range` / `updated_at_range`: Date filters as comma-separated RFC3339 timestamps72- `limit`: Results per page (default 30)73- `offset`: Pagination offset (max 10000)74- `folder_id`: For `LIST_ITEMS_IN_FOLDER` (use `"0"` for root)7576**Pitfalls**:77- Queries with offset > 10000 are rejected with HTTP 40078- `BOX_SEARCH_FOR_CONTENT` requires either `query` or `mdfilters` parameter79- Misconfigured filters can silently omit expected items; validate with small test queries first80- Boolean operators (`AND`, `OR`, `NOT`) must be uppercase81- `BOX_LIST_ITEMS_IN_FOLDER` requires pagination via `marker` or `offset`/`usemarker`; partial listings are common82- Standard folders sort items by type first (folders before files before web links)8384### 3. Manage Folders8586**When to use**: User wants to create, update, move, copy, or delete folders8788**Tool sequence**:891. `BOX_GET_FOLDER_INFORMATION` - Verify folder exists and check permissions [Prerequisite]902. `BOX_CREATE_FOLDER` - Create a new folder [Required for create]913. `BOX_UPDATE_FOLDER` - Rename, move, or update folder settings [Required for update]924. `BOX_COPY_FOLDER` - Copy a folder to a new location [Optional]935. `BOX_DELETE_FOLDER` - Move folder to trash [Required for delete]946. `BOX_PERMANENTLY_REMOVE_FOLDER` - Permanently delete a trashed folder [Optional]9596**Key parameters**:97- `name`: Folder name (no `/`, `\`, trailing spaces, or `.`/`..`)98- `parent__id`: Parent folder ID (use `"0"` for root)99- `folder_id`: Target folder ID for operations100- `parent.id`: Destination fold