MCP server for interacting with Databricks Genie API, enabling conversation management, message creation, SQL query execution, and space management
Server has 8 tools with basic verb-noun naming (start_conversation, create_message, get_message, etc.). All tools have descriptions (10-100 chars, mostly adequate). Input schemas are present with typed parameters and descriptions. However, output schemas are NOT documented, responses are returned as dicts without formal schema declarations. Error handling is minimal (generic try-catch returning error dicts). No parameter validation, enums, or constraints visible. No tool annotations (readOnlyHint/destructiveHint). Descriptions lack WHEN-to-use context and dependency hints. Parameter descriptions are present but terse. Overall: functional but below production baseline.
Create a new message in an existing conversation.
Execute the SQL query for a message attachment.
Generate full query result download.
Get a message from a conversation.
Get the SQL query result from a message attachment.
Get details of a Genie Space.
Output schemas not documented. Tools return dicts without formal schema declarations. LLMs cannot predict response structure for downstream chaining.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot distinguish safe reads from destructive writes without explicit hints.
Error handling is generic (try-catch returning {error: str}). No recovery guidance, categorization (retryable vs fatal), or actionable next steps for LLMs.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Poll a message until its status is COMPLETED or until timeout.
Start a new conversation in a Genie space.
No parameter validation or constraints. Descriptions lack format specs, ranges, or enums. LLMs can pass invalid space_id, conversation_id, or timeout_seconds without guidance.
Descriptions lack WHEN-to-use context and dependency hints. E.g., 'start_conversation' does not explain when to use it vs 'create_message', or that it requires a valid space_id.