Neo4j logo

Neo4j

Community
da-okazaki

mcp-neo4j-server

Publisherda-okazaki
Repositorymcp-neo4j-server
LanguageTypeScript
Forks
11
Stars
58
Available tools
0
Transport typestdio
Categories
LicenseMIT
Links
  • Connect tools to AI workflows

    Neo4j exposes MCP capabilities that can be used by compatible AI clients and agents.

  • 0 available tools

    Browse the callable actions below, including names and descriptions when provided by the server.

  • Ready-to-copy setup

    Use the installation snippets to configure this server in your preferred MCP client.

  • Open source signals

    58 stars and 11 forks from the linked repository.

MCP Neo4j Server

smithery badge

An MCP server that provides integration between Neo4j graph database and Claude Desktop, enabling graph database operations through natural language interactions.

Quick Start

You can run this MCP server directly using npx:

bash
npx @alanse/mcp-neo4j

Or add it to your Claude Desktop configuration:

json
{
  "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"
      }
    }
  }
}

Features

This server provides tools for interacting with a Neo4j database:

Neo4j Enterprise Support

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 the NEO4J_DATABASE environment variable.

Tools

  • 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

Installation

Installing via Smithery

To install MCP Neo4j Server for Claude Desktop automatically via Smithery:

bash
npx -y @smithery/cli install @alanse/mcp-neo4j-server --client claude

For Development

  1. Clone the repository:
bash
git clone https://github.com/da-okazaki/mcp-neo4j-server.git
cd mcp-neo4j-server
  1. Install dependencies:
bash
npm install
  1. Build the project:
bash
npm run build

Configuration

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

Usage Examples

Here are examples of how you can interact with the Neo4j database using natural language:

Connecting to a Specific Database

For Neo4j Enterprise users with multiple databases, you can specify which database to connect to:

json
{
  "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.

Querying Data

You can ask questions like:

  • "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?"

Example:

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)

Creating Data

You can give instructions like:

  • "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'"

Example:

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

Creating Relationships

You can request relationships like:

  • "Make John Doe friends with Jane Smith"
  • "Set Product A as a component of Product B"
  • "Assign John Doe to the Sales department"

Example:

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

Complex Operations

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"

Example:

User: "Find all products purchased by customers who live in New York"

Claude: I'll query the database for this information.

[Executes query internally:
MATCH (c:Customer {city: 'New York'})-[:PURCHASED]->(p:Product)
RETURN c.name, collect(p.name) as products]

Result:
- Alice Wilson: [Premium Coffee, Tea Set, Cookies]
- Bob Miller: [Premium Coffee, Water Bottle]

Testing

Run the test suite:

bash
npm test

License

MIT

Installation

TypingMind
Prerequisites:

Node.js 18+

{
  "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"
      }
    }
  }
}

Use Neo4j MCP with multiple AI models

TypingMind connects MCP tools at the workspace level, so once Neo4j is connected, you can use it with different AI models in TypingMind instead of setting it up separately for each model. This MCP runs locally through the TypingMind MCP connector on your device.

Setup guide to use the local connector

Use this when the MCP server needs access to local files, apps, or private resources on your computer.

1

Open the MCP settings

In TypingMind, go to Settings, Advanced Settings, then Model Context Protocol and choose Setup Connector.

  1. Open TypingMind in your browser.
  2. Click the Settings icon.
  3. Go to Advanced Settings.
  4. Open the Model Context Protocol section.
  5. Click Setup Connector and choose This Device.
TypingMind MCP connector setup screen with This Device selected
2

Run the connector command

Choose This Device, copy the command from TypingMind, and run it in Terminal. Keep the process running while you use MCP.

  1. Copy the setup command shown by TypingMind.
  2. Open Terminal on macOS or Windows Terminal on Windows.
  3. Paste and run the command.
  4. Approve the package install if Terminal asks you to proceed.
  5. Keep the Terminal window running while using MCP tools.
3

Add Neo4j as a server

When the connector status is Ready, click Edit Servers and paste the MCP server configuration.

  1. Wait until the connector status shows Ready.
  2. Click Edit Servers.
  3. Paste the Neo4j MCP server configuration.
  4. Save the server list.
  5. Refresh if you want to confirm the connector is still ready.
TypingMind MCP settings showing active server and Edit Servers button
{
  "mcpServers": {
    "neo4j": {
      "command": "npx",
      "args": [
        "-y",
        "@alanse/mcp-neo4j-server"
      ]
    }
  }
}
4

Use it across models

Save the server list, open Plugins, enable the Neo4j MCP tools, then select any supported AI model in TypingMind and use the tools in chat or assign them to an AI agent.

  1. Open the Plugins page in TypingMind.
  2. Enable the Neo4j MCP tools.
  3. Start a chat and choose the AI model you want to use.
  4. Use the MCP tools in chat or assign them to an AI agent.
  5. Switch to another AI model whenever needed without reconnecting MCP.
TypingMind chat using enabled MCP tools with a selected AI model
Can you use Neo4j to help me with this task?
Neo4j
Sure. I read it.
Here is what I found using Neo4j.

Frequently asked questions

What is the Neo4j MCP server used for?

Neo4j is an MCP server that lets compatible AI clients connect to external tools and context. In TypingMind, you can add this MCP server once and make its tools available in your AI workspace.

Can I use Neo4j MCP with multiple AI models in TypingMind?

Yes. TypingMind connects MCP tools at the workspace level, so you can use Neo4j with different AI models such as Claude, ChatGPT, Gemini, or other models you have configured in TypingMind without setting up the MCP server separately for each model.

Why use Neo4j MCP with TypingMind?

TypingMind is one of the best frontends for LLM chat because it brings multiple AI models, prompts, plugins, AI agents, API keys, and MCP tools into one workspace. With Neo4j connected, you can use its MCP tools across your preferred models while keeping your chat workflow organized in TypingMind.

How do I connect Neo4j MCP to TypingMind?

Neo4j runs through the TypingMind local MCP connector. This is best when the MCP server needs access to local files, desktop apps, command-line tools, or private resources on your computer.

What tools does Neo4j MCP provide in TypingMind?

Neo4j exposes MCP capabilities that can be enabled from the TypingMind Plugins page and used in chat or assigned to AI agents.

Do I need to share my API keys with TypingMind to use Neo4j MCP?

No. TypingMind is local-first and lets you keep your model providers, API keys, prompts, and MCP configuration under your control. If Neo4j requires authentication, add the required headers, OAuth settings, or local configuration for that MCP server when you create the connection.

Related MCP Servers

View all

Set up your own AI workspace now

Get notified about new features and future giveaways by subscribing to our newsletter 👇