MCP server for querying Dropbox data via SQL interface
This Dropbox MCP server has moderate definition quality with some strengths but notable gaps. All three tools are explicitly registered with schemas and descriptions present. However, descriptions lack depth and actionable guidance, parameter documentation is minimal, output schemas are not documented, and error handling is weak. The tool names follow verb_noun conventions (get_tables, get_columns, run_query) which is good, but parameter descriptions are sparse. CSV output format is mentioned but not formally documented as a structured schema. Error handling throws generic RuntimeException with minimal guidance for recovery. No validation of SQL input or error categorization. The server would benefit from richer descriptions explaining when to call each tool, parameter format requirements, output field documentation, and proper error classification.
Retrieves a list of fields, dimensions, or measures (as columns) for an object, entity or collection (table). Use the `dropbox_get_tables` tool to get a list of available tables. The output of the tool will be returned in CSV format, with the first line containing column headers.
Retrieves a list of objects, entities, collections, etc. (as tables) available in the data source. Use the `dropbox_get_columns` tool to list available columns on a table. Both `catalog` and `schema` are optional parameters. The output of the tool will be returned in CSV format, with the first line containing column headers.
Execute a SQL SELECT statement.
Output schemas not documented. Tools return CSV format but no structured schema is declared for LLM consumption. LLMs cannot parse CSV reliably, they need field-level documentation.
Parameter descriptions are sparse. 'catalog' and 'schema' are marked optional but no guidance on when they are required or how they interact. SQL parameter lacks dialect specifications, reserved word handling, or injection prevention guidance.
Error handling is minimal. Catches all exceptions and throws generic RuntimeException with message concatenation. No error categorization (retryable vs user-fixable vs fatal), no recovery guidance, no validation of SQL syntax or identifiers.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 50 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 31 | - | v1 |
run_query tool description is too brief (22 characters). Does not explain SQL dialect support, JOIN limitations, subquery support, or when to use get_tables/get_columns first. Violates baseline of 194 chars average for tool descriptions.
No output result limits documented. If a table has 10,000+ rows, tool may return massive CSV that exhausts context window. Should cap results and offer pagination with cursor or offset.
SQL parameter accepts free-form strings with no constraints, format hints, or injection defense guidance. Description mentions quoted identifiers and valid clauses but does not explain how to handle special characters, date formats, or NULL values.