MCP Server for Databricks AWS Documentation with semantic search, browsing, and recommendations
This server has critical gaps in tool definition quality. Only 2 tools are exposed via the MCP interface (get_server_status, trigger_refresh), both with empty input schemas and minimal descriptions that lack WHEN/WHY context. While the codebase shows a sophisticated backend (semantic search, vector DB, scheduling), the actual MCP tool definitions fail to meet production standards. Descriptions are under 50 characters; no parameter annotations exist (empty schemas {}); no error handling guidance is provided; no tool composition for multi-step workflows. The server registers additional tools indirectly via helper functions (register_search_tools, register_recommendation_tools) but source code for those registrations is NOT visible in the provided snippet, making it impossible to verify their definitions.
Get server status and statistics.
Manually trigger a documentation refresh.
Empty input schemas for both tools (Input: {}). No parameter validation, no type information, no constraints.
Tool descriptions are under 50 characters and lack context. 'Get server status and statistics' does not explain WHEN to call this tool instead of another, what the output structure is, or how to interpret the response. Baseline for A+ tools: 50-200 character descriptions with WHAT/WHEN/WHY.
No output schemas documented. get_server_status returns a dict with cache, search, scheduler sub-objects, but the response structure is not formally declared. LLMs cannot predict field names or types, forcing them to guess how to extract data.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | F | 35 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 42 | - | v1 |
No error handling guidance. Both tools catch generic exceptions and return {status: error, error: str(e)}. This raw error response does not tell the LLM what to do next or how to self-correct. Missing: recovery steps, categorization (retryable vs fatal), actionable constraint violations.
Tool compositions hidden and unverifiable. Code shows register_search_tools(), register_recommendation_tools(), register_doc_resources() being called, but those function definitions are not included in the provided source. Cannot verify names, schemas, descriptions, or error handling for those tools.
No parameter descriptions anywhere. While the two visible tools have empty input schemas, any hidden tools likely have parameters that lack descriptions. Rubric baseline: 100% of A+ tools have described params.
trigger_refresh modifies state (manual refresh of documentation) but response structure is not documented and has no confirmation step. Rubric pattern:command-tool requires explicit statements that the tool modifies state. No dry-run or confirmation available to prevent accidental refreshes.