Production-ready, security-enhanced MCP server for Neo4j with LLM integration. Provides natural language to Cypher query translation and graph database querying capabilities using LangChain's GraphCypherQAChain.
Neo4j YASS MCP has 4 tools with clear verb-noun naming (query_graph, execute_cypher, refresh_schema, analyze_query_performance). Descriptions are present and substantive (100-200 chars), explaining WHAT each tool does and WHEN to use it. Input schemas are visible with type declarations and parameter descriptions. However, output schemas are not documented, LLMs cannot predict response structure for downstream chaining. Error handling guidance is absent; tools lack recovery hints. The execute_cypher tool accepts WRITE operations but provides no confirmation/dry-run pattern, violating the irreversible-operation safety rule. Parameter descriptions are adequate but lack format constraints (e.g., no enum for mode in analyze_query_performance, no regex for Cypher syntax validation).
Analyze the performance characteristics of a Cypher query. Provides detailed analysis including cost estimation, bottleneck identification, and optimization recommendations. Supports EXPLAIN and PROFILE modes for different levels of analysis detail.
Execute a raw Cypher query against the Neo4j database. Use this when you need precise control over the query or when natural language translation isn't suitable. This function runs asynchronously, allowing parallel query execution.
Query the Neo4j graph database using natural language. The LLM will automatically translate your natural language question into a Cypher query, execute it against the Neo4j database, and return the results in a human-readable format. This function runs asynchronously, allowing parallel query execution.
Refresh the Neo4j schema cache. Fetches the latest schema information from the database including node labels, relationship types, and properties. This is useful when the database schema has changed.
Output schemas not documented. LLMs cannot predict response structure (fields, types, pagination) for query_graph, execute_cypher, or analyze_query_performance. This breaks tool chaining and forces agents to guess field names.
execute_cypher accepts WRITE operations but lacks confirmation/dry-run pattern. Agents can accidentally delete or modify data without safeguards. No error guidance for recovery.
Parameter 'mode' in analyze_query_performance has enum constraint in schema but description does not explain the difference between 'explain' and 'profile' modes or when to use each.
No pagination support visible in query_graph or execute_cypher. Large result sets will blow context windows. No limit parameter or cursor guidance documented.
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 63 | <=2025-11-25 | v2 |
No error classification or recovery guidance. Tools lack actionable error messages (e.g., 'Cypher syntax error at line 3: invalid property name. Did you mean...?'). Agents cannot self-correct.