Skip to content

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/mcp
the first call
do {  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.

  1. 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
  2. 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 app
    • refresh_tokenRefresh token from the same sign-in; the access token is renewed from it
    • client_idBox client ID
    • client_secretBox client secret
    account { op: "connections.requirements", service: "box" }
    # free: exactly what to paste, and what is found for you
  3. 03

    Make the first call. Check before a write.

    Ask in plain words; Claude picks the action. Before anything changes, check validates 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.0api.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
  1. File

    51

    22 read · 20 write · 9 destructive

    Files: get · Files: delete · Files: update · Files Comments: list

  2. Metadata

    33

    14 read · 15 write · 4 destructive

    Metadata Taxonomies Nodes: list · Metadata Taxonomies Nodes: create · Metadata Templates: list · Metadata Templates Enterprise: list

  3. Folder

    28

    11 read · 12 write · 5 destructive

    Folders Items: list · Folders: get · Folders: create · Folders: update

  4. Shield

    20

    10 read · 7 write · 3 destructive

    Shield Information Barrier Reports: list · Shield Information Barrier Segments: list · Shield Information Barriers: list · Shield Information Barrier Reports: create

  5. User

    13

    5 read · 4 write · 4 destructive

    Users: list · Users: create · Users: get · Users: update

  6. Group

    12

    5 read · 4 write · 3 destructive

    Groups: list · Groups: create · Groups: get · Groups: update

  7. Web link

    11

    3 read · 6 write · 2 destructive

    Web Links: create · Web Links: create · Web Links: get · Web Links: get get shared link

  8. Legal hold

    11

    6 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.

ActionWhat it doesEffectSame name in
box.users.listUsers: listList enterprise usersreadidentity.user.list474 connectors
box.folders_items.listFolders Items: listList items in folderreadcontent.file.list77 connectors
box.folders.getFolders: getGet folder informationreadcontent.folder.get47 connectors
box.groups.listGroups: listList groups for enterprisereadidentity.group.list262 connectors
box.users.createUsers: createCreate userwriteidentity.user.create262 connectors
box.folders.createFolders: createCreate folderwritecontent.folder.create62 connectors
box.files.getFiles: getGet file informationreadcontent.file.get74 connectors
box.files.deleteFiles: deleteDelete filedestructivecontent.file.delete68 connectors
box.files_comments.listFiles Comments: listList file commentsreadcontent.file_comment.list12 connectors
box.groups.createGroups: createCreate groupwriteidentity.group.create205 connectors
box.files_tasks.listFiles Tasks: listList tasks on filereadwork.task.list122 connectors
box.files.update_add_shared_linkFiles: update add shared linkAdd shared link to filewritecontent.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.

  1. Readread

    Which Box tasks are overdue, and who owns each one?

    callsbox.files_tasks.list

  2. Plandestructive

    Retire a legal hold policy in Box. Ask me before anything is sent or changed.

    callsbox.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

  3. Planread

    Audit pending collaborations on a folder in Box.

    callsbox.collaborations.listbox.folders.getbox.folders_collaborations.listbox.collaborations.get

  4. Writewrite

    Users: create in Box. Show me exactly what you will send before you save it.

    callsbox.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.

  1. 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.

    Effect
    read
    Steps
    3
    Needs
    folder id and question
    Install
    box-summarise-folder-contents
  2. 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.

    Effect
    read
    Steps
    4 · loops
    Needs
    folder id
    Install
    box-audit-external-collaborations
  3. Chase outstanding signature requests

    Use it when Signature requests have gone quiet and someone wants every outstanding signer nudged in one pass.

    Effect
    write
    Steps
    2 · loops
    Install
    box-chase-outstanding-signatures
  4. 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.

    Effect
    write
    Steps
    4 · loops
    Needs
    classification key and folder id
    Install
    box-classify-folder-contents
  5. 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 decidesCreate Box user 'name' and grant them role on folder folder id.

    Effect
    write
    Steps
    5
    Needs
    email, folder id, name and role
    Install
    box-onboard-user-to-workspace
  6. 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.

    Effect
    write
    Steps
    6
    Needs
    folder id and workflow id
    Install
    box-run-folder-workflow
  7. 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 decidesRevoke Box collaboration collaboration id, removing login from name.

    Effect
    destructive
    Steps
    4
    Needs
    collaboration id and folder id
    Install
    box-revoke-collaboration
install a plan
account { op: "plans.install", slug: "box-summarise-folder-contents" }
# then ask for it by name; a schedule can run it on a timetable

Governance for Box

Destructive actions wait for a yes.

48 Box actions are destructive. The first 10:

  • Files: deletebox.files.delete
  • Users: deletebox.users.delete
  • Folders: deletebox.folders.delete
  • Groups: deletebox.groups.delete
  • Comments: deletebox.comments.delete
  • Collaborations: deletebox.collaborations.delete
  • Tasks: deletebox.tasks.delete
  • Device Pinners: deletebox.device_pinners.delete
  • Users Terminate Sessions: createbox.users_terminate_sessions.create
  • Groups Terminate Sessions: createbox.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.

dobox.files.deleteconfirm_policy: human

Files: delete?

intent: the user asked me to files: delete

run suspended · waiting for a named person · key box-agent cannot confirm itself
In the console, or from an emailed signed link.
a key for this connector
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]" }  ]}
Illustrative. Scoped to Box only, capped at 2,000 upstream calls, every write confirmed, and the destructive ones approved by a named person.

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

See pricing

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: deletedestructive
  • box.file_requests.getFile Requests: getread
  • box.file_requests.updateFile Requests: updatewrite
  • box.file_requests_copy.createFile Requests Copy: createwrite
  • box.file_version_legal_holds.getFile Version Legal Holds: getread
  • box.file_version_legal_holds.listFile Version Legal Holds: listread
  • box.file_version_retentions.getFile Version Retentions: getread
  • box.file_version_retentions.listFile Version Retentions: listread
  • box.files.createFiles: createwrite
  • box.files.deleteFiles: deletedestructive
  • box.files.getFiles: getread
  • box.files.get_get_shared_linkFiles: get get shared linkread
  • box.files.updateFiles: updatewrite
  • box.files.update_add_shared_linkFiles: update add shared linkwrite
  • box.files.update_remove_shared_linkFiles: update remove shared linkwrite
  • box.files.update_update_shared_linkFiles: update update shared linkwrite
  • box.files_app_item_associations.listFiles App Item Associations: listread
  • box.files_collaborations.listFiles Collaborations: listread
  • box.files_comments.listFiles Comments: listread
  • box.files_copy.createFiles Copy: createwrite
  • box.files_metadata.createFiles Metadata: createwrite
  • box.files_metadata.deleteFiles Metadata: deletedestructive
  • box.files_metadata.getFiles Metadata: getread
  • box.files_metadata.listFiles Metadata: listread
  • box.files_metadata.updateFiles Metadata: updatewrite
  • box.files_metadata_enterprise_security_classification_6_vmvochw_uwo.createFiles Metadata Enterprise Security Classification 6 Vmvochw Uwo: createwrite
  • box.files_metadata_enterprise_security_classification_6_vmvochw_uwo.deleteFiles Metadata Enterprise Security Classification 6 Vmvochw Uwo: deletedestructive
  • box.files_metadata_enterprise_security_classification_6_vmvochw_uwo.getFiles Metadata Enterprise Security Classification 6 Vmvochw Uwo: getread
  • box.files_metadata_enterprise_security_classification_6_vmvochw_uwo.updateFiles Metadata Enterprise Security Classification 6 Vmvochw Uwo: updatewrite
  • box.files_metadata_global_box_skills_cards.createFiles Metadata Global Box Skills Cards: createwrite
  • box.files_metadata_global_box_skills_cards.deleteFiles Metadata Global Box Skills Cards: deletedestructive
  • box.files_metadata_global_box_skills_cards.getFiles Metadata Global Box Skills Cards: getread
  • box.files_metadata_global_box_skills_cards.updateFiles Metadata Global Box Skills Cards: updatewrite
  • box.files_tasks.listFiles Tasks: listread
  • box.files_trash.deleteFiles Trash: deletedestructive
  • box.files_trash.getFiles Trash: getread
  • box.files_upload_sessions.createFiles Upload Sessions: createwrite
  • box.files_upload_sessions.create_postFiles Upload Sessions: createwrite
  • box.files_upload_sessions.deleteFiles Upload Sessions: deletedestructive
  • box.files_upload_sessions.getFiles Upload Sessions: getread
  • box.files_upload_sessions_commit.createFiles Upload Sessions Commit: createwrite
  • box.files_upload_sessions_parts.listFiles Upload Sessions Parts: listread
  • box.files_upload_sessions_plan.createFiles Upload Sessions Plan: createread
  • box.files_versions.deleteFiles Versions: deletedestructive
  • box.files_versions.getFiles Versions: getread
  • box.files_versions.listFiles Versions: listread
  • box.files_versions.updateFiles Versions: updatewrite
  • box.files_versions_current.createFiles Versions Current: createwrite
  • box.files_watermark.deleteFiles Watermark: deletedestructive
  • box.files_watermark.getFiles Watermark: getread
  • box.files_watermark.updateFiles Watermark: updatewrite
Metadata33
  • box.metadata_cascade_policies.createMetadata Cascade Policies: createwrite
  • box.metadata_cascade_policies.deleteMetadata Cascade Policies: deletedestructive
  • box.metadata_cascade_policies.getMetadata Cascade Policies: getread
  • box.metadata_cascade_policies.listMetadata Cascade Policies: listread
  • box.metadata_cascade_policies_apply.createMetadata Cascade Policies Apply: createwrite
  • box.metadata_queries_execute_read.searchMetadata Queries Execute Read: searchread
  • box.metadata_taxonomies.createMetadata Taxonomies: createwrite
  • box.metadata_taxonomies.deleteMetadata Taxonomies: deletedestructive
  • box.metadata_taxonomies.getMetadata Taxonomies: getread
  • box.metadata_taxonomies.get_getMetadata Taxonomies: getread
  • box.metadata_taxonomies.updateMetadata Taxonomies: updatewrite
  • box.metadata_taxonomies_levels.createMetadata Taxonomies Levels: createwrite
  • box.metadata_taxonomies_levels.updateMetadata Taxonomies Levels: updatewrite
  • box.metadata_taxonomies_levels_append.createMetadata Taxonomies Levels Append: createwrite
  • box.metadata_taxonomies_levels_trim.createMetadata Taxonomies Levels Trim: createwrite
  • box.metadata_taxonomies_nodes.createMetadata Taxonomies Nodes: createwrite
  • box.metadata_taxonomies_nodes.deleteMetadata Taxonomies Nodes: deletedestructive
  • box.metadata_taxonomies_nodes.getMetadata Taxonomies Nodes: getread
  • box.metadata_taxonomies_nodes.listMetadata Taxonomies Nodes: listread
  • box.metadata_taxonomies_nodes.updateMetadata Taxonomies Nodes: updatewrite
  • box.metadata_templates.getMetadata Templates: getread
  • box.metadata_templates.listMetadata Templates: listread
  • box.metadata_templates_enterprise.listMetadata Templates Enterprise: listread
  • box.metadata_templates_enterprise_security_classification_6_vmvochw_uwo_schema.getMetadata Templates Enterprise Security Classification 6 Vmvochw Uwo Schema: getread
  • box.metadata_templates_enterprise_security_classification_6_vmvochw_uwo_schema.update_addMetadata Templates Enterprise Security Classification 6 Vmvochw Uwo Schema: update addwrite
  • box.metadata_templates_enterprise_security_classification_6_vmvochw_uwo_schema.update_updateMetadata Templates Enterprise Security Classification 6 Vmvochw Uwo Schema: update updatewrite
  • box.metadata_templates_fields_options.listMetadata Templates Fields Options: listread
  • box.metadata_templates_global.listMetadata Templates Global: listread
  • box.metadata_templates_schema.createMetadata Templates Schema: createwrite
  • box.metadata_templates_schema.create_classificationsMetadata Templates Schema: create classificationswrite
  • box.metadata_templates_schema.deleteMetadata Templates Schema: deletedestructive
  • box.metadata_templates_schema.getMetadata Templates Schema: getread
  • box.metadata_templates_schema.updateMetadata Templates Schema: updatewrite
Folder28
  • box.folders.createFolders: createwrite
  • box.folders.create_postFolders: createwrite
  • box.folders.deleteFolders: deletedestructive
  • box.folders.getFolders: getread
  • box.folders.get_get_shared_linkFolders: get get shared linkread
  • box.folders.updateFolders: updatewrite
  • box.folders.update_add_shared_linkFolders: update add shared linkwrite
  • box.folders.update_remove_shared_linkFolders: update remove shared linkwrite
  • box.folders.update_update_shared_linkFolders: update update shared linkwrite
  • box.folders_app_item_associations.listFolders App Item Associations: listread
  • box.folders_collaborations.listFolders Collaborations: listread
  • box.folders_copy.createFolders Copy: createwrite
  • box.folders_items.listFolders Items: listread
  • box.folders_metadata.createFolders Metadata: createwrite
  • box.folders_metadata.deleteFolders Metadata: deletedestructive
  • box.folders_metadata.getFolders Metadata: getread
  • box.folders_metadata.listFolders Metadata: listread
  • box.folders_metadata.updateFolders Metadata: updatewrite
  • box.folders_metadata_enterprise_security_classification_6_vmvochw_uwo.createFolders Metadata Enterprise Security Classification 6 Vmvochw Uwo: createwrite
  • box.folders_metadata_enterprise_security_classification_6_vmvochw_uwo.deleteFolders Metadata Enterprise Security Classification 6 Vmvochw Uwo: deletedestructive
  • box.folders_metadata_enterprise_security_classification_6_vmvochw_uwo.getFolders Metadata Enterprise Security Classification 6 Vmvochw Uwo: getread
  • box.folders_metadata_enterprise_security_classification_6_vmvochw_uwo.updateFolders Metadata Enterprise Security Classification 6 Vmvochw Uwo: updatewrite
  • box.folders_trash.deleteFolders Trash: deletedestructive
  • box.folders_trash.getFolders Trash: getread
  • box.folders_trash_items.listFolders Trash Items: listread
  • box.folders_watermark.deleteFolders Watermark: deletedestructive
  • box.folders_watermark.getFolders Watermark: getread
  • box.folders_watermark.updateFolders Watermark: updatewrite
Shield20
  • box.shield_information_barrier_reports.createShield Information Barrier Reports: createwrite
  • box.shield_information_barrier_reports.getShield Information Barrier Reports: getread
  • box.shield_information_barrier_reports.listShield Information Barrier Reports: listread
  • box.shield_information_barrier_segment_members.createShield Information Barrier Segment Members: createwrite
  • box.shield_information_barrier_segment_members.deleteShield Information Barrier Segment Members: deletedestructive
  • box.shield_information_barrier_segment_members.getShield Information Barrier Segment Members: getread
  • box.shield_information_barrier_segment_members.listShield Information Barrier Segment Members: listread
  • box.shield_information_barrier_segment_restrictions.createShield Information Barrier Segment Restrictions: createwrite
  • box.shield_information_barrier_segment_restrictions.deleteShield Information Barrier Segment Restrictions: deletedestructive
  • box.shield_information_barrier_segment_restrictions.getShield Information Barrier Segment Restrictions: getread
  • box.shield_information_barrier_segment_restrictions.listShield Information Barrier Segment Restrictions: listread
  • box.shield_information_barrier_segments.createShield Information Barrier Segments: createwrite
  • box.shield_information_barrier_segments.deleteShield Information Barrier Segments: deletedestructive
  • box.shield_information_barrier_segments.getShield Information Barrier Segments: getread
  • box.shield_information_barrier_segments.listShield Information Barrier Segments: listread
  • box.shield_information_barrier_segments.updateShield Information Barrier Segments: updatewrite
  • box.shield_information_barriers.createShield Information Barriers: createwrite
  • box.shield_information_barriers.getShield Information Barriers: getread
  • box.shield_information_barriers.listShield Information Barriers: listread
  • box.shield_information_barriers_change_status.createShield Information Barriers Change Status: createwrite
User13
  • box.users.createUsers: createwrite
  • box.users.deleteUsers: deletedestructive
  • box.users.getUsers: getread
  • box.users.listUsers: listread
  • box.users.updateUsers: updatewrite
  • box.users_avatar.deleteUsers Avatar: deletedestructive
  • box.users_email_aliases.createUsers Email Aliases: createwrite
  • box.users_email_aliases.deleteUsers Email Aliases: deletedestructive
  • box.users_email_aliases.listUsers Email Aliases: listread
  • box.users_folders_0.updateUsers Folders 0: updatewrite
  • box.users_me.getUsers Me: getread
  • box.users_memberships.listUsers Memberships: listread
  • box.users_terminate_sessions.createUsers Terminate Sessions: createdestructive
Group12
  • box.group_memberships.createGroup Memberships: createwrite
  • box.group_memberships.deleteGroup Memberships: deletedestructive
  • box.group_memberships.getGroup Memberships: getread
  • box.group_memberships.updateGroup Memberships: updatewrite
  • box.groups.createGroups: createwrite
  • box.groups.deleteGroups: deletedestructive
  • box.groups.getGroups: getread
  • box.groups.listGroups: listread
  • box.groups.updateGroups: updatewrite
  • box.groups_collaborations.listGroups Collaborations: listread
  • box.groups_memberships.listGroups Memberships: listread
  • box.groups_terminate_sessions.createGroups Terminate Sessions: createdestructive
Web link11
  • box.web_links.createWeb Links: createwrite
  • box.web_links.create_postWeb Links: createwrite
  • box.web_links.deleteWeb Links: deletedestructive
  • box.web_links.getWeb Links: getread
  • box.web_links.get_get_shared_linkWeb Links: get get shared linkread
  • box.web_links.updateWeb Links: updatewrite
  • box.web_links.update_add_shared_linkWeb Links: update add shared linkwrite
  • box.web_links.update_remove_shared_linkWeb Links: update remove shared linkwrite
  • box.web_links.update_update_shared_linkWeb Links: update update shared linkwrite
  • box.web_links_trash.deleteWeb Links Trash: deletedestructive
  • box.web_links_trash.getWeb Links Trash: getread
Legal hold11
  • box.legal_hold_policies.createLegal Hold Policies: createwrite
  • box.legal_hold_policies.deleteLegal Hold Policies: deletedestructive
  • box.legal_hold_policies.getLegal Hold Policies: getread
  • box.legal_hold_policies.listLegal Hold Policies: listread
  • box.legal_hold_policies.updateLegal Hold Policies: updatewrite
  • box.legal_hold_policy_assignments.createLegal Hold Policy Assignments: createwrite
  • box.legal_hold_policy_assignments.deleteLegal Hold Policy Assignments: deletedestructive
  • box.legal_hold_policy_assignments.getLegal Hold Policy Assignments: getread
  • box.legal_hold_policy_assignments.listLegal Hold Policy Assignments: listread
  • box.legal_hold_policy_assignments_file_versions_on_hold.listLegal Hold Policy Assignments File Versions On Hold: listread
  • box.legal_hold_policy_assignments_files_on_hold.listLegal Hold Policy Assignments Files On Hold: listread
Retention11
  • box.retention_policies.createRetention Policies: createwrite
  • box.retention_policies.deleteRetention Policies: deletedestructive
  • box.retention_policies.getRetention Policies: getread
  • box.retention_policies.listRetention Policies: listread
  • box.retention_policies.updateRetention Policies: updatewrite
  • box.retention_policies_assignments.listRetention Policies Assignments: listread
  • box.retention_policy_assignments.createRetention Policy Assignments: createwrite
  • box.retention_policy_assignments.deleteRetention Policy Assignments: deletedestructive
  • box.retention_policy_assignments.getRetention Policy Assignments: getread
  • box.retention_policy_assignments_file_versions_under_retention.listRetention Policy Assignments File Versions Under Retention: listread
  • box.retention_policy_assignments_files_under_retention.listRetention Policy Assignments Files Under Retention: listread
Platform11
  • box.collaboration_whitelist_entries.createCollaboration Whitelist Entries: createwrite
  • box.collaboration_whitelist_entries.deleteCollaboration Whitelist Entries: deletedestructive
  • box.collaboration_whitelist_entries.getCollaboration Whitelist Entries: getread
  • box.collaboration_whitelist_entries.listCollaboration Whitelist Entries: listread
  • box.collaboration_whitelist_exempt_targets.createCollaboration Whitelist Exempt Targets: createwrite
  • box.collaboration_whitelist_exempt_targets.deleteCollaboration Whitelist Exempt Targets: deletedestructive
  • box.collaboration_whitelist_exempt_targets.getCollaboration Whitelist Exempt Targets: getread
  • box.collaboration_whitelist_exempt_targets.listCollaboration Whitelist Exempt Targets: listread
  • box.folder_locks.createFolder Locks: createwrite
  • box.folder_locks.deleteFolder Locks: deletedestructive
  • box.folder_locks.listFolder Locks: listread
AI10
  • box.ai_agent_default.getAi Agent Default: getread
  • box.ai_agents.createAi Agents: createwrite
  • box.ai_agents.deleteAi Agents: deletedestructive
  • box.ai_agents.getAi Agents: getread
  • box.ai_agents.listAi Agents: listread
  • box.ai_agents.updateAi Agents: updatewrite
  • box.ai_ask.runAi Ask: runread
  • box.ai_extract.runAi Extract: runread
  • box.ai_extract_structured.runAi Extract Structured: runread
  • box.ai_text_gen.runAi Text Gen: runread
Sharing9
  • box.collaborations.createCollaborations: createwrite
  • box.collaborations.deleteCollaborations: deletedestructive
  • box.collaborations.getCollaborations: getread
  • box.collaborations.listCollaborations: listread
  • box.collaborations.updateCollaborations: updatewrite
  • box.shared_items.getShared Items: getread
  • box.shared_items.get_app_itemsShared Items: get app itemsread
  • box.shared_items.get_foldersShared Items: get foldersread
  • box.shared_items.get_web_linksShared Items: get web linksread
Task9
  • box.task_assignments.createTask Assignments: createwrite
  • box.task_assignments.deleteTask Assignments: deletedestructive
  • box.task_assignments.getTask Assignments: getread
  • box.task_assignments.updateTask Assignments: updatewrite
  • box.tasks.createTasks: createwrite
  • box.tasks.deleteTasks: deletedestructive
  • box.tasks.getTasks: getread
  • box.tasks.updateTasks: updatewrite
  • box.tasks_assignments.listTasks Assignments: listread
Integration8
  • box.integration_mappings_slack.createIntegration Mappings Slack: createwrite
  • box.integration_mappings_slack.deleteIntegration Mappings Slack: deletedestructive
  • box.integration_mappings_slack.listIntegration Mappings Slack: listread
  • box.integration_mappings_slack.updateIntegration Mappings Slack: updatewrite
  • box.integration_mappings_teams.createIntegration Mappings Teams: createwrite
  • box.integration_mappings_teams.deleteIntegration Mappings Teams: deletedestructive
  • box.integration_mappings_teams.listIntegration Mappings Teams: listread
  • box.integration_mappings_teams.updateIntegration Mappings Teams: updatewrite
Request7
  • box.sign_requests.createSign Requests: createwrite
  • box.sign_requests.getSign Requests: getread
  • box.sign_requests.listSign Requests: listread
  • box.sign_requests_cancel.createSign Requests Cancel: createdestructive
  • box.sign_requests_resend.createSign Requests Resend: createwrite
  • box.sign_templates.getSign Templates: getread
  • box.sign_templates.listSign Templates: listread
Storage policy7
  • box.storage_policies.getStorage Policies: getread
  • box.storage_policies.listStorage Policies: listread
  • box.storage_policy_assignments.createStorage Policy Assignments: createwrite
  • box.storage_policy_assignments.deleteStorage Policy Assignments: deletedestructive
  • box.storage_policy_assignments.getStorage Policy Assignments: getread
  • box.storage_policy_assignments.listStorage Policy Assignments: listread
  • box.storage_policy_assignments.updateStorage Policy Assignments: updatewrite
Terms7
  • box.terms_of_service_user_statuses.createTerms Of Service User Statuses: createwrite
  • box.terms_of_service_user_statuses.listTerms Of Service User Statuses: listread
  • box.terms_of_service_user_statuses.updateTerms Of Service User Statuses: updatewrite
  • box.terms_of_services.createTerms Of Services: createwrite
  • box.terms_of_services.getTerms Of Services: getread
  • box.terms_of_services.listTerms Of Services: listread
  • box.terms_of_services.updateTerms Of Services: updatewrite
Webhook5
  • box.webhooks.createWebhooks: createwrite
  • box.webhooks.deleteWebhooks: deletedestructive
  • box.webhooks.getWebhooks: getread
  • box.webhooks.listWebhooks: listread
  • box.webhooks.updateWebhooks: updatewrite
Comment4
  • box.comments.createComments: createwrite
  • box.comments.deleteComments: deletedestructive
  • box.comments.getComments: getread
  • box.comments.updateComments: updatewrite
Collection3
  • box.collections.getCollections: getread
  • box.collections.listCollections: listread
  • box.collections_items.listCollections Items: listread
Workflow2
  • box.workflows.listWorkflows: listread
  • box.workflows_start.createWorkflows Start: createwrite
Device2
  • box.device_pinners.deleteDevice Pinners: deletedestructive
  • box.device_pinners.getDevice Pinners: getread
Invite2
  • box.invites.createInvites: createwrite
  • box.invites.getInvites: getread
Zip2
  • box.zip_downloads.createZip Downloads: createwrite
  • box.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.