A Model Context Protocol (MCP) connector for Trino, enabling seamless integration between MCP-compliant services and Trino query engine
The server provides 16 tools with generally clear naming conventions (verb-noun patterns like show_*, describe_*, list_*) and documented input schemas. However, several critical gaps reduce the overall quality: (1) Tool descriptions are short but mostly adequate (10-150 chars); (2) Output schemas are completely undocumented, no tool specifies what fields or structure it returns, forcing LLMs to infer; (3) Error handling guidance is absent across all tools; (4) Several tools lack parameter-level descriptions (e.g., show_catalogs has no parameters, so description adequacy is N/A); (5) Parameter descriptions are present but minimal (e.g., 'The name of the catalog' is bare, lacks format/constraint guidance); (6) Tool composition is sound, tools chain naturally (list catalogs → show schemas → show tables); (7) The execute_query tool is dangerously underdescribed given its WRITE risk; (8) Destructive operations (expire_snapshots) lack dry-run or confirmation patterns. Per-tool analysis shows 13/16 tools score 60-70 (fair), with show_catalogs and show_catalog_tree scoring lower due to no parameters, and execute_query scoring lower due to insufficient risk/constraint documentation.
Describe a table
Execute a SQL query and return results in a readable format
Remove old snapshots from an Iceberg table
Optimize an Iceberg table's data files
Optimize manifest files for an Iceberg table
Show a hierarchical tree view of catalogs, schemas, and tables
List all available catalogs
Output schemas completely undocumented. No tool declares what fields or structure it returns. LLMs cannot plan downstream tool calls or extract data reliably.
execute_query (WRITE risk) lacks constraint documentation and error recovery guidance. No mention of query limits, timeout behavior, or how to handle partial failures.
Destructive operation (expire_snapshots) lacks dry-run or confirmation pattern. Agents cannot preview changes before committing irreversible snapshot deletion.
Inferred effective spec: 2026-07-28+.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | D | 59 | 2026-07-28+ | v2 |
| 2026-03-09 | F | 28 | - | v1 |
Show the CREATE TABLE statement for a specific table
Show the CREATE VIEW statement for a specific view
Show metadata for the table
Get the history of executed queries
List all schemas in a catalog
Show statistics for a table
Show Iceberg table history/changelog
Show Iceberg table properties
List all tables in a schema
Parameter descriptions are minimal and lack constraint guidance. E.g., 'retention_threshold' says 'e.g., 7d, 30d' but does not enforce format, min/max, or what happens on invalid input.
No error handling guidance in any tool description. LLMs do not know what to do if a catalog does not exist, a query times out, or a snapshot removal fails.
No pagination or result limits declared. Tools like show_catalog_tree, show_query_history, describe_table may return unbounded results, risking context window exhaustion.
Parameter descriptions lack format/range guidance. Example: retention_threshold example format ('7d', '30d') not enforced as enum or regex pattern; LLM may pass invalid formats like '7 days' or '168h'.