Neo4j MCP Server
Provides tools to connect to a Neo4j database, execute Cypher queries, retrieve database information, monitor connection status, and disconnect.
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@Neo4j MCP Serverfind all nodes labeled 'Movie'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
Neo4j MCP Server for Cursor
A Cursor MCP (Model Context Protocol) server that enables seamless interaction with Neo4j databases directly from the Cursor IDE.
Features
Connect to Neo4j databases
Execute Cypher queries and retrieve results
Transform Neo4j-specific data types to standard JavaScript objects
Uses the official MCP SDK with stdio transport for seamless integration with Cursor
Support for environment variables for secure credential management
Retrieve detailed database information and metrics
Monitor connection status and diagnostics
Prerequisites
Running Neo4j with Docker Compose
This project includes a Docker Compose configuration to easily run Neo4j in a container:
Make sure you have Docker and Docker Compose installed.
Start Neo4j using Docker Compose:
docker-compose up -dAccess the Neo4j Browser at http://localhost:7474
Default username:
neo4jDefault password:
your_password(as specified in the docker-compose.yml)
To stop Neo4j:
docker-compose downTo stop Neo4j and remove all data:
docker-compose down -v
Note: The default password in docker-compose.yml is set to
your_password. For production use, change this to a secure password and update your.envfile accordingly.
Installation
Clone this repository:
git clone https://github.com/yourusername/neo4j-mcp.git cd neo4j-mcpInstall dependencies:
bun installConfigure environment variables: Create a
.envfile in the root directory with your Neo4j credentials:NEO4J_URI=neo4j://localhost:7687 NEO4J_USERNAME=neo4j NEO4J_PASSWORD=your_password NEO4J_DATABASE=neo4j NODE_ENV=development
Usage
Starting the Server
The server uses stdio transport for communication with Cursor, so it should be started by Cursor itself. However, you can test it manually:
# Run directly
bun run index.ts
# Run with logging using the provided script
./run-mcp-server.shAvailable Tools
The MCP server exposes the following tools:
1. Connect to Neo4j with Explicit Credentials
Connects to a Neo4j database with the provided credentials.
Parameters:
uri: Neo4j database URI (e.g., neo4j://localhost:7687)username: Neo4j database usernamepassword: Neo4j database passworddatabase: (Optional) Neo4j database name
2. Connect to Neo4j with Environment Variables
Connects to a Neo4j database using credentials from environment variables.
No parameters required.
3. Execute a Cypher Query
Executes a Cypher query against the connected Neo4j database.
Parameters:
query: Cypher query to executeparams: (Optional) Query parameters
4. Get Database Information
Retrieves detailed information about the connected Neo4j database, including:
Neo4j version and edition
Database name
Node and relationship counts
Available labels
Relationship types
No parameters required.
5. Get Connection Status
Retrieves the current connection status, including:
Connection state (connected/disconnected)
Connection details (URI, database)
Connection time
Last error (if any)
No parameters required.
6. Disconnect from Neo4j
Disconnects from the Neo4j database.
No parameters required.
Environment Variables
The following environment variables can be set in a .env file:
Variable | Description | Default |
NEO4J_URI | Neo4j database URI | neo4j://localhost:7687 |
NEO4J_USERNAME | Neo4j database username | neo4j |
NEO4J_PASSWORD | Neo4j database password | (empty) |
NEO4J_DATABASE | Neo4j database name | (default database) |
NODE_ENV | Environment (development/production) | development |
Integration with Cursor
This MCP server is designed to be used with Cursor's MCP integration. Cursor will automatically detect and use the tools provided by this server.
Development
Project Structure
index.ts- Entry point that starts the MCP serversrc/mcpNeo4jServer.ts- MCP server implementation using the MCP SDKsrc/services/neo4jService.ts- Neo4j service for database operationssrc/types/index.ts- TypeScript type definitionssrc/utils/errorHandler.ts- Utility functions for error handling
Building for Production
To build the server for production:
# Build the server
bun build index.ts --outdir ./dist
# Make the output file executable
chmod +x ./dist/index.jsThe build process bundles all dependencies into a single JavaScript file, making it easy to distribute and run the server without installing dependencies.
Running the Server
You can run the server using the provided shell script:
./run-mcp-server.shThis script:
Sets the working directory to the script's location
Creates a logs directory if it doesn't exist
Runs the server using Bun and logs output to
logs/mcp-server.log
Note: The script requires Bun to be installed and available in your PATH.
License
MIT
This server cannot be installed
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/ezedinff/neo4j-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server