CREATE, MERGE, DELETE, SET and DROP are rejected rather than discouraged, which is what makes this safe to point at a graph you care about. Two limits are set for you and worth knowing before a big query: a single query returns at most 1000 records and times out after 30 seconds, so ask the schema tools for shape first and save the broad query for when you know what you are looking for.
A Spring AI MCP server for Neo4j that gives an assistant safe read access to a graph database: arbitrary read Cypher, plus purpose-built tools for schema discovery and graph traversal.
- `executeCypher` for read-only queries, and `getDatabaseInfo` for version, statistics and schema in one call
- Schema discovery: `getNodeLabels`, `getRelationshipTypes`, `getPropertyKeys` and `getSchemaInfo` for constraints and indexes
- `findNodesByLabel` — nodes by label with property filtering and a result limit
- Traversal: `getRelationshipsBetweenNodes` for the links between two nodes, and `getNodeNeighborhood` for a node's neighbours to a given depth
- `searchNodesByText` — free-text search across node properties
- 10 tools in total, and the startup log prints the registered count so you can confirm they all loaded
Java 21+, Maven 3.6+ and a reachable Neo4j instance. Put the bolt URI, username, password and database name in application.properties, build with `./mvnw clean package -DskipTests`, and have the client launch the jar with `java -jar`.
