MCP server for Oracle databases — thin mode, no Instant Client required
Three tools with clear verb-noun naming (list_tables, describe_table, run_query) and good descriptions (100-150 chars each). All tools have input schemas with type definitions and parameter descriptions. However, output schemas are not formally documented, responses are returned as strings (JSON or formatted text) without explicit schema declarations. Error handling returns formatted error messages but lacks recovery guidance. No tool annotations (readOnlyHint, idempotentHint) despite all three being read-only. Parameter descriptions are adequate but could be more prescriptive about constraints (e.g., SQL validation rules for run_query).
Get detailed schema information for a table including column names, data types, nullability, and primary key constraints
List tables and views in Oracle database, optionally filtered by schema
Execute a read-only SQL query against the Oracle database. Only SELECT and WITH statements are allowed.
Output schemas not formally documented. All tools return strings (JSON or formatted text) without explicit schema declarations. LLMs cannot reliably parse or chain results.
No tool annotations despite all three tools being read-only. Missing readOnlyHint and idempotentHint annotations that would help agents understand safety and retry semantics.
run_query parameter 'sql' lacks explicit constraint documentation. Description mentions 'SELECT or WITH statements' but does not specify the validation mechanism or what happens if non-read-only SQL is submitted.
Error responses lack recovery guidance. Errors return formatted messages but do not suggest next steps (e.g., 'Table not found. Try list_tables() to see available tables.').
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 56 | <=2025-11-25 | v2 |
No pagination support for list_tables or run_query. Large result sets are capped at query_row_limit but no cursor/offset mechanism is exposed to the agent for iterating through results.