Secure Box access for AI agents

Files, folders, metadata, shared links, hubs, Doc Gen, and Box AI via Box's official MCP server

Through Box, agents can read and write files and folders, manage metadata and shared links, work with hubs and Doc Gen, and run Box AI over your content — every call runs through your policies and is logged for audit.

Server URL: https://mcp.box.com

Setup

  1. Navigate to Resources and click Add Resource
  2. Select Box from the catalog
  3. Provide your Box OAuth app credentials (see Bring your own app)
  4. Click Add

Each user connects their own Box account via OAuth when they first use a Box tool; there is no shared service account. Navigate to Connections to manage linked accounts.

Credential modes

Box supports one mode:

  • Bring your own app: a Box OAuth 2.0 app owned by your organization. Box does not support dynamic client registration, so an app registered in the Box Developer Console is required.

See Credential modes for the full comparison.

Bring your own app

A Box admin (or any developer in the Box enterprise) registers a user-authorized OAuth 2.0 app in the Box Developer Console, then returns to SecureAuth with the Client ID and Client Secret.

In the Agent Authority console, go to Resources → Add Resource → Box → Bring your own app and copy the redirect URI shown on the page.

In the Box Developer Console, click Create Platform App → Custom App and choose User Authentication (OAuth 2.0):

  • Under Configuration → OAuth 2.0 Redirect URIs, add the redirect URI you copied
  • Under Configuration → Application Scopes, enable Read and write all files and folders stored in Box (root_readwrite), Manage AI (ai.readwrite), and Manage DocGen (docgen.readwrite)
  • Copy the Client ID and Client Secret from Configuration → OAuth 2.0 Credentials

Paste both back into the Box configure page in the Agent Authority console, then click Add. Leave Token Endpoint Authentication on Auto-detect — Box works with the detected default.

Depending on your Box enterprise settings, an admin may need to authorize the app once at Admin Console → Apps → Custom Apps Manager before users can connect.

Available tools

ToolDescription
who_am_iReturns detailed information about the currently authenticated Box user
get_download_urlIssues a temporary, single-use URL for downloading binary files from Box
get_file_contentReturns the content of a file stored in Box
get_file_detailsReturns detailed file information, including metadata, permissions, and versions
get_file_previewDisplays an interactive preview widget for a Box file
get_preview_pageReturns the current preview page as an image for analysis
get_folder_detailsRetrieves detailed folder information, including permissions and collaborations
list_folder_content_by_folder_idLists files, folders, and web links in a folder (paginated)
copy_fileCopies an existing file to a destination folder
copy_folderCopies an existing folder to a destination parent folder
create_folderCreates a folder in Box
create_metadata_templateCreates an enterprise metadata template
get_upload_urlIssues a temporary, single-use URL for uploading binary files to Box
move_fileMoves an existing file to a destination folder
move_folderMoves a folder to a new parent
set_file_metadataCreates or updates (upserts) custom metadata on a file for a template
set_folder_metadataCreates or updates (upserts) custom metadata on a folder for a template
update_file_propertiesUpdates file name, description, tags, and collections
update_folder_propertiesUpdates folder name, description, tags, and collections
update_metadata_templateUpdates a metadata template by scope and template key
upload_fileUploads a new file to Box
upload_file_versionUploads a new file version by providing the entire file contents
get_metadata_template_schemaReturns the schema and field keys for a metadata template
list_metadata_templatesLists available Box metadata templates (enterprise or global)
search_files_keywordSearches for files using keywords
search_files_metadataSearches for files using SQL-like metadata queries
search_folders_by_nameSearches for folders in Box by name using keyword matching
list_file_commentsLists all comments on a file
list_item_collaborationsLists all existing collaborations on an item
list_tasksLists all tasks for a file, including status, message, and due dates
add_file_shared_linkCreates or updates a shared link for a Box file
add_folder_shared_linkCreates or updates a shared link for a Box folder
create_collaborationInvites a user or group to a file, folder, or hub
create_file_commentCreates a comment on a file
update_collaborationUpdates a file, folder, or hub collaboration
ai_extract_freeformExtracts metadata from files using Box AI with natural-language prompts
ai_extract_structuredExtracts structured key-value metadata from files using Box AI
ai_extract_structured_from_fieldsExtracts structured metadata from files using custom field definitions
ai_extract_structured_from_fields_enhancedExtracts structured metadata using the Enhanced Extract Agent
ai_extract_structured_from_metadata_templateExtracts structured metadata from files using an existing template
ai_extract_structured_from_metadata_template_enhancedExtracts metadata using template and Enhanced Extract Agent
ai_qa_hubAsks a question about a Box hub and returns an answer based on content
ai_qa_multi_fileAsks a question about multiple files using Box AI
ai_qa_single_fileAsks a question about a single file using Box AI
get_hub_detailsRetrieves detailed information about a specific hub
get_hub_itemsGets items (files and folders) associated with a specific hub
list_hubsLists all hubs that the authenticated user can access
add_items_to_hubAdds files, folders, or web links to a hub
copy_hubCreates a copy of an existing hub, including structure and settings
create_hubCreates a hub
update_hubUpdates the title and description of a hub
get_docgen_template_by_idRetrieves details about a Doc Gen template
list_docgen_templatesLists all Box Doc Gen templates the authenticated user can access
create_docgen_batchGenerates documents from a Doc Gen template
create_docgen_templateMarks a Box file as a Doc Gen template

Required scopes

  • root_readwrite: read and write all files and folders stored in Box
  • ai.readwrite: use Box AI for Q&A and metadata extraction
  • docgen.readwrite: manage and run Box Doc Gen (requires an Enterprise Advanced license; remove this scope from the app if your plan does not include Doc Gen)

Policy examples

Rules are evaluated top to bottom and the first match wins, so a restrictive recipe needs a catch-all deny scoped to Box below its allow rules. Allow rules alone restrict nothing: your org starts with a seeded Allow all rule, and anything your allows don't cover falls through to it. New rules are inserted at the top of the list, so create rules in reverse order (catch-all deny first) or drag them into place afterwards. See Policies for the full model.

  • Read-only access. Deny get_upload_url, then allow who_am_i, get_*, list_*, and search_*, then deny *. The get_upload_url deny must sit above the get_* allow: it matches get_* but mints a temporary upload URL, and the upload that follows goes straight to Box without passing through the gateway.
  • Content without sharing. Deny add_file_shared_link, add_folder_shared_link, create_collaboration, and update_collaboration. Deny-only rules work against the seeded Allow all as long as they sit above it.
  • No AI processing. Deny ai_*.
  • Doc Gen workflows only. Allow list_docgen_templates, get_docgen_template_by_id, and create_docgen_batch, then deny * below them so nothing else on Box falls through to Allow all.

Next steps

  • Create a policy — start from the read-only pattern in Policy examples above.
  • Policies — how rule order, scoping, and the seeded Allow all rule interact.
  • Connections — manage the Box accounts your users have linked.

On this page