← Back to directory
N

Neo4j Cypher MCP Server

Community
An MCP server for running Cypher queries against a Neo4j database.
Category
Database #28 of 58
Stars
★ 988 Very popular
Transport
stdio (local process) · SSE · Streamable HTTP
Runtime
Python
Credentials
API key / credential required
License
MIT
Last commit
56FMRS · C

The Neo4j Cypher MCP Server is an experimental MCP server in the Neo4j Labs program, developed and maintained by the Neo4j Field GenAI team. It turns natural language into Cypher queries and executes read and write operations against a Neo4j database. It is distributed as the PyPI package mcp-neo4j-cypher (version 0.6.0) and supports STDIO, SSE, and Streamable HTTP transports. The APOC plugin must be installed and enabled on the Neo4j instance. Because it is a Labs project, it is not officially supported by the Neo4j product team, and there are no SLAs or backwards compatibility guarantees. Users should assess the impact of write operations on their data and protect credentials such as NEO4J_PASSWORD.

Strongest · Maintenance 13/20 Weakest · Reliability 8/20

Reliability
8/20
Security and permissions
11/20
Maintenance
13/20
Documentation
12/20
Setup experience
12/20
Why each score
Reliability 8/20
The manifest declares a stdio transport for the PyPI package mcp-neo4j-cypher 0.6.0, and the README describes schema retrieval plus read/write Cypher execution, consistent with the manifest description, so the happy path is plausible. However, this review saw only the manifest and repository-level README; no source files, committed tests, or CI workflows for the servers/mcp-neo4j-cypher subfolder were provided, so tool-list/behavior agreement and error controllability cannot be verified. Under the static calibration rule (no CI plus committed tests covering key paths means reliability must not exceed 12), the score is reduced to 8.
Security and permissions 11/20
The manifest correctly marks NEO4J_PASSWORD as isSecret, which is basic credential hygiene. But NEO4J_READ_ONLY is only an optional variable and the default is not disclosed as read-only, implying write Cypher (including potential deletions) is permitted by default, and neither manifest nor README documents any confirmation step for destructive operations. The connection also targets an external Neo4j URI, and data boundaries/egress are not described in the visible material. No red-line behavior was found (no malware, credential theft, covert exfiltration, real hard-coded tokens, or fabricated identity), so the 0-4 band does not apply; incomplete least-privilege and confirmation mechanics yield 11.
Maintenance 13/20
This is a Neo4j Labs project with a clear MIT license, a 0.6.0 version and ongoing releases evidenced in the manifest, 980 stars, 25 open issues, and not archived, indicating active development. However, the README explicitly states no SLA, no backward-compatibility guarantees, and no product-team support, and no security-response channel (e.g., SECURITY.md) is visible; per-subserver release cadence and dependency-update evidence are also absent. Score 13.
Documentation 12/20
The repository-level README covers purpose, an overview of the four servers, stdio/SSE/HTTP transport modes, HTTP launch flags with environment-variable examples, and links to a cloud deployment guide, so install and configuration information is usable. Yet server-specific tool parameters, response formats, limits for NEO4J_RESPONSE_TOKEN_LIMIT/READ_TIMEOUT/SCHEMA_SAMPLE_SIZE, cost, and troubleshooting require subfolder docs that were not visible here; the APOC dependency is mentioned but installation/troubleshooting steps are thin. Hidden assumptions remain, so 12.
Setup experience 12/20
The install path is clear: pip install mcp-neo4j-cypher and run over stdio, with README examples for HTTP mode commands and environment variables, plus the three required variables NEO4J_URI/USERNAME/PASSWORD and named support for mainstream clients (Claude Desktop, VS Code, Cursor, etc.). But directly copyable client config snippets are missing, and preparing a Neo4j instance and enabling the APOC plugin is not fully documented, requiring external docs; the process is usable but manual. Under static calibration (setup capped at 15) and with no execution evidence, score 12.

Static review · not runListed 2026-09-10

Read the FMRS scoring method →

Fit and risk

What it can accessConnects to a database

Best for

  • Developers who already run a Neo4j instance and want to query it in natural language
  • Users of MCP clients such as Claude Desktop, VS Code, Cursor, Windsurf, or Gemini CLI
  • Teams looking to connect a graph database to LLM workflows
  • Users comfortable with lab-stage experimental features and self-supported maintenance

Not for

  • Production users who need official product support, SLAs, or backwards compatibility guarantees
  • Neo4j instances where the APOC plugin cannot be installed or enabled (schema inspection will not work)
  • Users who only want the officially supported Neo4j MCP server
  • Users without an accessible Neo4j instance or database credentials

Required permissions

  • Read the configured Neo4j database and its schema
  • Execute read and write Cypher queries on the configured Neo4j database
  • Access Neo4j credentials, including NEO4J_URI, NEO4J_USERNAME, and the sensitive NEO4J_PASSWORD

Risks and side effects

  • This is an experimental Neo4j Labs project with no SLAs or backwards compatibility guarantees, and it may change between versions
  • Write Cypher queries can be executed by default, potentially modifying or deleting data in the database
  • NEO4J_PASSWORD is sensitive and can leak if misconfigured
  • The server is not officially supported by the Neo4j product team
  • Deploying in HTTP/SSE mode on a network may expose the endpoint to unauthorized access

Setup

Before you start

Runtime:Python

NEO4J_URI required Neo4j connection URI (e.g. neo4j://localhost:7687 or an Aura connection string), from your Neo4j instance.
NEO4J_USERNAME required Neo4j database username, usually 'neo4j'.
NEO4J_PASSWORD requiredsecret Neo4j database password; treat as a secret.
Other optional settings (10)
NEO4J_DATABASE optional Optional Neo4j database name; omit to use the default database.
NEO4J_NAMESPACE optional Optional prefix applied to tool names.
NEO4J_RESPONSE_TOKEN_LIMIT optional Optional maximum token count for read query responses.
NEO4J_READ_TIMEOUT optional Optional timeout in seconds for read queries.
NEO4J_READ_ONLY optional Optional; set to true to allow only read-only Cypher queries.
NEO4J_SCHEMA_SAMPLE_SIZE optional Optional sample size used for schema inspection.
NEO4J_TRANSPORT optional Optional; set to http for HTTP transport (default stdio).
NEO4J_MCP_SERVER_HOST optional Optional listen address when running in HTTP mode.
NEO4J_MCP_SERVER_PORT optional Optional listen port when running in HTTP mode.
NEO4J_MCP_SERVER_PATH optional Optional MCP endpoint path when running in HTTP mode.
  1. Install and enable the APOC plugin on your Neo4j instance (required for schema inspection).
  2. Install the PyPI package mcp-neo4j-cypher (version 0.6.0).
  3. Configure the required environment variables: NEO4J_URI (connection URI), NEO4J_USERNAME (username), and NEO4J_PASSWORD (password).
  4. Optionally configure: NEO4J_DATABASE (database name), NEO4J_NAMESPACE (tool namespace prefix), NEO4J_RESPONSE_TOKEN_LIMIT (maximum tokens for read query responses), NEO4J_READ_TIMEOUT (timeout in seconds for read queries), NEO4J_READ_ONLY (allow only read-only queries), and NEO4J_SCHEMA_SAMPLE_SIZE (schema sample size).
  5. STDIO is the default transport; for HTTP mode use the --transport http flag with --host, --port, and --path options, or set the NEO4J_TRANSPORT, NEO4J_MCP_SERVER_HOST, NEO4J_MCP_SERVER_PORT, and NEO4J_MCP_SERVER_PATH environment variables.
  6. Add the server to your MCP client and start using it.

Check that it works

Confirm the mcp-neo4j-cypher schema and Cypher query tools appear in your MCP client's tool list, then ask the assistant to 'show me the database schema'; returning Neo4j schema info proves the connection. The APOC plugin must be enabled on the Neo4j instance.

Troubleshooting

  1. Verify that the APOC plugin is installed and enabled on the Neo4j instance; otherwise schema inspection will not work
  2. Check that NEO4J_URI, NEO4J_USERNAME, and NEO4J_PASSWORD are configured correctly
  3. Confirm whether NEO4J_DATABASE is set; if omitted, a default database may be used
  4. Check NEO4J_READ_TIMEOUT, as read query timeouts may be caused by a value that is too short
  5. If responses are truncated, review the NEO4J_RESPONSE_TOKEN_LIMIT setting
  6. If write queries fail, confirm whether NEO4J_READ_ONLY is set to true
  7. In HTTP mode, verify that NEO4J_MCP_SERVER_HOST, NEO4J_MCP_SERVER_PORT, and NEO4J_MCP_SERVER_PATH match the client configuration

Things to try

Once connected, you can ask your AI assistant things like:

  • What is in this graph?
  • Show me the database schema
  • Query the top 10 node labels by frequency
  • Count all nodes using a read-only Cypher query

Use cases

Query data in a Neo4j graph database using natural language
Retrieve schema information for the configured database
Execute generated read Cypher queries against a Neo4j database
Execute generated write Cypher queries against a Neo4j database
Ask an AI assistant questions grounded in graph database content (e.g. what is in this graph)

Supported clients

Claude Desktop
VS CodePartial support
CursorPartial support
WindsurfPartial support
Gemini CLIPartial support

Listed from the project's documentation, not tested by this site.

Overview

The Neo4j Cypher MCP Server is one of the Neo4j Labs MCP servers, developed and maintained by the Neo4j Field GenAI team as an experimental project. It is not supported by the Neo4j product team and carries no SLAs or guarantees around backwards compatibility. The server gets the database schema for a configured database and executes generated read and write Cypher queries on that database. Through the Model Context Protocol, users can use natural language with MCP clients such as Claude Desktop, VS Code, Cursor, Windsurf, and Gemini CLI to interact with a Neo4j graph database. Note: schema inspection requires the APOC plugin to be installed and enabled on the Neo4j instance. The server is distributed as the PyPI package mcp-neo4j-cypher (version 0.6.0) and supports STDIO, SSE, and Streamable HTTP transport modes.

Similar servers

Source revision 1c7ad0793b5f Data synced 2026-10-19 Read the FMRS scoring method