← Back to directory
N

Neo4j Cypher MCP Server

Community
An MCP server for running Cypher queries against a Neo4j database.
GitHub source repository ↗
★ 980 Stars Category · Database Very popular
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.

Reliability
8/20
Security and permissions
11/20
Maintenance
13/20
Documentation
12/20
Setup experience
12/20
Read the FMRS scoring method →

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.

Setup

  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.

Fit and risk

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

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

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 DesktopFull support
VS CodePartial support
CursorPartial support
WindsurfPartial support
Gemini CLIPartial support