MCP server for integrating with Box cloud storage and AI capabilities
Box MCP server has 10 tools with basic descriptions and schemas, but significant quality gaps limit production readiness. Tool names follow verb_noun convention (box_search_tool, box_read_tool), which is good. However, descriptions are inconsistent in depth and clarity. Most parameter descriptions are present but lack constraint details (ranges, enums, formats). Output schemas are not documented, callers cannot predict response structure. Error handling is minimal; no recovery guidance or actionable error messages visible in code. The server uses FastMCP framework with lifespan context management, showing some architectural maturity, but lacks the polish expected for A-grade tools.
Extract data from a single file in Box using AI.
Ask box ai about a file in Box.
Use Box AI to analyze and respond to a prompt based on the content of multiple files. This tool allows users to query Box AI with a specific prompt, leveraging the content of multiple files stored in Box. The AI processes the files and generates a response based on the provided prompt.
Authorize the Box application. Start the Box app authorization process
List the content of a folder in Box by its ID.
Manage Box folders - create, delete, or update.
Output schemas not documented. Tools return strings (e.g., box_search_tool returns '\n'.join(search_results)) but callers cannot predict structure. LLMs cannot plan downstream tool calls or extract structured data reliably.
Parameter constraints missing. box_search_tool accepts 'where_to_look_for_query' as array but does not document valid enum values (NAME, DESCRIPTION, FILE_CONTENT, COMMENTS, TAG) in the schema, only in docstring. box_manage_folder_tool 'action' param lacks enum constraint. LLMs cannot validate inputs before calling.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | <=2025-11-25 | v2 |
Read the text content of a file in Box.
Locate a folder in Box by its name.
Search for files in Box with the given query.
Get the current user's information. This is also useful to check the connection status.
No error handling or recovery guidance. Code does not show try-catch blocks, error classification, or actionable error messages. If a Box API call fails, the LLM receives a raw exception or generic string with no guidance on retry, user action, or next steps.
Naming ambiguity: 'box_authorize_app_tool' and 'box_manage_folder_tool' use '_tool' suffix, inconsistent with other tools (box_search_tool, box_read_tool). Also, 'box_authorize_app_tool' does not clearly indicate it starts an OAuth flow, 'box_start_oauth_authorization' would be clearer.
No pagination support. box_search_tool and box_list_folder_content_by_folder_id return results as joined strings with no limit, offset, or cursor. Large result sets will blow context windows and degrade LLM reasoning.