A Model Context Protocol server for Neo4j database operations using Server-Sent Events (SSE) transport, built with Spring Boot and Spring AI
Three tools with basic verb-noun naming (get-, read-, write-) but critical gaps in parameter descriptions and output schemas. All tools lack documented return types and parameter constraints. Descriptions are present but generic (10-50 chars). No input validation guidance, no error recovery hints, no pagination support despite potential for large result sets. Tool composition is reasonable (separate read/write), but schema documentation is minimal.
List all node types, their attributes and their relationships TO other node-types in the neo4j database
Execute a Cypher query on the neo4j database
Execute a write Cypher query on the neo4j database
No output schemas documented. LLMs cannot infer what fields to expect from query results, forcing them to guess at response structure and plan downstream operations blindly.
Parameter descriptions missing or trivial. 'Cypher read query to execute' and 'Cypher write query to execute' do not explain format constraints, expected structure, or error cases. LLMs cannot validate input before calling.
No pagination or result limits documented. Cypher queries can return thousands of rows; tool descriptions do not mention limits, offset/page parameters, or guidance on chunking large result sets.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | F | 46 | 2026-07-28+ | v2 |
No error recovery guidance. Tool descriptions do not explain what happens on query syntax errors, connection failures, or permission denials. LLMs receive raw Neo4j exceptions with no actionable next steps.
write-neo4j-cypher lacks confirmation/dry-run pattern. Destructive operations (DELETE, MERGE, CREATE) should support a dry-run or confirmation step to prevent accidental data loss.