Query across databases and flat files (Postgres, MySQL, CSV, JSON, Excel, SQLite, DuckDB, Parquet, Google Sheets) using standard SQL - locally or in the cloud.
PlyDB provides two read-only tools with clear, actionable descriptions and properly typed input schemas. Both tools follow the verb_noun naming convention and include parameter descriptions. However, output schemas are not documented in the source code, and the server lacks several production patterns (error recovery guidance, permission gates, pagination support, tool annotations). The descriptions are adequate but could be more detailed about use cases and error conditions.
Returns the semantic context of the configured data sources, including dataset schemas, field types, descriptions, and dimensions, in Open Semantic Interchange (OSI) YAML format. For more on the OSI spec, see: https://github.com/open-semantic-interchange/OSI
Execute a SQL query against the configured data sources. Tables must be referenced as fully-qualified 3-part names: catalog.schema.table.
Output schemas are not documented. Neither tool declares what fields, types, or structure the response contains. LLMs cannot plan downstream operations or validate results without knowing the output schema.
No error handling guidance. Tools provide no recovery hints when they fail (e.g., 'Invalid SQL syntax, check that tables are fully qualified as catalog.schema.table'). Errors return raw messages with no actionable next steps for the LLM.
No tool annotations. Tools lack readOnlyHint, destructiveHint, or idempotentHint attributes. While both are read-only, explicit annotations align with the current MCP spec (2026-07-28) and help agents reason about safety.
Pagination not mentioned. The 'query' tool can return unbounded result sets, but there is no mention of limits, pagination, or result capping. Large result sets will bloat context and degrade LLM reasoning.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 69 | 2025-06-18+ | v2 |
| 2026-03-09 | F | 41 | - | v1 |
Minimal parameter descriptions. The 'sql' parameter description is a single line stating what to execute but not format constraints, length limits, or examples of valid fully-qualified names.