box-community/mcp-server-box
If you are the rightful owner of mcp-server-box and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
The Box MCP Server 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.
Box MCP Server
Quick Start
Clone the repository:
git clone https://github.com/box-community/mcp-server-box.git
cd mcp-server-box
Optional but recommended uv installation for virtual environment and dependency management:
Homebrew (macOS)
brew install uv
WinGet (Windows)
winget install --id=astral-sh.uv -e
On macOS and Linux
curl -LsSf https://astral.sh/uv/install.sh | sh
On Windows
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Set up the virtual environment and install dependencies:
uv sync
Set environment variables:
Set the following environment variables for Box authentication in a .env file or your system environment.
For comprehensive authentication configuration options, see the .
Using OAuth2.0 with a Box App
BOX_CLIENT_ID = YOUR_CLIENT_ID
BOX_CLIENT_SECRET = YOUR_CLIENT_SECRET
BOX_REDIRECT_URL = http://localhost:8000/callback
# MCP Server Authentication (for HTTP transports)
BOX_MCP_SERVER_AUTH_TOKEN = YOUR_BOX_MCP_SERVER_AUTH_TOKEN
OAUTH_PROTECTED_RESOURCES_CONFIG_FILE = .oauth-protected-resource.json
Note:
- The
BOX_MCP_SERVER_AUTH_TOKENis used to authenticate the MCP client to the MCP server when using--mcp-auth-type=token(independent of Box authentication)
Run the MCP server in STDIO mode:
uv run src/mcp_server_box.py
Box Community MCP Server Tools
Below is a summary of the available tools:
| Tools available | Description |
|---|---|
| AI-powered file and hub queries | |
| Manage file/folder collaborations | |
| Document generation and template management | |
| File operations (read, upload, download) | |
| Folder operations (list, create, delete, update) | |
| Generic Box API utilities | |
| Group management and queries | |
| Metadata template and instance management | |
| Search files and folders | |
| Shared link management for files/folders/web-links | |
| Task and task assignment management | |
| User management and queries | |
| Web link creation and management |
Box Community MCP Server Operations Details
Command line interface parameters
To run the MCP server with specific configurations, you can use the following command line parameters:
uv run src/mcp_server_box.py --help
usage: mcp_server_box.py [-h] [--transport {stdio,sse,http}] [--host HOST] [--port PORT] [--mcp-auth-type {oauth,token,none}] [--box-auth-type {oauth,ccg,jwt,mcp_client}]
Box Community MCP Server
options:
-h, --help show this help message and exit
--transport {stdio,sse,http}
Transport type (default: stdio)
--host HOST Host for SSE/HTTP transport (default: localhost)
--port PORT Port for SSE/HTTP transport (default: 8005)
--mcp-auth-type {oauth,token,none}
Authentication type for MCP server (default: token)
--box-auth-type {oauth,ccg,jwt,mcp_client}
Authentication type for Box API (default: oauth)
For detailed information about authentication types, configurations, and use cases, see the .
Claude Desktop Configuration
STDIO mode
Edit your claude_desktop_config.json:
code ~/Library/Application\ Support/Claude/claude_desktop_config.json
Add the configuration:
{
"mcpServers": {
"mcp-server-box": {
"command": "uv",
"args": [
"--directory",
"/path/to/mcp-server-box",
"run",
"src/mcp_server_box.py"
]
}
}
}
Restart Claude if it is running.
HTTP Mode
Assuming your MCP server is running on https://mcp.myserver.com/mcp
- Go to Claude -> Settings -> Connectors
- Select
Add custom connector - Configurations:
- Give it a name
- Enter the URL e.g.
https://mcp.myserver.com/mcp - Optionally enter the
client idandclient secret
- Click add
- Click connect. The OAuth flow should start. Complete the flow
- Back in Claude, click Configure. You should see all the tools available.