MCP server for interacting with Neon Management API and databases
23 tools with consistent verb-noun naming (list_, create_, delete_, describe_, run_, get_, explain_, prepare_, complete_). All tools have descriptions (avg ~80 chars, within baseline 34-392). Input schemas present for all tools with typed parameters and descriptions. However, output schemas are NOT documented, LLMs cannot predict response structure. Error handling is minimal; no recovery guidance or actionable error messages visible. Missing tool annotations (readOnlyHint, destructiveHint, idempotentHint) despite clear risk levels. Parameter descriptions are adequate but lack format constraints (e.g., no regex patterns, min/max for numeric fields). No confirmation/dry-run pattern for destructive operations (delete_project, delete_branch).
Complete a database migration and merge changes to main branch
Complete query tuning by applying suggested changes
Create a new branch in a Neon project
Create a new project in Neon
Delete a branch from a Neon project
Delete a project from Neon
Get detailed information about a branch
Get detailed information about a project including its branches
Output schemas not documented. LLMs cannot predict response structure, forcing them to guess field names and types for downstream tool chaining. This violates pattern:tool and pattern:response-shaper.
Destructive operations (delete_project, delete_branch) lack confirmation/dry-run pattern. No error guidance for recovery. Agents can irreversibly delete resources without safeguards.
Tool annotations missing. Risk levels (READ_ONLY, WRITE, DESTRUCTIVE, REVERSIBLE) are documented in metadata but not exposed as tool annotations (readOnlyHint, destructiveHint, idempotentHint). Agents cannot infer safety properties from tool definitions.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | <=2025-11-25 | v2 |
Get the schema and column information for a specific table
Analyze a SQL statement using EXPLAIN
Get a connection string for connecting to a Neon database
List all tables in a database
List all compute endpoints for a branch
List all organizations the user belongs to
List all projects in the user's account, with optional search and pagination
List projects shared with the user
List slow queries from a database
Prepare a database migration by creating a temporary branch
Prepare query tuning by analyzing a SQL statement and creating a temporary branch
Provision Neon Auth for a project
Reset a branch to match its parent branch state
Execute a SQL query against a Neon database
Execute multiple SQL statements as a transaction
Parameter constraints not formalized. Numeric parameters (limit, minExecutionTime) lack min/max bounds in schema. String parameters lack regex patterns or length constraints. LLMs may pass invalid values (e.g., limit=999999).
Error handling not visible in tool definitions. No guidance on retryability, user-fixable vs fatal errors, or recovery steps. Agents will not know how to respond to failures.