All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, adheres to Semantic Versioning, and is generated by Changie.
- Fix compatibility issue to consumers that requires input schema properties to be defined, such as OpenAPI API.
- Reject GET requests with 405 Method Not Allowed for MCP spec compliance and better security.
- Allows listing tools without authentication if the environment variable
NEO4J_HTTP_ALLOW_UNAUTHENTICATED_TOOLS_LISTor argument `--neo4j-http-allow-unauth
- An incremental build, to release new build workflow.
-
Allow unauthenticated "ping" requests. Enable with the
NEO4J_HTTP_ALLOW_UNAUTHENTICATED_PINGenvironment variable or the--neo4j-http-allow-unauthenticated-pingCLI flag. -
Fix missing version string in HTTP metrics.
-
Fixed the type in argSlice preventing neo4j-http-auth-header-name from being parsed as expected.
- Add support for custom auth header configuration.
- Allow trailing slash for /mcp path
- The NEO4J_MCP_TRANSPORT environment variable is now deprecated in favour of NEO4J_TRANSPORT_MODE.
- Added bearer token support for MCP server.
- Telemetry events are now also emitted when the server is executed in HTTP mode. Previously only STDIO mode supported telemetry.
- Added support for GDS tools when HTTP mode is in use. GDS requirements are verified in lazy mode when credentials become available.
- Install CA certificates in Dockerfile to support HTTPS connections.
- In this release, we add the support for HTTP transport mode.
- HTTP Server Mode: Run neo4j-mcp as an HTTP server instead of STDIO. Use
--neo4j-transport-modehttp to enable it. Configure the server address with--neo4j-http-host 127.0.0.1 --neo4j-http-port 8080. - Per-Request Authentication & CORS: Each HTTP request authenticates independently. Control which clients can connect using
--neo4j-http-allowed-origins https://client.example.com,https://app.example.comfor granular access control. - Secure HTTPS Connections: Enable TLS/HTTPS for production. Use
--neo4j-http-tls-enabledtrue--neo4j-http-tls-cert-file /path/to/cert --neo4j-http-tls-key-file /path/to/keyto encrypt server communications.
- Removed "params" argument from the list of required arguments for tools such as read-cypher/write-cypher.
- Official 1.0.0 GA release of the Neo4j MCP server.
- The
get-schematool now returns a more concise, token-efficient JSON output. Thesample-sizeparameter is now configured via theNEO4J_SCHEMA_SAMPLE_SIZEenvironment variable. Alternatively the argument--neo4j-schema-sample-sizecan be used.
- Extend analytics insights with dbms.components information such as "Edition", "Neo4j version", "MCP Version", "Cypher Version"
- The server now performs comprehensive pre-flight checks to verify your environment, including Neo4j connection, query capabilities, APOC installation, and will gracefully start without GDS-specific tools if the GDS library is not found.
- Added unified structured logging with slog. Configurable via NEO4J_LOG_LEVEL and NEO4J_LOG_FORMAT environment variables
- Added CLI flags for configuration (--neo4j-uri, --neo4j-username, --neo4j-password, --neo4j-database, --neo4j-read-only, --neo4j-telemetry) that override environment variables. NEO4J_URI, NEO4J_USERNAME, and NEO4J_PASSWORD are now required environment variables (no defaults provided).
- Fixed the incorrect metrics used to identify when users are coming from Aura databases
- Added opt-out telemetry to collect anonymous usage data for product improvement.
- Reduced the
get-schemaoutput footprint by removing the empty and unusedlabelsJSON entry. - Adds a help command available using -h or --help.
- Add NEO4J_READ_ONLY env var to enable read-only mode. When enabled, only tools annotated as read-only are registered.
- Introduces a new tool,
list-gds-procedures, to list available Graph Data Science (GDS) procedures in a Neo4j database. This enhances the user experience within Neo4j MCP for GDS tasks by enabling LLMs to discover and utilize GDS graph algorithms.
- Renamed "run-cypher" to "write-cypher" and added "read-cypher". The new read-cypher enforces read-only Cypher queries and only accepts queries that do not modify data. It explicitly disallows admin/schema commands, write queries, and profiling queries using the PROFILE keyword.
- Enhanced MCP tool annotations by adding title, destructive, idempotent, and open-world hints for get-schema and run-cypher tools to improve client understanding and behavior
- Improve server discoverability and tool descriptions:
- Add server instructions to better describe the Neo4j MCP server capabilities
- Enhanced get-schema tool description to clarify behavior with empty databases
- Improved run-cypher tool description for better clarity
- Add specific message when get-schema is called on empty Neo4j database
- MCP server version is now returned when "-v" flag is passed. "neo4j-mcp -v"
- First pre-release of the Neo4j MCP server with two initial tools, "get-schema" for retrieving database schema information, "run-cypher" for executing Cypher.