Skip to content
Scalekit Docs
Talk to an Engineer Dashboard

Connect AI agents to the Box MCP server

Vendor MCP
Open markdown

The Box MCP connector routes your AI agent's tool calls to Box's own MCP server through Scalekit. Each user signs in to Box once, and Scalekit stores and refreshes their tokens, so your agent never handles credentials. It comes with 44 tools.

Tools
44
What they doRead · write · destructive
18 · 18 · 818 read18 write8 destructive
Users sign in with
OAuth app
Scalekit's or your own

Setup

  1. Install the SDK

    Terminal window
    npm install @scalekit-sdk/node dotenv
  2. Set your credentials

    Add your Scalekit credentials to your .env file. Find values in app.scalekit.com > Developers > API Credentials.

    .env
    SCALEKIT_ENVIRONMENT_URL=<your-environment-url>
    SCALEKIT_CLIENT_ID=<your-client-id>
    SCALEKIT_CLIENT_SECRET=<your-client-secret>
  3. Create the Box MCP connection

    In AgentKit > Connections, create a Box MCP connection. The name you give it is the connection_name your code passes. See Configure connections.

    Scalekit credentials are available for Box, so you don't need to register an OAuth app. To show your own app on the consent screen, use your own credentials instead.

    Use your own OAuth app

    Register your Scalekit environment with Box MCP so Scalekit handles the OAuth flow and token lifecycle for your users. Create a Box OAuth application, then add its Client ID and Client Secret to your Scalekit connection.

    1. Copy the redirect URI from Scalekit

      • In the Scalekit dashboard, go to AgentKit > Connections > Create Connection. Find Box MCP and click Create.

      • Click Use your own credentials and copy the redirect URI. It looks like https://<SCALEKIT_ENVIRONMENT_URL>/sso/v1/oauth/<CONNECTION_ID>/callback.

    2. Create or open a Box OAuth app

      • Go to the Box Developer Console and click Platform Apps in the sidebar.

      • Click New App to create one, or open an existing app that uses OAuth 2.0 authentication.

        Box Platform Apps list showing an app configured with OAuth 2.0 authentication

    3. Add the redirect URI

      • Open the app’s Configuration tab.
      • Under OAuth 2.0 Redirect URIs, paste the redirect URI you copied from Scalekit and click Save.
    4. Copy your Client ID and Client Secret

      • In the App Details panel, copy the Client ID.

      • Click Copy next to Client Secret to copy it.

        Box App Details panel showing the Client ID and Client Secret fields

    5. Add credentials in Scalekit

      • Return to the connection you created in Scalekit and enter:
        • Client ID — from your Box app
        • Client Secret — from your Box app
      • Click Save.
  4. Authorize a user and make your first call

    quickstart.mts
    import { ScalekitClient } from '@scalekit-sdk/node'
    import 'dotenv/config'
    import { createInterface } from 'node:readline/promises'
    const scalekit = new ScalekitClient(
    process.env.SCALEKIT_ENVIRONMENT_URL,
    process.env.SCALEKIT_CLIENT_ID,
    process.env.SCALEKIT_CLIENT_SECRET,
    )
    const actions = scalekit.actions
    const connector = 'boxmcp'
    const identifier = 'user_123'
    // Generate an authorization link for the user
    const { link } = await actions.getAuthorizationLink({ connectionName: connector, identifier })
    console.log('Authorize Box MCP:', link)
    const rl = createInterface({ input: process.stdin, output: process.stdout })
    await rl.question('Press Enter after authorizing...')
    rl.close()
    // Make your first call
    const result = await actions.executeTool({
    connector,
    identifier,
    toolName: 'boxmcp_list_hubs',
    toolInput: {},
    })
    console.log(result)
    Terminal window
    npx tsx quickstart.mts

    Each user signs in once. See Authorize a user for the full flow and statuses.

Tools

Pass the exact name to execute_tool
Try in PlaygroundRequest a tool
  • boxmcp_get_file_contentRetrieves the text content of a Box file by its ID.Read-only

    GetFileContent

    Retrieves the text content of a Box file by its ID. Useful for reading documents, notes, and other text-based files.

    Inputs

    file_idstringrequired
    The ID of the Box file to retrieve content from.
  • boxmcp_get_file_detailsRetrieves detailed metadata about a specific Box file including name, size, timestamps, owner, and other properties.Read-only

    GetFileDetails

    Retrieves detailed metadata about a specific Box file including name, size, timestamps, owner, and other properties.

    Inputs

    file_idstringrequired
    The ID of the Box file to retrieve details for.
    fieldsarray
    List of additional fields to include in the response.
  • boxmcp_get_file_previewDisplays an interactive preview widget for a Box file.Read-only

    GetFilePreview

    Displays an interactive preview widget for a Box file. Supports common document, image, and spreadsheet formats (e.g. pdf, doc, docx, ppt, pptx, xls, xlsx, png, jpg, csv, and more). PDFs use a direct download; other types use a generated representation. Not usable when the preview payload would exceed 3MB. For file metadata instead of a visual preview, use get_file_details. To read the content of a specific page after previewing, use get_preview_page.

    Inputs

    fileIdstringrequired
    The ID of the Box file to preview.
  • boxmcp_get_folder_detailsRetrieves detailed metadata about a specific Box folder including name, size, timestamps, owner, and other properties.Read-only

    GetFolderDetails

    Retrieves detailed metadata about a specific Box folder including name, size, timestamps, owner, and other properties.

    Inputs

    folder_idstringrequired
    The ID of the Box folder to retrieve details for.
    fieldsarray
    List of additional fields to include in the response.
  • boxmcp_get_hub_detailsRetrieves detailed information about a specific Box Hub including its name, description, and settings.Read-only

    GetHubDetails

    Retrieves detailed information about a specific Box Hub including its name, description, and settings.

    Inputs

    hub_idstringrequired
    The unique identifier of the Box Hub to retrieve details for.
  • boxmcp_get_hub_itemsRetrieves the items (files and folders) contained in a specific Box Hub.Read-only

    GetHubItems

    Retrieves the items (files and folders) contained in a specific Box Hub.

    Inputs

    hub_idstringrequired
    The unique identifier of the Box Hub whose items to retrieve.
    limitinteger
    The maximum number of items to return per page.default 100
    markerstring
    A pagination cursor returned from a previous call to continue listing from a specific position.
  • boxmcp_get_metadata_template_schemaRetrieves the schema definition for a specific metadata template in Box, including all field definitions, types, and options.Read-only

    GetMetadataTemplateSchema

    Retrieves the schema definition for a specific metadata template in Box, including all field definitions, types, and options.

    Inputs

    scopestringrequired
    The scope of the metadata template.one of globalenterprise
    template_keystringrequired
    The unique key identifying the metadata template.
  • boxmcp_get_preview_pageReturns a specific page of a Box file previewed with get_file_preview as an image, so its content (figures, text, charts, etc.) can be analyzed.Read-only

    GetPreviewPage

    Returns a specific page of a Box file previewed with get_file_preview as an image, so its content (figures, text, charts, etc.) can be analyzed. Use the fileId and page number from the active file preview context.

    Inputs

    fileIdstringrequired
    The ID of the Box file whose preview page you want to retrieve.
    pageintegerrequired
    The 1-based page number to return as a PNG image.