View as Markdown

Box Integration

Manage Box files, folders, sharing, comments, search, and collaborations

The Box integration provides access to manage Box files, folders, sharing, comments, search, and collaborations through the Integrate MCP server.

Installation

The Box integration is included with the SDK:

import { boxIntegration } from "integrate-sdk/server";

Setup

1. Create a Box OAuth App

  1. Create an OAuth application for Box
  2. Configure your redirect URI
  3. Note your Client ID and Client Secret

2. Configure the Integration on Your Server

Add the Box integration to your server configuration. The integration automatically reads BOX_CLIENT_ID and BOX_CLIENT_SECRET from your environment variables:

import { createMCPServer, boxIntegration } from "integrate-sdk/server";
 
export const { client: serverClient } = createMCPServer({
  apiKey: process.env.INTEGRATE_API_KEY,
  integrations: [
    boxIntegration({
    }),
  ],
});

You can override the environment variables by passing explicit values:

boxIntegration({
  clientId: process.env.CUSTOM_BOX_ID,
  clientSecret: process.env.CUSTOM_BOX_SECRET,
});

3. Client-Side Usage

The default client automatically includes all integrations. You can use it directly:

import { client } from "integrate-sdk";
 
await client.authorize("box");
const result = await client.box.getCurrentUser({});
 
console.log(result);

If you're using a custom client, add the integration to the integrations array:

import { createMCPClient, boxIntegration } from "integrate-sdk";
 
const customClient = createMCPClient({
  integrations: [boxIntegration()],
});

Configuration Options

export interface BoxIntegrationOptions {
  /** Box OAuth client ID (defaults to BOX_CLIENT_ID env var) */
  clientId?: string;

Tools

box_get_current_user

Get current user

No parameters.

box_list_folder_items

List folder items

export interface BoxListFolderItemsParams {
    folder_id: string;

box_get_file

Get file

export interface BoxGetFileParams {
    file_id: string;

box_get_folder

Get folder

export interface BoxGetFolderParams {
    folder_id: string;

box_create_folder

Create folder

export interface BoxCreateFolderParams {
    parent_id: string;

box_update_file

Update file

export interface BoxUpdateFileParams {
    file_id: string;

box_update_folder

Update folder

export interface BoxUpdateFolderParams {
    folder_id: string;

box_delete_file

Delete file

export interface BoxDeleteFileParams {
    file_id: string;

box_delete_folder

Delete folder

export interface BoxDeleteFolderParams {
    folder_id: string;

box_upload_text_file

Upload text file

export interface BoxUploadTextFileParams {
    parent_id: string;

box_download_file

Download file

export interface BoxDownloadFileParams {
    file_id: string;

Search

export interface BoxSearchParams {
    query: string;

Create shared link

export interface BoxCreateSharedLinkParams {
    item_type: "file" | "folder";

box_create_collaboration

Create collaboration

export interface BoxCreateCollaborationParams {
    item_type: "file" | "folder";

box_list_comments

List comments

export interface BoxListCommentsParams {
    file_id: string;

box_create_comment

Create comment

export interface BoxCreateCommentParams {
    file_id: string;

box_delete_comment

Delete comment

export interface BoxDeleteCommentParams {
    comment_id: string;

Notes

  • Category: Storage
  • Authentication mode: OAuth