Neo4j for knowledge graphs

Our top pick for knowledge graphsOfficialNeo4j248

Neo4j's official server is the top pick for knowledge graphs, and it earns that because it talks to a purpose-built graph database in its native language. When your knowledge lives in Neo4j, the agent can run Cypher directly, traverse relationships, and match patterns rather than approximating a graph on top of tables.

The reason it leads the three is directness. Multi-hop questions, dependency chains, and structural reasoning are what Cypher and a native property graph do well, and this server exposes exactly that.

How Neo4j fits

get-schema introspects the graph first, returning labels, relationship types, and property keys so the agent understands the model before it queries. read-cypher runs read-only Cypher, enforced through EXPLAIN and Neo4j's query-type classification so it genuinely cannot mutate data; write-cypher handles mutations and is disabled when NEO4J_READ_ONLY is set, which gives you a clean read-only posture for exploration. list-gds-procedures surfaces the available Graph Data Science algorithms so the agent can discover them before composing a query that uses one.

The limit is scope: this is a graph server, so it fits when your knowledge is genuinely modeled as nodes and edges in Neo4j. SurrealDB is the sibling to consider when you want graph capability inside a multi-model store that also holds documents and other shapes. Memory is the lightweight entity-relation store, useful for a small agent-maintained knowledge graph rather than a production graph database. For real traversal and pattern matching over a dedicated graph, Neo4j is the strongest fit.

Tools you would use

ToolWhat it does
get-schemaIntrospects the graph: labels, relationship types, and property keys, so the agent understands the model before querying.
read-cypherExecutes read-only Cypher queries, enforced via EXPLAIN and Neo4j's query-type classification so they cannot modify data.
write-cypherExecutes write Cypher queries that mutate the graph. Disabled when NEO4J_READ_ONLY is set to true.
list-gds-proceduresLists the available Graph Data Science (GDS) procedures so the agent can discover algorithms before composing a query.
Full Neo4j setup and config →

FAQ

Can I keep the Neo4j server read-only for exploration?
Yes. read-cypher is read-only by construction, enforced via EXPLAIN and Neo4j's query-type classification, and write-cypher is disabled entirely when NEO4J_READ_ONLY is true. get-schema lets the agent learn the model before querying without any write access.
When would Memory or SurrealDB fit better than Neo4j?
Memory suits a small, agent-maintained entity-relation graph rather than a production database. SurrealDB fits when you want graph queries inside a multi-model store alongside documents. Neo4j leads when your knowledge lives in a dedicated property graph and you need real Cypher traversal.