MCP Now
Box

Box

by box-community
GitHub

Interact with the Intelligent Content Management platform through Box AI.

box
file
folder
str
return

MCP Server Box

Description

MCP Server Box is a Python project that integrates with the Box API to perform various operations such as file search, text extraction, AI-based querying, and data extraction. It leverages the box-sdk-gen library and provides a set of tools to interact with Box files and folders.

The Model Context Protocol (MCP) is a framework designed to standardize the way models interact with various data sources and services. In this project, MCP is used to facilitate seamless integration with the Box API, enabling efficient and scalable operations on Box files and folders. The MCP Server Box project aims to provide a robust and flexible solution for managing and processing Box data using advanced AI and machine learning techniques.

Tools implemented

Box Tools

box_who_am_i

Get your current user information and check connection status.

Returns: User information string

box_authorize_app_tool

Start the Box application authorization process.

Returns: Authorization status message

box_search_tool

Search for files in Box.

Parameters:

  • query (str): Search query
  • file_extensions (List[str], optional): File extensions to filter by
  • where_to_look_for_query (List[str], optional): Where to search (NAME, DESCRIPTION, FILE_CONTENT, COMMENTS, TAG)
  • ancestor_folder_ids (List[str], optional): Folder IDs to search within

Returns: Search results

box_read_tool

Read the text content of a Box file.

Parameters:

  • file_id (str): ID of the file to read

Returns: File content

box_ask_ai_tool

Ask Box AI about a file.

Parameters:

  • file_id (str): ID of the file
  • prompt (str): Question for the AI

Returns: AI response

box_search_folder_by_name

Locate a folder by name.

Parameters:

  • folder_name (str): Name of the folder

Returns: Folder ID

box_ai_extract_data

Extract data from a file using AI.

Parameters:

  • file_id (str): ID of the file
  • fields (str): Fields to extract

Returns: Extracted data in JSON format

box_list_folder_content_by_folder_id

List folder contents.

Parameters:

  • folder_id (str): ID of the folder
  • is_recursive (bool): Whether to list recursively

Returns: Folder content in JSON format with id, name, type, and description

Requirements

  • Python 3.13 or higher
  • Box API credentials (Client ID, Client Secret, etc.)

Installation

  1. Clone the repository:

    1git clone https://github.com/box-community/mcp-server-box.git 2cd mcp-server-box
  2. Install uv if not installed yet:

    2.1 MacOS+Linux

    1curl -LsSf https://astral.sh/uv/install.sh | sh

    2.2 Windows

    1powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
  3. Create and set up our project:

    3.1 MacOS+Linux

    1# Create virtual environment and activate it 2uv venv 3source .venv/bin/activate 4 5# Lock the dependencies 6uv lock

    3.1 Windows

    1# Create virtual environment and activate it 2uv venv 3.venv\Scripts\activate 4 5# Lock the dependencies 6uv lock
  4. Create a .env file in the root directory and add your Box API credentials:

    BOX_CLIENT_ID=your_client_id
    BOX_CLIENT_SECRET=your_client_secret
    

Usage

Running the MCP Server

To start the MCP server, run the following command:

1uv --directory /path-to-the-project/mcp-server-box run src/mcp_server_box.py

Using Claude as the client

  1. Edit your claude_desktop_config.json
1code ~/Library/Application\ Support/Claude/claude_desktop_config.json
  1. And add the following:
1{ 2 "mcpServers": { 3 "mcp-server-box": { 4 "command": "uv", 5 "args": [ 6 "--directory", 7 "/path-to-your-project/mcp-server-box", 8 "run", 9 "src/mcp_server_box.py" 10 ] 11 } 12 } 13}
  1. If CLaude is running restart it