Read-only SQL access to Cloudflare Durable Object storage via MCP
Three read-only tools with basic schemas and descriptions. All tools have input schemas with typed parameters and descriptions, meeting minimum requirements. However, descriptions are terse (10-80 chars), lacking context on WHEN to use each tool or dependencies between them. Output schemas are undocumented, LLMs cannot plan downstream calls. No error handling guidance. Tool naming is clear (verb_noun pattern) but lacks composition hints for multi-step workflows.
List tables and columns in a Durable Object instance SQLite database
Execute a read-only SQL query (SELECT, EXPLAIN, WITH) against a Durable Object instance SQLite database.
List queryable Durable Object classes
Output schemas undocumented. LLMs cannot infer what fields are returned or plan downstream calls. describe_schema and execute_read_query return unspecified structures.
Tool descriptions lack context on WHEN to use each tool or dependencies. 'List queryable Durable Object classes' does not explain that list_classes must be called before describe_schema or execute_read_query.
No error handling guidance. If a class_name or instance name is invalid, what error is returned? How should the LLM recover? No recovery hints provided.
Parameter descriptions lack format/constraint details. 'DO instance name (e.g. userId) or hex ID (64-char hex from dashboard)' uses examples instead of formal constraints. Should specify: 'string, 1-255 chars, alphanumeric + underscore, or 64-char hex'.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 52 | 2026-07-28+ | v2 |
execute_read_query accepts free-form SQL with only length constraint (max 10000 chars). No validation that query is read-only (SELECT/EXPLAIN/WITH only). LLM could pass UPDATE/DELETE and cause data loss.