Interact with Neo4j using Cypher graph queries.
10K+
3 Tools
Version 4.43 or later needs to be installed to add the server automatically
Use cases
About
Interact with Neo4j using Cypher graph queries.
| Attribute | Details |
|---|---|
| Docker Image | mcp/neo4j-cypher |
| Author | neo4j-contrib |
| Repository | https://github.com/neo4j-contrib/mcp-neo4j |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/neo4j-contrib/mcp-neo4j/blob/fbf47061c5498d9c9af7f5530a87841cfb64d294/servers/mcp-neo4j-cypher/Dockerfile |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/neo4j-cypher --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
get_neo4j_schema | Get Neo4j Schema |
read_neo4j_cypher | Read Neo4j Cypher |
write_neo4j_cypher | Write Neo4j Cypher |
get_neo4j_schemaReturns nodes, their properties (with types and indexed flags), and relationships using APOC's schema inspection.
You should only provide a sample_size value if requested by the user, or tuning the retrieval performance.
Performance Notes:
- If sample_size is not provided, uses the server's default sample setting defined in the server configuration.
- If retrieving the schema times out, try lowering the sample size, e.g. sample_size=100.
- To sample the entire graph use sample_size=-1.
| Parameters | Type | Description |
|---|---|---|
sample_size | integeroptional | The sample size used to infer the graph schema. Larger samples are slower, but more accurate. Smaller samples are faster, but might miss information. |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
read_neo4j_cypherExecute a read Cypher query on the neo4j database.
| Parameters | Type | Description |
|---|---|---|
query | string | The Cypher query to execute. |
params | objectoptional | The parameters to pass to the Cypher query. |
This tool is read-only. It does not modify its environment.
This tool interacts with external entities.
write_neo4j_cypherExecute a write Cypher query on the neo4j database.
| Parameters | Type | Description |
|---|---|---|
query | string | The Cypher query to execute. |
params | objectoptional | The parameters to pass to the Cypher query. |
This tool may perform destructive updates.
This tool interacts with external entities.
{
"mcpServers": {
"neo4j-cypher": {
"command": "docker",
"args": [
"run",
"-i",
"--rm",
"-e",
"NEO4J_URL",
"-e",
"NEO4J_USERNAME",
"-e",
"NEO4J_DATABASE",
"-e",
"NEO4J_NAMESPACE",
"-e",
"NEO4J_TRANSPORT",
"-e",
"NEO4J_MCP_SERVER_HOST",
"-e",
"NEO4J_MCP_SERVER_PORT",
"-e",
"NEO4J_MCP_SERVER_PATH",
"-e",
"NEO4J_MCP_SERVER_ALLOW_ORIGINS",
"-e",
"NEO4J_MCP_SERVER_ALLOWED_HOSTS",
"-e",
"NEO4J_READ_TIMEOUT",
"-e",
"NEO4J_RESPONSE_TOKEN_LIMIT",
"-e",
"NEO4J_READ_ONLY",
"-e",
"NEO4J_SCHEMA_SAMPLE_SIZE",
"-e",
"NEO4J_PASSWORD",
"mcp/neo4j-cypher"
],
"env": {
"NEO4J_URL": "bolt://host.docker.internal:7687",
"NEO4J_USERNAME": "neo4j",
"NEO4J_DATABASE": "neo4j",
"NEO4J_NAMESPACE": "",
"NEO4J_TRANSPORT": "http",
"NEO4J_MCP_SERVER_HOST": "0.0.0.0",
"NEO4J_MCP_SERVER_PORT": "8000",
"NEO4J_MCP_SERVER_PATH": "/mcp/",
"NEO4J_MCP_SERVER_ALLOW_ORIGINS": "example.com,www.example.com",
"NEO4J_MCP_SERVER_ALLOWED_HOSTS": "localhost,127.0.0.1",
"NEO4J_READ_TIMEOUT": "30",
"NEO4J_RESPONSE_TOKEN_LIMIT": "10000",
"NEO4J_READ_ONLY": "false",
"NEO4J_SCHEMA_SAMPLE_SIZE": "1000",
"NEO4J_PASSWORD": "password"
}
}
}
}
Manual installation
You can install the MCP server using:
Installation for