PostgreSQL database table analyzer MCP server
Single tool 'get-table-info' has critical gaps. Description is in Spanish and lacks English clarity for LLM selection. Input schema exists (clientId: string) but parameter description is missing entirely, violates pattern:tool-description. No output schema documented. Error handling returns unstructured text responses instead of actionable recovery guidance. Tool name is verb-noun compliant but parameter naming is ambiguous ('clientId' suggests a user/client lookup, but actually queries a database table by ID). No pagination, no result limits, no structured output. STDIO transport caps protocol readiness at 50.
Obtiene la información de una tabla en específico desde la base de datos PostgreSQL
Parameter 'clientId' lacks description. LLM cannot infer whether this is a user ID, client account ID, or database row ID. Violates pattern:tool-description requirement that every parameter must have a non-empty description.
No output schema documented. Tool returns unstructured JSON text wrapped in content blocks. LLM cannot plan downstream operations or extract specific fields. Violates pattern:tool requirement for documented return types.
Error handling returns plain text error messages without recovery guidance. 'Error al obtener información del cliente: ...' tells LLM nothing about whether to retry, ask user, or abandon. Violates pattern:recovery-guide.
Tool description is in Spanish ('Obtiene la información de una tabla...') but MCP servers must use English for LLM compatibility. Non-English descriptions reduce discoverability and LLM understanding.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 36 | 2026-07-28+ | v2 |
SQL query uses string interpolation for table name (SELECT * FROM ${tableName}), creating SQL injection risk if config.json is compromised. Violates pattern:tool-gateway (sanitize all agent-provided input).