Neo4j

by da-okazaki

53 stars
2.2k downloads
Not rated
GitHub

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

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:

  1. Download and install Highlight from highlightai.com/download
  2. Navigate to the plugins tab and select "Add Custom Plugin"
  3. Configure the plugin with the settings below
    Plugin Name Neo4j
    Command (node, npx, python, etc.) npx
    Arguments
    • 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.

  4. 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.

No reviews yet — be the first

Sign in to leave a review

Use Google, GitHub, or an email account so ratings stay tied to real people.

Email sign in

No reviews posted yet.