A unified Neo4j MCP server for GraphRAG: vector search, fulltext search, search-augmented Cypher queries, write operations, and multimodal image retrieval
Single-tool server with strong naming, comprehensive descriptions, and proper schema definition. Tool name 'get_neo4j_schema_and_indexes' follows verb-noun convention and clearly signals discovery purpose. Description is detailed (280+ chars) and includes actionable guidance about calling before search tools, property warnings, and token limits, well above median (194 chars). Parameter 'sample_size' has type definition and description. ToolAnnotations properly set (readOnlyHint=true, destructiveHint=false, idempotentHint=true, openWorldHint=true). However, no output schema is explicitly documented in the code snippet, only implied through the query logic (vector indexes, fulltext indexes, schema metadata, property size warnings). The implementation infers structure from Neo4j APOC calls but does not formally document the return type or field names for downstream tool composition. No error recovery guidance in the description (e.g., what to do if APOC is unavailable). Missing dependency documentation about Neo4j versions requiring APOC.
Returns Neo4j graph schema with search indexes and property size warnings. **IMPORTANT: Call this tool BEFORE using any search tools (vector_search, fulltext_search, search_cypher_query).** This tool provides: - Vector & fulltext indexes (for search) - Node/relationship schemas with property types - Warnings for large properties (helps choose efficient return_properties) Property size warnings help you avoid token limits when using search tools. For example, if a property has warning "avg ~100-200KB", avoid returning it unless necessary. You should only provide a `sample_size` value if requested by the user, or tuning performance.
Output schema not documented. Tool collects vector indexes, fulltext indexes, APOC schema metadata, and property size warnings, but no formal return type or field structure is visible in the code. Downstream tools (and LLMs) cannot predict the response structure to plan follow-up calls.
No error recovery guidance. Description mentions 'property size warnings' but does not document what happens if APOC is unavailable, if no indexes exist, or if the sample_size is invalid. Error handling should guide the LLM to retry or adjust parameters.
Dependency not declared. Tool relies on Neo4j APOC (apoc.meta.schema call), but no description mentions APOC version or installation requirement. If APOC is missing, users get a cryptic Neo4j error instead of 'APOC plugin required.'
Inferred effective spec: <=2025-11-25.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-22 | C | 60 | <=2025-11-25 | v2 |
| 2026-03-09 | F | 0 | - | v1 |