MCP server for querying Databricks Genie and agent bricks, supporting natural language queries against supply chain and distribution data
Two tools are defined, but both suffer from severe description deficiencies and incomplete parameter documentation. Tool 1 (genie-query) has a reasonable description (79 chars) but vague parameter docs. Tool 2 (agent-bricks) has a critically inadequate description (13 chars, 'agent bricks') that violates the 20-character floor, rendering it unusable by an LLM. Neither tool includes output schema documentation. Both tools accept only a 'query' parameter with identical schemas, suggesting possible duplication. No error handling guidance is present. Schemas are present but minimal. No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are used despite both being read-only operations. The server implements resources (agent cards) but tool-level composition is weak.
agent bricks
Query the genie room to get an answer to supply chain and distribution questions
agent-bricks tool description is critically inadequate: 'agent bricks' (13 chars) falls below the 20-character minimum and provides no context for LLM selection. Violates tool-description pattern entirely.
Both tools lack output schema documentation. LLMs cannot predict what fields to extract from responses or plan downstream tool calls. Per pattern:tool and pattern:response-shaper, structured output with documented fields is required.
Parameter 'query' lacks meaningful description in both tools. Description should specify what kinds of queries are valid, expected format, and scope. Current text 'Query to be answered by the genie room' and 'Query to be answered by the agent-bricks' are too generic and do not guide LLM usage.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 45 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 45 | - | v1 |
No error handling guidance provided. Tools raise ValueError or generic exceptions without recovery hints. Per pattern:recovery-guide, errors should tell the agent what to do next (e.g., 'Query too broad, try narrowing by date or category').
No tool annotations (readOnlyHint, destructiveHint, idempotentHint) are used. Both tools are read-only queries and should declare readOnlyHint=true for clarity. Agents cannot infer tool safety from names alone.
Possible tool duplication: genie-query and agent-bricks both accept a single 'query' string parameter and return text responses. Semantic difference is unclear. Per pattern:tool, each tool should have one clear responsibility; if these serve distinct domains (supply chain vs agent-bricks), name and description should make this explicit.
No parameter type constraints (enum, minLength, maxLength, pattern) are applied to 'query' fields. LLMs can pass arbitrarily long or malformed queries without validation guidance. Per pattern:constrained-input, enums and format constraints prevent hallucinated invalid values.
genie_query implementation converts pandas DataFrames to JSON but does not document this output transformation. Agents cannot predict whether a response is plain text or structured data. Per pattern:response-shaper, output format should be explicit.