MCP server for PostgreSQL database management
Three tools with complete schemas and basic descriptions, but significant gaps in parameter documentation and output schema clarity. All tools have descriptions (10-100 chars), but descriptions lack actionable context for LLM selection. Parameters are typed with enums where appropriate, but lack descriptions explaining their purpose and constraints. No output schemas documented. Error handling is minimal, generic error messages provide no recovery guidance. Tools follow verb_noun naming convention but descriptions are too terse to guide LLM reasoning about when to use each tool vs. alternatives.
Analyze PostgreSQL database configuration and performance
Debug common PostgreSQL issues
Get step-by-step PostgreSQL setup instructions
Parameter descriptions missing or incomplete. 'analysisType', 'platform', 'useCase', 'logLevel' lack descriptions explaining what they control and when to use each value. LLMs cannot infer parameter semantics from names alone.
Tool descriptions are too brief (30-100 chars) and lack actionable context. 'Analyze PostgreSQL database configuration and performance' does not explain WHEN to call this vs. debug_database, what prerequisites exist, or what the output structure is. Descriptions should be 50-200 chars with WHAT/WHEN/RETURN guidance.
Output schemas not documented. Tool handlers return JSON text blobs without specifying field names, types, or structure. LLMs cannot plan downstream calls or extract data reliably without knowing response schema.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 51 | 2026-07-28+ | v2 |
Error handling provides no recovery guidance. CallToolRequestSchema handler catches errors and returns generic 'Error: <message>' text. LLMs receive no classification (retryable vs. user-fixable vs. fatal) or actionable next steps.
connectionString parameter exposed as tool input. Credentials should never appear in tool parameters, they are logged in traces and prompt history. Use server-side secret injection via environment variables.