Box MCP Server
Provides secure access to Box cloud storage, enabling document management, folder organization, search, AI-powered analysis, and collaboration through the Box API.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Box MCP Server search for documents with 'budget' in the filename"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Box MCP Server
A Model Context Protocol (MCP) server that provides secure access to Box cloud storage without local file persistence. This server enables Large Language Models to interact with Box files, folders, and AI capabilities through a standardized MCP interface.
Features
š§ 8 Core Tools (Intent-Based)
box_save_documents- Batch upload documents with automatic folder creationbox_read_document- Stream document content without local storagebox_manage_folders- Create and organize folder structuresbox_explore_storage- Navigate Box directory tree with filteringbox_share_content- Create shared links and manage collaborationsbox_analyze_document- Use Box AI for document analysis, Q&A, and extractionbox_search_content- Natural language search with advanced filteringbox_retrieve_documents- Batch retrieval with optional local saving
š MCP Resources (6 URI Templates)
box://file/{fileId}- Access specific Box files by IDbox://folder/{folderId}- Access specific Box folders by IDbox://search?q={query}- Search Box content with query parametersbox://user/storage- Current user's storage quota and usagebox://user/recent- Recently accessed filesbox://folder/root/tree- Complete folder structure from root
š¬ MCP Prompts (5 Interactive Templates)
share_file- Create shared links with customizable permissionsanalyze_document- Use Box AI to analyze documents with specific promptsorganize_folder- Organize files using different strategies (by date, type, name)bulk_upload- Upload multiple files with folder organizationcollaboration_setup- Set up collaboration with specific users and roles
š Security & Compliance
Zero Local Storage - All documents remain in Box cloud
Multi-Auth Support - OAuth 2.0, Client Credentials Grant (CCG), JWT
Encrypted Credentials - Secure token storage and auto-refresh
Enterprise-Grade - Leverages Box's enterprise security features
Related MCP server: MCP File Browser Server
Quick Start
Prerequisites
Box Developer Account - Create at Box Developer Console
Node.js 18+ - Download Node.js
Box App Configuration - OAuth 2.0 or Client Credentials Grant app
Installation
# Clone and install
git clone https://github.com/your-org/mcp-box
cd mcp-box
npm install
# Build the server
npm run buildConfiguration
Create a .env file in the project root:
# Authentication Method (oauth | ccg)
AUTH_TYPE=oauth
# Box App Credentials
BOX_CLIENT_ID=your_client_id_here
BOX_CLIENT_SECRET=your_client_secret_here
BOX_ENTERPRISE_ID=your_enterprise_id_here # Required for CCG
# Server Configuration
MCP_TRANSPORT=stdio # stdio | http
LOG_LEVEL=info # debug | info | warn | error
NODE_ENV=developmentAuthentication Setup
OAuth 2.0 (Recommended for individual use)
Step 1: Box Developer Console Setup
Go to Box Developer Console: https://developer.box.com/
Create Custom App:
Click "Create New App"
Select "Custom App"
Choose "User Authentication (OAuth 2.0)"
Name your app (e.g., "MCP Box Server")
Configure OAuth Settings:
Redirect URI:
http://localhost:3000/auth/callbackApplication Scopes: Select all needed permissions:
ā Read all files and folders
ā Write all files and folders
ā Manage users
ā Manage enterprise properties
Save your configuration
Get Credentials:
Copy Client ID
Copy Client Secret
Step 2: Configure Your .env File
# OAuth 2.0 Configuration
AUTH_TYPE=oauth
BOX_CLIENT_ID=your_client_id_here
BOX_CLIENT_SECRET=your_client_secret_here
# Server Configuration
MCP_TRANSPORT=stdio
LOG_LEVEL=info
NODE_ENV=developmentStep 3: First-Time Authentication
# Build and start the server
npm run build
npm startWhat happens:
Server detects no stored OAuth tokens
Opens browser to Box login page automatically
You log in with your Box credentials
Box redirects back with authorization code
Server exchanges code for access/refresh tokens
Tokens are securely stored for future use
Client Credentials Grant (Enterprise)
Step 1: Box Developer Console Setup
Go to Box Developer Console: https://developer.box.com/
Create Custom App:
Click "Create New App"
Select "Custom App"
Choose "Server Authentication (Client Credentials Grant)"
Name your app (e.g., "MCP Box Server Enterprise")
Configure CCG Settings:
Application Scopes: Select enterprise permissions needed
Enterprise ID: Note your enterprise ID
Submit for Approval: Enterprise admin must approve
Get Credentials:
Copy Client ID
Copy Client Secret
Copy Enterprise ID
Step 2: Configure Your .env File
# CCG Configuration
AUTH_TYPE=ccg
BOX_CLIENT_ID=your_client_id
BOX_CLIENT_SECRET=your_client_secret
BOX_ENTERPRISE_ID=your_enterprise_id
# Server Configuration
MCP_TRANSPORT=stdio
LOG_LEVEL=info
NODE_ENV=productionStep 3: Enterprise Admin Approval
Enterprise admin must approve the app in Box Admin Console
Once approved, server will authenticate automatically
Integration Guides
Claude Code Integration
Add this MCP server to Claude Code for seamless Box integration:
Build the server:
npm run buildAdd to Claude Code configuration:
Option A: Via Claude Code UI
Open Claude Code settings
Navigate to "MCP Servers"
Add new server with these settings:
Name:
box-mcp-serverCommand:
nodeArgs:
["/Users/your-username/path-to/mcp-box/dist/index.js"]Environment Variables: Add your
.envvariables
Option B: Edit Claude Code config file
{ "mcpServers": { "box-mcp-server": { "command": "node", "args": ["/Users/your-username/path-to/mcp-box/dist/index.js"], "env": { "AUTH_TYPE": "oauth", "BOX_CLIENT_ID": "your_client_id", "BOX_CLIENT_SECRET": "your_client_secret" } } } }Restart Claude Code and verify the server appears in MCP servers list
Test the integration:
@box-mcp-server List my recent Box files @box-mcp-server Analyze the quarterly report in folder "Reports/2024" @box-mcp-server Share the presentation with my team
Claude Desktop Integration
For Claude Desktop, add to your MCP configuration:
macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
Windows: %APPDATA%/Claude/claude_desktop_config.json
{
"mcpServers": {
"box-mcp-server": {
"command": "node",
"args": ["/path/to/mcp-box/dist/index.js"],
"env": {
"AUTH_TYPE": "oauth",
"BOX_CLIENT_ID": "your_client_id",
"BOX_CLIENT_SECRET": "your_client_secret"
}
}
}
}Other MCP Clients
The server supports standard MCP transports:
STDIO (Default):
node dist/index.jsHTTP with Server-Sent Events:
MCP_TRANSPORT=http MCPSERVER_PORT=3000 AUTH_TOKEN=your_secret node dist/index.jsUsage Examples
Document Management
// Save multiple documents with organization
{
"name": "box_save_documents",
"arguments": {
"documents": [
{
"content": "Meeting notes content...",
"path": "Projects/2024/Q4/meeting-notes.md",
"metadata": { "classification": "Internal" }
}
],
"options": {
"createFolders": true,
"shareSettings": { "createLink": true, "linkAccess": "company" }
}
}
}AI-Powered Analysis
// Analyze document with Box AI
{
"name": "box_analyze_document",
"arguments": {
"path": "Contracts/partnership-agreement.pdf",
"analysisType": "qa",
"options": {
"questions": ["What are the key payment terms?", "When does this contract expire?"]
}
}
}Smart Search
// Natural language search
{
"name": "box_search_content",
"arguments": {
"query": "quarterly financial reports from 2024 with revenue data",
"filters": {
"extensions": ["pdf", "xlsx"],
"dateRange": { "from": "2024-01-01" },
"includeContent": true
}
}
}MCP Protocol Support
This server implements the full MCP specification (v2025-06-18):
ā Tools - 8 intent-based tools with structured input/output
ā Resources - 6 Box URI templates for LLM context
ā Prompts - 5 interactive templates for common workflows
ā Transports - STDIO and HTTP/SSE support
ā Authentication - Bearer token support for HTTP transport
ā Error Handling - Comprehensive error responses with user-friendly messages
Development
Running Tests
# Unit + Integration tests
npm test
# E2E tests (requires Box credentials)
npm run test:e2e
# Test coverage
npm run test:coverageDevelopment Server
# Watch mode with hot reload
npm run dev
# Debug mode with verbose logging
LOG_LEVEL=debug npm startProject Structure
mcp-box/
āāā src/
ā āāā server.ts # MCP server implementation
ā āāā index.ts # Entry point & transport setup
ā āāā types.ts # TypeScript definitions
ā āāā box/ # Box API client
ā āāā tools/ # Individual MCP tools
āāā tests/ # Test suites
āāā docs/ # Planning documentation
āāā dist/ # Compiled JavaScriptAPI Reference
Tools
Tool | Description | Key Features |
| Upload files to Box | Batch upload, auto-folder creation, metadata |
| Read file content | Stream content, no local storage, text extraction |
| Folder operations | Create, move, rename, delete, batch operations |
| Navigate folders | Tree view, filtering, size info |
| Sharing & collaboration | Shared links, collaborator management |
| Box AI analysis | Summarize, extract, Q&A, classify, translate |
| Content search | Natural language, filters, metadata search |
| Download files | Batch download, optional local save |
Resources
URI Template | Description |
| Access file by ID |
| Access folder by ID |
| Search results |
| Storage quota info |
| Recent files |
| Complete folder tree |
Prompts
Prompt | Purpose | Arguments |
| Create shared links |
|
| AI document analysis |
|
| File organization |
|
| Multiple file upload |
|
| Team collaboration |
|
Troubleshooting
Authentication Issues
OAuth 2.0 Troubleshooting
Browser doesn't open automatically?
# Manual OAuth URL will be displayed in console # Copy and paste into browser"Invalid redirect URI" error?
Check Box app configuration matches your server settings
Ensure redirect URI is exactly:
http://localhost:3000/auth/callbackVerify no trailing slashes or extra characters
"Access denied" during login?
Check Box app has correct scopes enabled
Verify user has access to requested files/folders
Ensure app is not disabled in Box Admin Console
Tokens not persisting?
Check file system permissions for token storage
Verify
.envfile has correct credentialsTry deleting stored tokens and re-authenticating
CCG Troubleshooting
CCG Setup: Verify enterprise ID and app approval status
"App not authorized" error?
Enterprise admin must approve app in Box Admin Console
Check enterprise ID matches exactly
Verify app has required scopes enabled
Token Refresh: Check credential storage permissions
General Auth Issues
"Invalid client" errors: Double-check Client ID and Client Secret
"Unauthorized" responses: Verify auth method matches Box app type
Token refresh failures: Check network connectivity and Box API status
Common Errors
File Not Found: Use
box_search_contentto find correct file pathsPermission Denied: Verify Box app scopes and user permissions
Rate Limits: Server handles throttling automatically with exponential backoff
Debugging
# Enable debug logging
LOG_LEVEL=debug node dist/index.js
# Test MCP protocol compliance
npm run test:contract
# Validate Box API connectivity
npm run test:integrationContributing
Fork the repository
Create a feature branch:
git checkout -b feature-nameFollow TDD: Write tests first, then implementation
Ensure all tests pass:
npm testUpdate documentation as needed
Submit a pull request
License
MIT License - see LICENSE file for details.
Support
Issues: GitHub Issues
Discussions: GitHub Discussions
Box API: Box Developer Documentation
MCP Protocol: MCP Specification
Secure document management meets AI - Keep your files in Box cloud while enabling powerful AI interactions through the Model Context Protocol.
Available Tools
10 toolsbox_analyze_documentC
Use Box AI to analyze a document (summarize, Q&A, extract, translate)
Inputs: fileId (required), analysisType (required), path, paths, +3 more.
box_explore_storageC
Return a tree structure of folders/files starting at a path
Inputs: path, options.
box_manage_foldersC
Create, move, rename, or delete folders by path or ID
Inputs: action (required), folders (required).
box_read_documentB
Read document content without saving locally
Inputs: fileId (required), path, options.
box_save_documentsB
Save multiple documents to Box storage with automatic folder creation
Inputs: documents (required), options.
box_search_contentC
Search Box for files and folders with optional filters
Inputs: query (required), filters, options.
box_update_collaboratorsB
Update collaborator roles or remove collaborators on a file/folder
Inputs: itemId (required), updates (required), itemType (required), path.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelogā¦
TDQS
Scored across 10 tools
Most tools target distinct operations, but box_share_content overlaps with box_update_shared_link, box_remove_shared_link, and box_update_collaborators since sharing can involve both links and collaborators. box_manage_folders is also broad and could be confused with box_explore_storage for folder operations.
All tools share a consistent box_ prefix and mostly follow a verb_noun pattern. Minor inconsistencies exist such as box_save_documents vs box_read_document (plural mismatch) and the generic box_manage_folders instead of a specific verb like create/update/delete.
Ten tools is well-scoped for a Box storage MCP server covering document operations, folder management, search, sharing, and AI analysis. Each tool earns its place without overwhelming the agent.
The tool set covers core storage workflows: save, read, organize, explore, search, share, and analyze. Gaps include no direct file deletion (only folders) and no explicit file download or versioning, but agents can work around most limitations.
Related MCP Connectors
The Box MCP server is a secure gateway that connects external AI agents to enterprise content stored in Box, enabling agent-based document access, advanced search, and multi-file analysis while preserving Box security policies. It provides capabilities including keyword search, Box AI-powered Q&A across files, metadata extraction, file management, and authentication, all validated against Box's granular permission controls. The server integrates with major AI platforms like Anthropic Claude, Microsoft Copilot Studio, and Mistral Le Chat, and is available both as a Box-hosted remote server and a self-hosted open-source Python project.
Send encrypted files and secrets, collect files and get documents signed, from your AI.
Swiss encrypted cloud drive for Claude, ChatGPT and AI agents: search, read and save files.
Ingest, manage, and retrieve documents for RAG-powered AI applications
Related MCP Servers
- AlicenseBqualityFmaintenanceA Python server that enables interaction with Box files and folders through the Box API, allowing operations like file search, text extraction, and AI-based querying and data extraction.100101MIT
- AlicenseNot gradedqualityDmaintenanceEnables Large Language Models to safely browse and interact with local file systems through secure directory listing, file reading, and content search capabilities. Built with comprehensive security controls and high-performance handling of large directories and files.1MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to manage Box files, folders, collaborations, and more via the Box API using tools for search, upload, and metadata operations.5 npmISC
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to browse, search, inspect, and download text from Box enterprise cloud storage files and folders, and to retrieve user profile and storage usage details.298 npmMIT