Lists, searches and reads files stored in Box, including PDF and Word documents, using a developer token.
Setup
Choose your client, copy the config, then fill in any required environment variables.
claude mcp add box --env BOX_DEV_TOKEN='<BOX_DEV_TOKEN>' --env BOX_JWT_BASE64='<BOX_JWT_BASE64>' --env BOX_USER_ID='<BOX_USER_ID>' -- npx box-mcp-server~/.codex/config.toml
[mcp_servers.box]
command = "npx"
args = ["box-mcp-server"]
env = { BOX_DEV_TOKEN = "<BOX_DEV_TOKEN>", BOX_JWT_BASE64 = "<BOX_JWT_BASE64>", BOX_USER_ID = "<BOX_USER_ID>" }
# codex mcp add box --env BOX_DEV_TOKEN='<BOX_DEV_TOKEN>' --env BOX_JWT_BASE64='<BOX_JWT_BASE64>' --env BOX_USER_ID='<BOX_USER_ID>' -- npx box-mcp-server~/.cursor/mcp.json
{
"mcpServers": {
"box": {
"command": "npx",
"args": [
"box-mcp-server"
],
"env": {
"BOX_DEV_TOKEN": "<BOX_DEV_TOKEN>",
"BOX_JWT_BASE64": "<BOX_JWT_BASE64>",
"BOX_USER_ID": "<BOX_USER_ID>"
}
}
}
}.vscode/mcp.json
{
"servers": {
"box": {
"type": "stdio",
"command": "npx",
"args": [
"box-mcp-server"
],
"env": {
"BOX_DEV_TOKEN": "<BOX_DEV_TOKEN>",
"BOX_JWT_BASE64": "<BOX_JWT_BASE64>",
"BOX_USER_ID": "<BOX_USER_ID>"
}
}
}
}~/.gemini/settings.json
{
"mcpServers": {
"box": {
"command": "npx",
"args": [
"box-mcp-server"
],
"env": {
"BOX_DEV_TOKEN": "<BOX_DEV_TOKEN>",
"BOX_JWT_BASE64": "<BOX_JWT_BASE64>",
"BOX_USER_ID": "<BOX_USER_ID>"
}
}
}
}claude_desktop_config.json
{
"mcpServers": {
"box": {
"command": "npx",
"args": [
"box-mcp-server"
],
"env": {
"BOX_DEV_TOKEN": "<BOX_DEV_TOKEN>",
"BOX_JWT_BASE64": "<BOX_JWT_BASE64>",
"BOX_USER_ID": "<BOX_USER_ID>"
}
}
}
}.trae/mcp.json
{
"mcpServers": {
"box": {
"command": "npx",
"args": [
"box-mcp-server"
],
"env": {
"BOX_DEV_TOKEN": "<BOX_DEV_TOKEN>",
"BOX_JWT_BASE64": "<BOX_JWT_BASE64>",
"BOX_USER_ID": "<BOX_USER_ID>"
}
}
}
}Environment variables
BOX_DEV_TOKENBOX_JWT_BASE64BOX_USER_ID
Replace the placeholders with your own credentials and keep them out of version control.