MCP server for executing SQL queries and retrieving database schema from a PostgreSQL database
Two tools with minimal documentation. dbquery has a basic description (56 chars) and single string parameter with description, but no output schema documented. getschema has a minimal description (47 chars) and no parameters documented. Neither tool includes error handling guidance, recovery hints, or output structure documentation. Parameter descriptions exist but are sparse. No input validation constraints (enums, ranges, patterns) are declared. Security concerns: dbquery accepts arbitrary SQL with no injection protection or permission gating. Both tools open database connections on every call (inefficient). No idempotency guarantees or confirmation steps for destructive operations.
Execute SQL query on the connected database
Get the schema of the connected database
No output schema documented for either tool. LLMs cannot plan downstream calls or extract required fields. dbquery returns JSON array of maps; getschema returns nested object, neither is formally specified.
dbquery accepts arbitrary SQL with no input validation, SQL injection protection, or permission gating. Tool description does not warn of destructive capability or require confirmation. Violates security baseline.
getschema parameter documentation missing. Tool has no input parameters but this is not explicitly stated. Description does not explain what schema structure is returned or when to call it.
No error handling guidance. Both tools return raw error messages (e.g. 'could not open database: %v') without recovery hints. LLM cannot determine if error is retryable, user-fixable, or fatal.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 38 | 2026-07-28+ | v2 |
Database connection string exposed via viper config; no indication of secret injection pattern. If credentials are in environment, they should be documented as server-side injected, not user-provided.