Mcp Box — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited Mcp Box (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
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.
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# Clone and install
git clone https://github.com/your-org/mcp-box
cd mcp-box
npm install
# Build the server
npm run buildCreate 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=development#### OAuth 2.0 (Recommended for individual use)
Step 1: Box Developer Console Setup
http://localhost:3000/auth/callbackStep 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:
#### Client Credentials Grant (Enterprise)
Step 1: Box Developer Console Setup
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
Add this MCP server to Claude Code for seamless Box integration:
npm run buildOption A: Via Claude Code UI
box-mcp-servernode["/Users/your-username/path-to/mcp-box/dist/index.js"].env variablesOption 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"
}
}
}
} @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 teamFor 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"
}
}
}
}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.js// 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" }
}
}
}// 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?"]
}
}
}// 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
}
}
}This server implements the full MCP specification (v2025-06-18):
# Unit + Integration tests
npm test
# E2E tests (requires Box credentials)
npm run test:e2e
# Test coverage
npm run test:coverage# Watch mode with hot reload
npm run dev
# Debug mode with verbose logging
LOG_LEVEL=debug npm startmcp-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 JavaScript| Tool | Description | Key Features |
|---|---|---|
box_save_documents | Upload files to Box | Batch upload, auto-folder creation, metadata |
box_read_document | Read file content | Stream content, no local storage, text extraction |
box_manage_folders | Folder operations | Create, move, rename, delete, batch operations |
box_explore_storage | Navigate folders | Tree view, filtering, size info |
box_share_content | Sharing & collaboration | Shared links, collaborator management |
box_analyze_document | Box AI analysis | Summarize, extract, Q&A, classify, translate |
box_search_content | Content search | Natural language, filters, metadata search |
box_retrieve_documents | Download files | Batch download, optional local save |
| URI Template | Description |
|---|---|
box://file/{fileId} | Access file by ID |
box://folder/{folderId} | Access folder by ID |
box://search?q={query} | Search results |
box://user/storage | Storage quota info |
box://user/recent | Recent files |
box://folder/root/tree | Complete folder tree |
| Prompt | Purpose | Arguments |
|---|---|---|
share_file | Create shared links | fileId, access, password, expiresAt |
analyze_document | AI document analysis | fileId, analysisType, prompt, focus |
organize_folder | File organization | folderId, strategy, createSubfolders |
bulk_upload | Multiple file upload | targetFolder, createFolders, classification |
collaboration_setup | Team collaboration | itemId, itemType, collaborators, role |
#### OAuth 2.0 Troubleshooting
# Manual OAuth URL will be displayed in console
# Copy and paste into browserhttp://localhost:3000/auth/callback.env file has correct credentials#### CCG Troubleshooting
#### General Auth Issues
box_search_content to find correct file paths# 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:integrationgit checkout -b feature-namenpm testMIT License - see LICENSE file for details.
Secure document management meets AI - Keep your files in Box cloud while enabling powerful AI interactions through the Model Context Protocol.
~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.