Box MCP Server has two tools with basic schemas and minimal descriptions. Both tools are directly visible and registered in src/index.ts via ListToolsRequestSchema handler. However, significant gaps exist: (1) descriptions are below the 194-char baseline and lack context on when to use tools and their prerequisites; (2) parameter descriptions are minimal or missing entirely; (3) no output schemas are documented; (4) no error handling guidance; (5) no pagination support despite search potentially returning large result sets. The 'search' tool description (71 chars) falls below the 194-char average and lacks detail on ranking, filters, or result limits. The 'read' tool description (47 chars) is similarly minimal. Neither tool documents what fields are returned or how results should be used.
Read the content of a Box file directly
Search for files and folders across all of Box (not limited to root folder). Returns URIs that can be used with resource commands.
Parameter descriptions are missing or too brief. 'query' in search tool lacks detail on format, length, wildcards, or what fields are searched. 'uri' in read tool lacks examples of valid format beyond the URI prefix check.
Tool descriptions fall well below the 194-char baseline and do not explain WHEN to use each tool or what prerequisites exist. 'search' (71 chars) does not mention result ordering, filtering, or limits. 'read' (47 chars) does not explain supported file types or potential errors.
Output schemas are not documented. Neither tool specifies what fields are returned, which breaks downstream tool chaining and forces LLMs to guess field names. search should document returned fields (uri, name, type, id); read should document text content structure.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 47 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 38 | - | v1 |
Search tool has no pagination support. ListToolsRequestSchema response shows search accepts only 'query' with no limit, offset, or page parameters. Large result sets will blow context windows and cause LLM reasoning degradation.
No error handling guidance. If search returns no results or read encounters an unsupported file type, there is no recovery hint for the LLM. Code shows 'Unsupported file type' error but tool description does not warn about supported types.
Parameter constraints are not enforced in schema. 'query' string has no minLength, maxLength, or pattern. 'uri' string has no pattern constraint in the schema itself, validation only happens at runtime, which the LLM cannot discover from the schema.