Neo4j
About
Integrates with Neo4j graph databases to enable natural language querying, node creation, and complex graph operations for knowledge exploration and data relationship modeling.
Details
- Author
- da-okazaki
- Repository
- da-okazaki/mcp-neo4j-server
- GitHub stars
- 53
- Downloads
- 2,184
- License
- MIT License
- Categories
- Database, Other, Knowledge Base, Developer Tools, Design, AI, Community, Search, Frontend
Jump to
This server provides tools for interacting with a Neo4j database:
Setting up with Highlight
This MCP is not yet compatible with Highlight’s one-click setup. However, you can still use it with Highlight by following these steps:
- Download and install Highlight from highlightai.com/download
- Navigate to the plugins tab and select "Add Custom Plugin"
-
Configure the plugin with the settings below
Plugin Name
Neo4jCommand (node, npx, python, etc.)npxArguments-
Argument 1
@alanse/mcp-neo4j-server
Environment-
NEO4J_URI
bolt://localhost:7687 -
NEO4J_DATABASE
neo4j -
NEO4J_PASSWORD
your-password -
NEO4J_USERNAME
neo4j
Please refer to the README for specific instructions on how to obtain API keys or other required environment variables.
-
Argument 1
- Enable "Start Automatically" if you want the plugin to start when Highlight launches
From the repository
The server requires the following environment variables:
- NEO4J_URI: Neo4j database URI (default: bolt://localhost:7687)
- NEO4J_USERNAME: Neo4j username (default: neo4j)
- NEO4J_PASSWORD: Neo4j password (required)
- NEO4J_DATABASE: Neo4j database name (default: neo4j) - Use this to connect to a specific database in Neo4j Enterprise
To install MCP Neo4j Server for Claude Desktop automatically via Smithery:
npx -y @smithery/cli install @alanse/mcp-neo4j-server --client claude
Here are examples of how you can interact with the Neo4j database using natural language:
execute_query
Execute Cypher queries on the Neo4j database. Supports all types of Cypher queries (READ, CREATE, UPDATE, DELETE) and returns query results in a structured format. Parameters can be passed to prevent injection attacks.
create_node
Create a new node in the graph database by specifying node labels and properties. Returns the created node with its internal ID and supports all Neo4j data types for properties.
create_relationship
Create a relationship between two existing nodes. Define relationship type and direction, add properties to relationships, and requires node IDs for both source and target nodes.
- execute_query: Execute Cypher queries on the Neo4j database
- Supports all types of Cypher queries (READ, CREATE, UPDATE, DELETE)
- Returns query results in a structured format
- Parameters can be passed to prevent injection attacks
- create_node: Create a new node in the graph database
- Specify node labels and properties
- Returns the created node with its internal ID
- Supports all Neo4j data types for properties
- create_relationship: Create a relationship between two existing nodes
- Define relationship type and direction
- Add properties to relationships
- Requires node IDs for source and target nodes
Claude Desktop / Cursor
Paste into your MCP client config file to install this server.
{
"mcpServers": {
"neo4j": {
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_DATABASE": "neo4j",
"NEO4J_PASSWORD": "your-password",
"NEO4J_USERNAME": "neo4j"
},
"args": [
"@alanse/mcp-neo4j-server"
],
"command": "npx"
}
}
}
Linux
{
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_DATABASE": "neo4j",
"NEO4J_PASSWORD": "your-password",
"NEO4J_USERNAME": "neo4j"
},
"args": [
"@alanse/mcp-neo4j-server"
],
"command": "npx"
}
Macos
{
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_DATABASE": "neo4j",
"NEO4J_PASSWORD": "your-password",
"NEO4J_USERNAME": "neo4j"
},
"args": [
"@alanse/mcp-neo4j-server"
],
"command": "npx"
}
Windows
{
"env": {
"NEO4J_URI": "bolt://localhost:7687",
"NEO4J_DATABASE": "neo4j",
"NEO4J_PASSWORD": "your-password",
"NEO4J_USERNAME": "neo4j"
},
"args": [
"/c",
"npx",
"@alanse/mcp-neo4j-server"
],
"command": "cmd"
}
An MCP server that provides integration between Neo4j graph database and Claude Desktop, enabling graph database operations through natural language interactions.
You can run this MCP server directly using npx:
Or add it to your Claude Desktop configuration:
{ "mcpServers": { "neo4j": { "command": "npx", "args": ["@alanse/mcp-neo4j-server"], "env": { "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USERNAME": "neo4j", "NEO4J_PASSWORD": "your-password", "NEO4J_DATABASE": "neo4j" } } } }
This server provides tools for interacting with a Neo4j database:
This server now supports connecting to specific databases in Neo4j Enterprise Edition. By default, it connects to the "neo4j" database, but you can specify a different database using theNEO4J_DATABASEenvironment variable.
-
execute_query: Execute Cypher queries on the Neo4j database
- Supports all types of Cypher queries (READ, CREATE, UPDATE, DELETE)
- Returns query results in a structured format
- Parameters can be passed to prevent injection attacks
create_node: Create a new node in the graph database
- Specify node labels and properties
- Returns the created node with its internal ID
- Supports all Neo4j data types for properties
create_relationship: Create a relationship between two existing nodes
- Define relationship type and direction
- Add properties to relationships
- Requires node IDs for source and target nodes
To install MCP Neo4j Server for Claude Desktop automatically viaSmithery:
npx -y @smithery/cli install @alanse/mcp-neo4j-server --client claude
git clone https://github.com/da-okazaki/mcp-neo4j-server.git cd mcp-neo4j-server
The server requires the following environment variables:
- NEO4J_URI: Neo4j database URI (default: bolt://localhost:7687)
- NEO4J_USERNAME: Neo4j username (default: neo4j)
- NEO4J_PASSWORD: Neo4j password (required)
- NEO4J_DATABASE: Neo4j database name (default: neo4j) - Use this to connect to a specific database in Neo4j Enterprise
Here are examples of how you can interact with the Neo4j database using natural language:
For Neo4j Enterprise users with multiple databases, you can specify which database to connect to:
{ "env": { "NEO4J_URI": "bolt://localhost:7687", "NEO4J_USERNAME": "neo4j", "NEO4J_PASSWORD": "your-password", "NEO4J_DATABASE": "myCustomDatabase" } }
This will connect to "myCustomDatabase" instead of the default "neo4j" database.
- "Show me all employees in the Sales department"
- "Find the top 5 oldest customers"
- "Who has purchased more than 3 products in the last month?"
User: "Show me all employees in the Sales department" Claude: Let me query the database for Sales department employees. [Executes query internally: MATCH (e:Employee)-[:WORKS_IN]->(d:Department {name: 'Sales'}) RETURN e.name, e.position] Result: - John Smith (Sales Manager) - Sarah Johnson (Sales Representative) - Mike Brown (Account Executive)
- "Add a new person named John Doe who is 30 years old"
- "Create a product called 'Premium Coffee' with price $24.99"
- "Add a new department called 'Research & Development'"
User: "Add a new person named John Doe who is 30 years old" Claude: I'll create a new Person node with the provided information. [Creates node internally with label 'Person' and properties {name: 'John Doe', age: 30}] Result: Created new person node with ID: 123
- "Make John Doe friends with Jane Smith"
- "Set Product A as a component of Product B"
- "Assign John Doe to the Sales department"
User: "Make John Doe friends with Jane Smith" Claude: I'll create a friendship relationship between these two people. [Creates relationship internally: MATCH (a:Person {name: 'John Doe'}), (b:Person {name: 'Jane Smith'}) CREATE (a)-[:FRIENDS_WITH {since: '2024-01-05'}]->(b)] Result: Created friendship relationship between John Doe and Jane Smith
You can perform more complex operations with natural language:
- "Find all products purchased by customers who live in New York"
- "Show me friends of friends of John Doe"
- "Calculate the average age of employees in each department"
Neo4j graph database server (schema + read/write-cypher) and separate graph database backed memory
Query and interact with FalkorDB graph databases using AI models.
Query a Neo4j graph database containing a knowledge graph of German family businesses.
Query a hybrid graph (Neo4j) and vector (Qdrant) database for powerful semantic and graph-based document retrieval.
Connects to Neo4j graph databases with ability to use GDS functions ( when available), a read only mode , and set the sample size for schema detection
A scalable knowledge graph memory system for LLMs with semantic retrieval and temporal awareness, using Neo4j as a backend.
MCP server for Neo4j — run Cypher queries, explore schema, and inspect database info over stdio
A knowledge graph memory server using the Neo4j graph database to store and retrieve information from AI interactions.
Interact with and explore graph data in a Neo4j database.
Sign in to leave a review
Use Google, GitHub, or an email account so ratings stay tied to real people.
No reviews posted yet.





