MCP server for Apache Iceberg table catalog operations, providing tools to list tables, scan data, retrieve metadata, and access table history
Three tools with basic schemas and descriptions, but significant gaps in parameter documentation and output schema clarity. list_tables lacks required parameter descriptions; scan_table has a complex nested filter structure that is poorly explained; table_history is minimal. No tool descriptions explain WHEN to use them or what they return. Naming is verb-forward (good), but descriptions average ~40 chars, well below the 194-char baseline for A+ tools. No error handling guidance, no output schemas documented, no idempotent/destructive hints. Schemas are present but incomplete, filter objects in scan_table lack field-level descriptions.
List all tables in the catalog or a specific namespace
Scan a table with optional filters
Get snapshot history of a table
Parameter descriptions missing or trivial. 'namespace' in list_tables has no description; filter objects in scan_table lack field-level docs. LLMs cannot infer what 'namespace' means or how to construct filters.
Output schemas not documented. Tools return lists/dicts but LLMs don't know field names, types, or structure. scan_table returns 'List[Dict[str, Any]]', what keys? What types? Downstream tools cannot chain.
Tool descriptions too short and lack context. 'List all tables in the catalog or a specific namespace' (52 chars) does not explain WHEN to call this vs scan_table, what it returns, or prerequisites. Baseline is 194 chars.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 50 | <=2025-11-25 | v2 |
No error handling guidance. Tools raise RuntimeError('Catalog wrapper not initialized') and generic 'Failed to scan table' messages. LLMs receive no recovery hints, should they retry? Call a setup tool? Ask the user?
scan_table filter parameter is complex nested structure but underdocumented. Description says 'Optional list of filter objects with field and value keys' but does not explain: What field types are supported? What value types? How are multiple filters combined (AND/OR)?