Model Context Protocol server for Amazon Redshift
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. All tools have descriptions (10-100 chars baseline met), but descriptions lack actionable context for LLM selection. Input schemas present but incomplete: list_tables has optional 'schemas' param with no type validation; get_tables_schema requires 'tables' array but lacks per-item validation guidance; query accepts free-form SQL with no safety constraints or format guidance. No output schemas documented. Error handling is minimal, catch-all throws without recovery guidance. No tool annotations (readOnlyHint present in metadata but not in schema). Composition is reasonable (three distinct read-only operations), but tools lack pagination, result limits, and chaining metadata.
Get schema information for multiple tables across different schemas in a single request
List all tables, views, and materialized views in the specified schemas
Execute a read-only SQL query against the Redshift database
No output schemas documented. LLMs cannot predict response structure, forcing them to parse unstructured JSON and guess field names for downstream tool calls.
query tool accepts free-form SQL with no validation, format guidance, or safety constraints. No mention of read-only enforcement, query timeout, or result limits. LLMs may pass malicious or resource-exhausting queries.
Parameter descriptions lack actionable constraints. 'schemas' in list_tables has no guidance on format, defaults, or valid values. 'sql' in query has no mention of allowed statement types, timeout, or result row limits.
No pagination or result limits documented. Large result sets (e.g., 1000+ tables or query rows) will blow context window. No mention of limit, offset, or cursor parameters.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 47 | 2026-07-28+ | v2 |
Error handling is minimal. Catch-all throws raw errors without recovery guidance. LLMs receive no actionable next steps (e.g., 'Try a simpler query' or 'Check schema name').