neo4j-schema
About
A neo4j-schema
tool connects to a Neo4j database and extracts its complete schema information. It runs multiple queries concurrently to efficiently gather details about node labels, relationships, properties, constraints, and indexes.
The tool automatically detects if the APOC (Awesome Procedures on Cypher) library is available. If so, it uses APOC procedures like apoc.meta.schema
for a highly detailed overview of the database structure; otherwise, it falls back to using native Cypher queries.
The extracted schema is cached to improve performance for subsequent requests. The output is a structured JSON object containing all the schema details, which can be invaluable for providing database context to an LLM. This tool is compatible with a neo4j
source and takes no parameters.
Example
tools:
get_movie_db_schema:
kind: neo4j-schema
source: my-neo4j-movies-instance
description: |
Use this tool to get the full schema of the movie database.
This provides information on all available node labels (like Movie, Person),
relationships (like ACTED_IN), and the properties on each.
This tool takes no parameters.
# Optional configuration to cache the schema for 2 hours
cacheExpireMinutes: 120
Reference
field | type | required | description |
---|---|---|---|
kind | string | true | Must be neo4j-schema . |
source | string | true | Name of the source the schema should be extracted from. |
description | string | true | Description of the tool that is passed to the LLM. |
cacheExpireMinutes | integer | false | Cache expiration time in minutes. Defaults to 60. |