Connectors · Files & documents
Box MCP server for AI agents.
actionlake is an MCP gateway: one remote MCP server that connects Claude and other MCP clients to Box and the rest of your systems. It gives your agent 283 Box actions (130 reads, 105 writes and 48 that wait for a confirmation) and holds the Box credential itself, so the agent never does. It paces Box's limits and records every call. Connecting Box needs your own Box OAuth app and one admin sign-in.
100,000 free calls a month. No card, no email, no password: press Start a free sandbox on the next screen and keep the key it shows you.
claude mcp add --transport http actionlake https://connect.actionlake.com/mcpdo { action: "box.users.list", intent: "check which Box account is connected"}# Users: list · read · 1 upstream call- 283actionsin one signed file
- 130readlook, never change
- 105writecreate and update
- 48wait for a yesdestructive, confirmed first
Set up
Connect Box in three steps.
- 01
Add actionlake to Claude.
Run the command once in Claude Code; its consent page can create a free sandbox: 100,000 calls a month, no card. In the Claude app, add a custom connector with the URL below and paste your key on the consent page. Creating a new sandbox from the Claude app is not yet tested by us.
https://connect.actionlake.com/mcp - 02
Connect Box.
OAuth 2.0, authorization code. You register your own OAuth app with Box, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on. actionlake stores what you paste write-only, sealed under your tenant's key.
Before the first sign-in, Box needs an OAuth app of your own, registered in its developer portal. actionlake has no Box app to lend you.
access_tokenAccess token from one sign-in with your own OAuth apprefresh_tokenRefresh token from the same sign-in; the access token is renewed from itclient_idBox client IDclient_secretBox client secret
account { op: "connections.requirements", service: "box" } # free: exactly what to paste, and what is found for you - 03
Make the first call. Check before a write.
Ask in plain words; Claude picks the action. Before anything changes,
checkvalidates the call and prices it, for free.do { action: "box.users.list" }# users: list · read · 1 upstream callcheck { action: "box.users.create", input: { … } }# free: inputs, permissions, cost and confirmations, nothing sent
Box at a glance
- Sign-in
- OAuth 2.0, authorization code. You register your own OAuth app with Box, an admin signs in once, and you paste the app's client id and secret and the tokens from that sign-in; actionlake renews the access token from then on.
- You provide
access_tokenrefresh_tokenclient_idclient_secret- Limits we pace to
- 1,000 calls a minute, at most 8 at a time, per connection
- API covered
- Box API 2.0
api.box.com/2.0 - Built from
- Box's documentation, read 19 September 2026OpenAPI spec (GitHub)developer.box.com
- Service file
- Version 1.0.0, signed (Ed25519)
- Cached reads
- 129 of 130 reads, for up to an hour; a write clears what it affects
- Ready-made plans
- 9 in the store
- Shared entities
- 7, so ask can line Box up with your other systems
- Data
- Processed and stored in Sydney, Australia. No US region yet
Capabilities
What an AI agent can do in Box.
283 actions in 29 areas. Every one carries its effect, so a key can allow the reads and hold the rest.
- 130readlook, never change
- 105writecreate and update
- 48destructivewait for a confirmation
File
5122 read · 20 write · 9 destructive
Files: get · Files: delete · Files: update · Files Comments: list
Metadata
3314 read · 15 write · 4 destructive
Metadata Taxonomies Nodes: list · Metadata Taxonomies Nodes: create · Metadata Templates: list · Metadata Templates Enterprise: list
Folder
2811 read · 12 write · 5 destructive
Folders Items: list · Folders: get · Folders: create · Folders: update
Shield
2010 read · 7 write · 3 destructive
Shield Information Barrier Reports: list · Shield Information Barrier Segments: list · Shield Information Barriers: list · Shield Information Barrier Reports: create
User
135 read · 4 write · 4 destructive
Users: list · Users: create · Users: get · Users: update
Group
125 read · 4 write · 3 destructive
Groups: list · Groups: create · Groups: get · Groups: update
Web link
113 read · 6 write · 2 destructive
Web Links: create · Web Links: create · Web Links: get · Web Links: get get shared link
Legal hold
116 read · 3 write · 2 destructive
Legal Hold Policy Assignments Files On Hold: list · Legal Hold Policy Assignments File Versions On Hold: list · Legal Hold Policies: list · Legal Hold Policies: create
21 more areas · 104 actions
- Retention 11
- Platform 11
- AI 10
- Sharing 9
- Task 9
- Integration 8
- Request 7
- Storage policy 7
- Terms 7
- Webhook 5
- Comment 4
- Collection 3
- Workflow 2
- Device 2
- Invite 2
- Zip 2
- Enterprise 1
- Recent 1
- Search 1
- Event 1
- Skill 1
Box's own MCP server
Box's MCP server, or actionlake?
Box runs a remote MCP server at mcp.box.com, signed in with OAuth once a Box admin turns MCP on.
Use Box's server when one person wants to work in Box from their own AI client. Use actionlake when you also want Box behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Box and another system.
Source: Box's documentation, checked 22 October 2026.
Top actions
The Box API, shaped for agents.
The ids your agent types, what each does, and the one name it shares with other systems. 154 of Box's 156 action names are shared with at least one other connector, so an agent learns them once.
| Action | What it does | Effect | Same name in |
|---|---|---|---|
box.users.listUsers: list | List enterprise users | read | identity.user.list474 connectors |
box.folders_items.listFolders Items: list | List items in folder | read | content.file.list77 connectors |
box.folders.getFolders: get | Get folder information | read | content.folder.get47 connectors |
box.groups.listGroups: list | List groups for enterprise | read | identity.group.list262 connectors |
box.users.createUsers: create | Create user | write | identity.user.create262 connectors |
box.folders.createFolders: create | Create folder | write | content.folder.create62 connectors |
box.files.getFiles: get | Get file information | read | content.file.get74 connectors |
box.files.deleteFiles: delete | Delete file | destructive | content.file.delete68 connectors |
box.files_comments.listFiles Comments: list | List file comments | read | content.file_comment.list12 connectors |
box.groups.createGroups: create | Create group | write | identity.group.create205 connectors |
box.files_tasks.listFiles Tasks: list | List tasks on file | read | work.task.list122 connectors |
box.files.update_add_shared_linkFiles: update add shared link | Add shared link to file | write | content.file_link.create18 connectors |
Try it
Prompts to paste into Claude.
Each one names the Box actions it will call, so you know what it reads and what it changes before you send it.
- Readread
Which Box tasks are overdue, and who owns each one?
calls
box.files_tasks.list - Plandestructive
Retire a legal hold policy in Box. Ask me before anything is sent or changed.
calls
box.legal_hold_policies.getbox.legal_hold_policy_assignments.listbox.legal_hold_policy_assignments_files_on_hold.listbox.legal_hold_policy_assignments.deletebox.legal_hold_policies.delete - Planread
Audit pending collaborations on a folder in Box.
calls
box.collaborations.listbox.folders.getbox.folders_collaborations.listbox.collaborations.get - Writewrite
Users: create in Box. Show me exactly what you will send before you save it.
calls
box.users.create
The plan store
Ready-made plans for Box.
9 plans in the store. Install one and your agent runs it by name; the reply says which connections are still missing. A schedule can run a plan on a timetable. There are no triggers or webhooks, by design.
Summarise a folder with Box AI
Use it when Someone wants to know what is inside a Box folder without opening every document in it.
Audit pending collaborations on a folder
Use it when Someone wants to see who has outstanding invitations to a Box folder before those invites turn into real access.
Chase outstanding signature requests
Use it when Signature requests have gone quiet and someone wants every outstanding signer nudged in one pass.
Classify a folder's files with Box AI
Use it when Files in a folder need a security classification applied and someone wants AI help deciding what is in them first.
Onboard a new user into a team folder
Use it when A new joiner needs a Box account and access to one team folder in a single approved run.
A person decides
Create Box user 'name' and grant them role on folder folder id.
Start a Box Relay workflow and wait for it
Use it when A Box Relay workflow needs to be kicked off on a folder and the caller must know when it has finished.
Revoke a collaboration after sign-off
Use it when A person or partner must lose access to a Box item and someone needs to sign off before the access is cut.
A person decides
Revoke Box collaboration collaboration id, removing login from name.
Retire a legal hold policy
Use it when A legal hold has ended and the policy plus all of its assignments must be removed with a compliance sign-off on record.
A person decides
Retire legal hold policy 'policy name' and delete its number of items assignments. Files come off hold.
account { op: "plans.install", slug: "box-summarise-folder-contents" }
# then ask for it by name; a schedule can run it on a timetableGovernance for Box
Destructive actions wait for a yes.
48 Box actions are destructive. The first 10:
- Files: delete
box.files.delete - Users: delete
box.users.delete - Folders: delete
box.folders.delete - Groups: delete
box.groups.delete - Comments: delete
box.comments.delete - Collaborations: delete
box.collaborations.delete - Tasks: delete
box.tasks.delete - Device Pinners: delete
box.device_pinners.delete - Users Terminate Sessions: create
box.users_terminate_sessions.create - Groups Terminate Sessions: create
box.groups_terminate_sessions.create
A destructive action runs only with confirm: true. Under the human policy the agent cannot confirm for itself: the run stops until a named person approves, in the console or from a signed link in an email. The cap on a key is refused before the call is sent, never after.
Files: delete?
intent: the user asked me to files: delete
account { op: "keys.create", name: "box-agent", allowed_actions: ["box.*"], cap_calls: 2000, confirm_policy: "human_for_writes", approval_rules: [ { match: "box.files.delete", approver: "[email protected]" }, { match: "box.users.delete", approver: "[email protected]" }, { match: "box.folders.delete", approver: "[email protected]" } ]}Cost
What Box costs on actionlake.
Every Box action is one upstream call, the only thing actionlake bills. Searching, check, cost, account and any call Box refused with 401, 403, 429 or a 5xx are free. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
- 1upstream call per actionall 283 Box actions
- 283actions pageeach page of a long list is one call
- 129reads can be cacheda cache hit costs nothing
- 100,000calls a month, freepaid plans from US$49 a month for 250,000
Action index
Every Box action.
283 actions by area: the id your agent calls, what it does, and its effect.
File51
box.file_requests.deleteFile Requests: deletedestructivebox.file_requests.getFile Requests: getreadbox.file_requests.updateFile Requests: updatewritebox.file_requests_copy.createFile Requests Copy: createwritebox.file_version_legal_holds.getFile Version Legal Holds: getreadbox.file_version_legal_holds.listFile Version Legal Holds: listreadbox.file_version_retentions.getFile Version Retentions: getreadbox.file_version_retentions.listFile Version Retentions: listreadbox.files.createFiles: createwritebox.files.deleteFiles: deletedestructivebox.files.getFiles: getreadbox.files.get_get_shared_linkFiles: get get shared linkreadbox.files.updateFiles: updatewritebox.files.update_add_shared_linkFiles: update add shared linkwritebox.files.update_remove_shared_linkFiles: update remove shared linkwritebox.files.update_update_shared_linkFiles: update update shared linkwritebox.files_app_item_associations.listFiles App Item Associations: listreadbox.files_collaborations.listFiles Collaborations: listreadbox.files_comments.listFiles Comments: listreadbox.files_copy.createFiles Copy: createwritebox.files_metadata.createFiles Metadata: createwritebox.files_metadata.deleteFiles Metadata: deletedestructivebox.files_metadata.getFiles Metadata: getreadbox.files_metadata.listFiles Metadata: listreadbox.files_metadata.updateFiles Metadata: updatewritebox.files_metadata_enterprise_security_classification_6_vmvochw_uwo.createFiles Metadata Enterprise Security Classification 6 Vmvochw Uwo: createwritebox.files_metadata_enterprise_security_classification_6_vmvochw_uwo.deleteFiles Metadata Enterprise Security Classification 6 Vmvochw Uwo: deletedestructivebox.files_metadata_enterprise_security_classification_6_vmvochw_uwo.getFiles Metadata Enterprise Security Classification 6 Vmvochw Uwo: getreadbox.files_metadata_enterprise_security_classification_6_vmvochw_uwo.updateFiles Metadata Enterprise Security Classification 6 Vmvochw Uwo: updatewritebox.files_metadata_global_box_skills_cards.createFiles Metadata Global Box Skills Cards: createwritebox.files_metadata_global_box_skills_cards.deleteFiles Metadata Global Box Skills Cards: deletedestructivebox.files_metadata_global_box_skills_cards.getFiles Metadata Global Box Skills Cards: getreadbox.files_metadata_global_box_skills_cards.updateFiles Metadata Global Box Skills Cards: updatewritebox.files_tasks.listFiles Tasks: listreadbox.files_trash.deleteFiles Trash: deletedestructivebox.files_trash.getFiles Trash: getreadbox.files_upload_sessions.createFiles Upload Sessions: createwritebox.files_upload_sessions.create_postFiles Upload Sessions: createwritebox.files_upload_sessions.deleteFiles Upload Sessions: deletedestructivebox.files_upload_sessions.getFiles Upload Sessions: getreadbox.files_upload_sessions_commit.createFiles Upload Sessions Commit: createwritebox.files_upload_sessions_parts.listFiles Upload Sessions Parts: listreadbox.files_upload_sessions_plan.createFiles Upload Sessions Plan: createreadbox.files_versions.deleteFiles Versions: deletedestructivebox.files_versions.getFiles Versions: getreadbox.files_versions.listFiles Versions: listreadbox.files_versions.updateFiles Versions: updatewritebox.files_versions_current.createFiles Versions Current: createwritebox.files_watermark.deleteFiles Watermark: deletedestructivebox.files_watermark.getFiles Watermark: getreadbox.files_watermark.updateFiles Watermark: updatewrite
Metadata33
box.metadata_cascade_policies.createMetadata Cascade Policies: createwritebox.metadata_cascade_policies.deleteMetadata Cascade Policies: deletedestructivebox.metadata_cascade_policies.getMetadata Cascade Policies: getreadbox.metadata_cascade_policies.listMetadata Cascade Policies: listreadbox.metadata_cascade_policies_apply.createMetadata Cascade Policies Apply: createwritebox.metadata_queries_execute_read.searchMetadata Queries Execute Read: searchreadbox.metadata_taxonomies.createMetadata Taxonomies: createwritebox.metadata_taxonomies.deleteMetadata Taxonomies: deletedestructivebox.metadata_taxonomies.getMetadata Taxonomies: getreadbox.metadata_taxonomies.get_getMetadata Taxonomies: getreadbox.metadata_taxonomies.updateMetadata Taxonomies: updatewritebox.metadata_taxonomies_levels.createMetadata Taxonomies Levels: createwritebox.metadata_taxonomies_levels.updateMetadata Taxonomies Levels: updatewritebox.metadata_taxonomies_levels_append.createMetadata Taxonomies Levels Append: createwritebox.metadata_taxonomies_levels_trim.createMetadata Taxonomies Levels Trim: createwritebox.metadata_taxonomies_nodes.createMetadata Taxonomies Nodes: createwritebox.metadata_taxonomies_nodes.deleteMetadata Taxonomies Nodes: deletedestructivebox.metadata_taxonomies_nodes.getMetadata Taxonomies Nodes: getreadbox.metadata_taxonomies_nodes.listMetadata Taxonomies Nodes: listreadbox.metadata_taxonomies_nodes.updateMetadata Taxonomies Nodes: updatewritebox.metadata_templates.getMetadata Templates: getreadbox.metadata_templates.listMetadata Templates: listreadbox.metadata_templates_enterprise.listMetadata Templates Enterprise: listreadbox.metadata_templates_enterprise_security_classification_6_vmvochw_uwo_schema.getMetadata Templates Enterprise Security Classification 6 Vmvochw Uwo Schema: getreadbox.metadata_templates_enterprise_security_classification_6_vmvochw_uwo_schema.update_addMetadata Templates Enterprise Security Classification 6 Vmvochw Uwo Schema: update addwritebox.metadata_templates_enterprise_security_classification_6_vmvochw_uwo_schema.update_updateMetadata Templates Enterprise Security Classification 6 Vmvochw Uwo Schema: update updatewritebox.metadata_templates_fields_options.listMetadata Templates Fields Options: listreadbox.metadata_templates_global.listMetadata Templates Global: listreadbox.metadata_templates_schema.createMetadata Templates Schema: createwritebox.metadata_templates_schema.create_classificationsMetadata Templates Schema: create classificationswritebox.metadata_templates_schema.deleteMetadata Templates Schema: deletedestructivebox.metadata_templates_schema.getMetadata Templates Schema: getreadbox.metadata_templates_schema.updateMetadata Templates Schema: updatewrite
Folder28
box.folders.createFolders: createwritebox.folders.create_postFolders: createwritebox.folders.deleteFolders: deletedestructivebox.folders.getFolders: getreadbox.folders.get_get_shared_linkFolders: get get shared linkreadbox.folders.updateFolders: updatewritebox.folders.update_add_shared_linkFolders: update add shared linkwritebox.folders.update_remove_shared_linkFolders: update remove shared linkwritebox.folders.update_update_shared_linkFolders: update update shared linkwritebox.folders_app_item_associations.listFolders App Item Associations: listreadbox.folders_collaborations.listFolders Collaborations: listreadbox.folders_copy.createFolders Copy: createwritebox.folders_items.listFolders Items: listreadbox.folders_metadata.createFolders Metadata: createwritebox.folders_metadata.deleteFolders Metadata: deletedestructivebox.folders_metadata.getFolders Metadata: getreadbox.folders_metadata.listFolders Metadata: listreadbox.folders_metadata.updateFolders Metadata: updatewritebox.folders_metadata_enterprise_security_classification_6_vmvochw_uwo.createFolders Metadata Enterprise Security Classification 6 Vmvochw Uwo: createwritebox.folders_metadata_enterprise_security_classification_6_vmvochw_uwo.deleteFolders Metadata Enterprise Security Classification 6 Vmvochw Uwo: deletedestructivebox.folders_metadata_enterprise_security_classification_6_vmvochw_uwo.getFolders Metadata Enterprise Security Classification 6 Vmvochw Uwo: getreadbox.folders_metadata_enterprise_security_classification_6_vmvochw_uwo.updateFolders Metadata Enterprise Security Classification 6 Vmvochw Uwo: updatewritebox.folders_trash.deleteFolders Trash: deletedestructivebox.folders_trash.getFolders Trash: getreadbox.folders_trash_items.listFolders Trash Items: listreadbox.folders_watermark.deleteFolders Watermark: deletedestructivebox.folders_watermark.getFolders Watermark: getreadbox.folders_watermark.updateFolders Watermark: updatewrite
Shield20
box.shield_information_barrier_reports.createShield Information Barrier Reports: createwritebox.shield_information_barrier_reports.getShield Information Barrier Reports: getreadbox.shield_information_barrier_reports.listShield Information Barrier Reports: listreadbox.shield_information_barrier_segment_members.createShield Information Barrier Segment Members: createwritebox.shield_information_barrier_segment_members.deleteShield Information Barrier Segment Members: deletedestructivebox.shield_information_barrier_segment_members.getShield Information Barrier Segment Members: getreadbox.shield_information_barrier_segment_members.listShield Information Barrier Segment Members: listreadbox.shield_information_barrier_segment_restrictions.createShield Information Barrier Segment Restrictions: createwritebox.shield_information_barrier_segment_restrictions.deleteShield Information Barrier Segment Restrictions: deletedestructivebox.shield_information_barrier_segment_restrictions.getShield Information Barrier Segment Restrictions: getreadbox.shield_information_barrier_segment_restrictions.listShield Information Barrier Segment Restrictions: listreadbox.shield_information_barrier_segments.createShield Information Barrier Segments: createwritebox.shield_information_barrier_segments.deleteShield Information Barrier Segments: deletedestructivebox.shield_information_barrier_segments.getShield Information Barrier Segments: getreadbox.shield_information_barrier_segments.listShield Information Barrier Segments: listreadbox.shield_information_barrier_segments.updateShield Information Barrier Segments: updatewritebox.shield_information_barriers.createShield Information Barriers: createwritebox.shield_information_barriers.getShield Information Barriers: getreadbox.shield_information_barriers.listShield Information Barriers: listreadbox.shield_information_barriers_change_status.createShield Information Barriers Change Status: createwrite
User13
box.users.createUsers: createwritebox.users.deleteUsers: deletedestructivebox.users.getUsers: getreadbox.users.listUsers: listreadbox.users.updateUsers: updatewritebox.users_avatar.deleteUsers Avatar: deletedestructivebox.users_email_aliases.createUsers Email Aliases: createwritebox.users_email_aliases.deleteUsers Email Aliases: deletedestructivebox.users_email_aliases.listUsers Email Aliases: listreadbox.users_folders_0.updateUsers Folders 0: updatewritebox.users_me.getUsers Me: getreadbox.users_memberships.listUsers Memberships: listreadbox.users_terminate_sessions.createUsers Terminate Sessions: createdestructive
Group12
box.group_memberships.createGroup Memberships: createwritebox.group_memberships.deleteGroup Memberships: deletedestructivebox.group_memberships.getGroup Memberships: getreadbox.group_memberships.updateGroup Memberships: updatewritebox.groups.createGroups: createwritebox.groups.deleteGroups: deletedestructivebox.groups.getGroups: getreadbox.groups.listGroups: listreadbox.groups.updateGroups: updatewritebox.groups_collaborations.listGroups Collaborations: listreadbox.groups_memberships.listGroups Memberships: listreadbox.groups_terminate_sessions.createGroups Terminate Sessions: createdestructive
Web link11
box.web_links.createWeb Links: createwritebox.web_links.create_postWeb Links: createwritebox.web_links.deleteWeb Links: deletedestructivebox.web_links.getWeb Links: getreadbox.web_links.get_get_shared_linkWeb Links: get get shared linkreadbox.web_links.updateWeb Links: updatewritebox.web_links.update_add_shared_linkWeb Links: update add shared linkwritebox.web_links.update_remove_shared_linkWeb Links: update remove shared linkwritebox.web_links.update_update_shared_linkWeb Links: update update shared linkwritebox.web_links_trash.deleteWeb Links Trash: deletedestructivebox.web_links_trash.getWeb Links Trash: getread
Legal hold11
box.legal_hold_policies.createLegal Hold Policies: createwritebox.legal_hold_policies.deleteLegal Hold Policies: deletedestructivebox.legal_hold_policies.getLegal Hold Policies: getreadbox.legal_hold_policies.listLegal Hold Policies: listreadbox.legal_hold_policies.updateLegal Hold Policies: updatewritebox.legal_hold_policy_assignments.createLegal Hold Policy Assignments: createwritebox.legal_hold_policy_assignments.deleteLegal Hold Policy Assignments: deletedestructivebox.legal_hold_policy_assignments.getLegal Hold Policy Assignments: getreadbox.legal_hold_policy_assignments.listLegal Hold Policy Assignments: listreadbox.legal_hold_policy_assignments_file_versions_on_hold.listLegal Hold Policy Assignments File Versions On Hold: listreadbox.legal_hold_policy_assignments_files_on_hold.listLegal Hold Policy Assignments Files On Hold: listread
Retention11
box.retention_policies.createRetention Policies: createwritebox.retention_policies.deleteRetention Policies: deletedestructivebox.retention_policies.getRetention Policies: getreadbox.retention_policies.listRetention Policies: listreadbox.retention_policies.updateRetention Policies: updatewritebox.retention_policies_assignments.listRetention Policies Assignments: listreadbox.retention_policy_assignments.createRetention Policy Assignments: createwritebox.retention_policy_assignments.deleteRetention Policy Assignments: deletedestructivebox.retention_policy_assignments.getRetention Policy Assignments: getreadbox.retention_policy_assignments_file_versions_under_retention.listRetention Policy Assignments File Versions Under Retention: listreadbox.retention_policy_assignments_files_under_retention.listRetention Policy Assignments Files Under Retention: listread
Platform11
box.collaboration_whitelist_entries.createCollaboration Whitelist Entries: createwritebox.collaboration_whitelist_entries.deleteCollaboration Whitelist Entries: deletedestructivebox.collaboration_whitelist_entries.getCollaboration Whitelist Entries: getreadbox.collaboration_whitelist_entries.listCollaboration Whitelist Entries: listreadbox.collaboration_whitelist_exempt_targets.createCollaboration Whitelist Exempt Targets: createwritebox.collaboration_whitelist_exempt_targets.deleteCollaboration Whitelist Exempt Targets: deletedestructivebox.collaboration_whitelist_exempt_targets.getCollaboration Whitelist Exempt Targets: getreadbox.collaboration_whitelist_exempt_targets.listCollaboration Whitelist Exempt Targets: listreadbox.folder_locks.createFolder Locks: createwritebox.folder_locks.deleteFolder Locks: deletedestructivebox.folder_locks.listFolder Locks: listread
AI10
box.ai_agent_default.getAi Agent Default: getreadbox.ai_agents.createAi Agents: createwritebox.ai_agents.deleteAi Agents: deletedestructivebox.ai_agents.getAi Agents: getreadbox.ai_agents.listAi Agents: listreadbox.ai_agents.updateAi Agents: updatewritebox.ai_ask.runAi Ask: runreadbox.ai_extract.runAi Extract: runreadbox.ai_extract_structured.runAi Extract Structured: runreadbox.ai_text_gen.runAi Text Gen: runread
Sharing9
box.collaborations.createCollaborations: createwritebox.collaborations.deleteCollaborations: deletedestructivebox.collaborations.getCollaborations: getreadbox.collaborations.listCollaborations: listreadbox.collaborations.updateCollaborations: updatewritebox.shared_items.getShared Items: getreadbox.shared_items.get_app_itemsShared Items: get app itemsreadbox.shared_items.get_foldersShared Items: get foldersreadbox.shared_items.get_web_linksShared Items: get web linksread
Task9
box.task_assignments.createTask Assignments: createwritebox.task_assignments.deleteTask Assignments: deletedestructivebox.task_assignments.getTask Assignments: getreadbox.task_assignments.updateTask Assignments: updatewritebox.tasks.createTasks: createwritebox.tasks.deleteTasks: deletedestructivebox.tasks.getTasks: getreadbox.tasks.updateTasks: updatewritebox.tasks_assignments.listTasks Assignments: listread
Integration8
box.integration_mappings_slack.createIntegration Mappings Slack: createwritebox.integration_mappings_slack.deleteIntegration Mappings Slack: deletedestructivebox.integration_mappings_slack.listIntegration Mappings Slack: listreadbox.integration_mappings_slack.updateIntegration Mappings Slack: updatewritebox.integration_mappings_teams.createIntegration Mappings Teams: createwritebox.integration_mappings_teams.deleteIntegration Mappings Teams: deletedestructivebox.integration_mappings_teams.listIntegration Mappings Teams: listreadbox.integration_mappings_teams.updateIntegration Mappings Teams: updatewrite
Request7
box.sign_requests.createSign Requests: createwritebox.sign_requests.getSign Requests: getreadbox.sign_requests.listSign Requests: listreadbox.sign_requests_cancel.createSign Requests Cancel: createdestructivebox.sign_requests_resend.createSign Requests Resend: createwritebox.sign_templates.getSign Templates: getreadbox.sign_templates.listSign Templates: listread
Storage policy7
box.storage_policies.getStorage Policies: getreadbox.storage_policies.listStorage Policies: listreadbox.storage_policy_assignments.createStorage Policy Assignments: createwritebox.storage_policy_assignments.deleteStorage Policy Assignments: deletedestructivebox.storage_policy_assignments.getStorage Policy Assignments: getreadbox.storage_policy_assignments.listStorage Policy Assignments: listreadbox.storage_policy_assignments.updateStorage Policy Assignments: updatewrite
Terms7
box.terms_of_service_user_statuses.createTerms Of Service User Statuses: createwritebox.terms_of_service_user_statuses.listTerms Of Service User Statuses: listreadbox.terms_of_service_user_statuses.updateTerms Of Service User Statuses: updatewritebox.terms_of_services.createTerms Of Services: createwritebox.terms_of_services.getTerms Of Services: getreadbox.terms_of_services.listTerms Of Services: listreadbox.terms_of_services.updateTerms Of Services: updatewrite
Webhook5
box.webhooks.createWebhooks: createwritebox.webhooks.deleteWebhooks: deletedestructivebox.webhooks.getWebhooks: getreadbox.webhooks.listWebhooks: listreadbox.webhooks.updateWebhooks: updatewrite
Comment4
box.comments.createComments: createwritebox.comments.deleteComments: deletedestructivebox.comments.getComments: getreadbox.comments.updateComments: updatewrite
Collection3
box.collections.getCollections: getreadbox.collections.listCollections: listreadbox.collections_items.listCollections Items: listread
Workflow2
box.workflows.listWorkflows: listreadbox.workflows_start.createWorkflows Start: createwrite
Device2
box.device_pinners.deleteDevice Pinners: deletedestructivebox.device_pinners.getDevice Pinners: getread
Invite2
box.invites.createInvites: createwritebox.invites.getInvites: getread
Zip2
box.zip_downloads.createZip Downloads: createwritebox.zip_downloads_status.getZip Downloads Status: getread
Enterprise1
box.enterprises_device_pinners.listEnterprises Device Pinners: listread
Recent1
box.recent_items.listRecent Items: listread
Search1
box.search.listSearch: listread
Event1
box.events.listEvents: listread
Skill1
box.skill_invocations.updateSkill Invocations: updatewrite
Questions
The Box MCP server, answered.
Is there a Box MCP server for Claude?
Yes. actionlake is an MCP gateway: a remote MCP server that gives Claude, or another MCP client, 283 Box actions across file, metadata, folder and shield, through the same eight tools it uses for every other connector. actionlake is independent; it is not made or endorsed by Box.
Does Box have its own MCP server?
Box runs a remote MCP server at mcp.box.com, signed in with OAuth once a Box admin turns MCP on. (Box's documentation, checked 22 October 2026.) Use Box's server when one person wants to work in Box from their own AI client. Use actionlake when you also want Box behind the same endpoint as your other systems: a key per agent with allowed actions and a spending cap, a named person's approval before destructive actions, a sealed record of every call, and one ask across Box and another system.
What do I need to connect Box?
Your own Box OAuth app, registered with Box (its client id and client secret), and the access and refresh tokens from one admin sign-in. actionlake has no Box app of its own, so this is not a one-step consent. actionlake renews the access token as it expires. The free call account { op: "connections.requirements", service: "box" } lists exactly what to paste.
Can an AI agent delete or change things in Box?
Only if its key allows it, and only with an explicit confirmation. 48 Box actions are destructive, including files: delete, users: delete and folders: delete. Each runs only with confirm: true. Under the human confirm policy, or an approval rule on the key, the run waits until a named person approves it.
Will an AI agent use up my Box API limit?
actionlake paces every call to the limits in the Box service file: 1,000 calls a minute, at most 8 at a time per connection. Repeated reads are answered from cache (129 Box actions can be), which never reaches Box.
What does a Box action cost?
One upstream call, the only unit actionlake bills. A list that pages bills one call per page (283 Box actions page). Cache hits, searches, dry runs and calls Box refused with 401, 403, 429 or a 5xx are free. The Free plan includes 100,000 calls a month with no card. Paid plans start at US$49 a month for 250,000 calls, with overage from US$0.30 down to US$0.18 per 1,000.
Which Box API does it cover?
The Box API 2.0 at api.box.com/2.0. It is built from Box's documentation as read on 19 September 2026. 283 actions in 29 areas, each one in the signed service file (version 1.0.0).
Does actionlake keep my Box data, and where?
actionlake processes and stores data in Sydney, Australia; there is no US region yet. Reads may be cached for up to an hour, and a write clears the reads it affects. Each run's request and response is kept, sealed, for your plan's trace window: 1 day on Free, 3 days on Starter, 7 days on Pro, 14 days on Team, 30 days on Business and 30 days on Enterprise. Your Box credential is sealed under your tenant's key, never logged and never returned. Your traffic is not used to train models.
Which AI clients can use it?
Claude Code, tested by us end to end, and the Claude app as a custom connector, tested by us with an existing key. Other MCP clients that support remote servers over Streamable HTTP (MCP revisions 2025-06-18 and 2025-11-25) and OAuth dynamic client registration, or a bearer header, should connect the same way; we have not tested them. Or plain REST, under the same action names.
Give your agent Box today.
Start free - 100,000 calls/month, no card. No signup. Hard caps on every key. Cached answers are free.