1. Conduid
  2. Developer Tools
  3. Neo4j MCP
MCP server · Developer Tools

Neo4j MCP

MCP server for neo4j-mcp

Unclaimed BSD-3-Clause aicursormcp
59Fair

Scored 11 days ago · breakdown

About Neo4j MCP

Neo4j MCP is an MCP server published by lesleslie in the Developer Tools category: mCP server for neo4j-mcp.

The repository has 1 stars and 0 forks, with the last commit 25 days ago. Recent commit activity is the strongest signal that reported issues will get attention.

Install

From source
git clone https://github.com/lesleslie/neo4j-mcp

This server has no ConduID identity, so agent calls to it are not receipted. Pin the version you install and review the source before granting it credentials.

Tools (9)

create_nodeCreate a node with labels and properties

Parameters not published.

create_relationshipCreate a typed relationship between nodes

Parameters not published.

delete_nodeDelete a node by ID

Parameters not published.

delete_relationshipDelete a relationship by ID

Parameters not published.

find_nodesSearch nodes by labels and properties

Parameters not published.

find_pathsFind paths between two nodes

Parameters not published.

get_nodeRetrieve a node by ID

Parameters not published.

get_schemaRetrieve database schema details

Parameters not published.

run_cypherExecute a Cypher query

Parameters not published.

Ask AI

✦

Ask AI about Neo4j MCP

Powered by Claude · Grounded in docs

I know everything about Neo4j MCP. Ask me about installation, configuration, usage, or troubleshooting.

Security checks

Static checks derived from the repository 4 days ago. Heuristics on the source, not an audit.

  • ✓README presentThe repository ships documentation.
  • ✓License declaredUsable under a stated license.
  • ✓Tests presentA test suite exists in the repository.
  • ✓Dependencies pinnedA lockfile pins dependency versions.
  • ✓No dynamic code executionSource scan found no eval, dynamic Function, or shell execution.
  • !Scoped permissionsDoesn't declare a permission scope. Assume it can do anything its process can.

Releases

v0.4.2v0.4.2
v0.4.1v0.4.1
v0.4.0v0.4.0
v0.3.0v0.3.0

README

Neo4j MCP Server

uv

MCP server for Neo4j graph database operations.

Version: 0.2.0 Status: Standalone FastMCP server

Quick Links

Quality & CI

Crackerjack is the standard quality-control and CI/CD gate for Neo4j MCP changes. Local verification should mirror the Crackerjack workflow.


Overview

Neo4j MCP exposes graph database workflows through a FastMCP server. It gives agents a typed interface for Cypher execution, node and relationship management, path discovery, and schema inspection while preserving a narrow database client boundary.

Use this server when an agent needs to query or mutate graph data directly. Keep domain-specific graph policies in the calling system or a higher-level service layer rather than embedding them in generic Neo4j tools.

Capabilities

Implemented tool surface:

  • Cypher execution: run parameterized Cypher queries
  • Node management: create, retrieve, delete, and search nodes
  • Relationship management: create and delete relationships between nodes
  • Path discovery: find bounded paths between two nodes
  • Schema inspection: retrieve labels, relationship types, indexes, and constraints
  • Mock mode: exercise tool behavior without a live Neo4j connection
  • HTTP health routes: /health and /healthz for MCP client and process supervision checks

Quick Start

Prerequisites

  • Python 3.13+
  • UV package manager
  • Neo4j server for live access

Local Setup

git clone https://github.com/lesleslie/neo4j-mcp.git
cd neo4j-mcp
uv sync --group dev

Run In Mock Mode

export NEO4J_MCP_MOCK_MODE=true
uv run neo4j-mcp start
uv run neo4j-mcp health

Run With Neo4j

export NEO4J_MCP_URI="bolt://localhost:7687"
export NEO4J_MCP_USER="neo4j"
export NEO4J_MCP_PASSWORD="your-password"
export NEO4J_MCP_DATABASE="neo4j"
uv run neo4j-mcp start

The default HTTP bind is 127.0.0.1:3045.

CLI Commands

The CLI is built with mcp-common and provides the standard lifecycle command surface used by FastMCP servers.

uv run neo4j-mcp start      # Start the HTTP MCP server
uv run neo4j-mcp stop       # Stop the managed server process
uv run neo4j-mcp restart    # Restart the managed server process
uv run neo4j-mcp status     # Show process status
uv run neo4j-mcp health     # Run the local health probe

MCP Server Configuration

Claude / Codex Style Configuration

Add the server to an MCP client configuration:

{
  "mcpServers": {
    "neo4j": {
      "command": "uv",
      "args": ["run", "neo4j-mcp", "start"],
      "cwd": "<absolute-path-to-cloned-neo4j-mcp>",
      "env": {
        "NEO4J_MCP_URI": "bolt://localhost:7687",
        "NEO4J_MCP_USER": "neo4j",
        "NEO4J_MCP_PASSWORD": "your-password",
        "NEO4J_MCP_DATABASE": "neo4j"
      }
    }
  }
}

For tests or local client wiring, replace live connection values with NEO4J_MCP_MOCK_MODE=true.

Health Checks

curl http://127.0.0.1:3045/health
curl http://127.0.0.1:3045/healthz

Installation via Claude Code marketplace

This repo ships a Claude Code plugin manifest (.claude-plugin/plugin.json) plus a colocated .mcp.json and three slash commands in commands/. To install, register the www-mcp-servers marketplace with Claude Code, then install the plugin by name. Once installed, the slash commands /neo4j-cypher, /neo4j-schema, and /neo4j-find-nodes become available alongside the mcp__neo4j__* tools.

Tool Reference

Tool Purpose Required Inputs
run_cypher Execute a Cypher query query
create_node Create a node with labels and properties labels
get_node Retrieve a node by ID node_id
delete_node Delete a node by ID node_id
find_nodes Search nodes by labels and properties none
create_relationship Create a typed relationship between nodes type, start_node_id, end_node_id
delete_relationship Delete a relationship by ID relationship_id
find_paths Find paths between two nodes start_node_id, end_node_id
get_schema Retrieve database schema details none

Tool responses follow a consistent ToolResponse shape:

{
  "success": true,
  "message": "Query returned 3 records",
  "data": {},
  "error": null,
  "next_steps": []
}

Configuration

Committed defaults live in settings/neo4j.yaml. Runtime overrides should come from environment variables or a local .env file that is not committed.

Setting Environment Variable Default
Neo4j URI NEO4J_MCP_URI bolt://localhost:7687
User NEO4J_MCP_USER neo4j
Password NEO4J_MCP_PASSWORD empty
Database NEO4J_MCP_DATABASE neo4j
Max connection lifetime NEO4J_MCP_MAX_CONNECTION_LIFETIME 3600
Max pool size NEO4J_MCP_MAX_CONNECTION_POOL_SIZE 50
Connection timeout NEO4J_MCP_CONNECTION_TIMEOUT 30.0
Mock mode NEO4J_MCP_MOCK_MODE false
Enable HTTP transport NEO4J_MCP_ENABLE_HTTP_TRANSPORT false
HTTP host NEO4J_MCP_HTTP_HOST 127.0.0.1
HTTP port NEO4J_MCP_HTTP_PORT 3045
Log level NEO4J_MCP_LOG_LEVEL INFO
JSON logs NEO4J_MCP_LOG_JSON true

Project Structure

neo4j_mcp/
  __init__.py            # Package surface (__version__, model re-exports)
  __main__.py            # Module entry point (`python -m neo4j_mcp`)
  cli.py                 # mcp-common lifecycle CLI
  client.py              # Neo4j driver boundary
  config.py              # Pydantic settings and logging
  models.py              # Typed graph request and response models
  server.py              # FastMCP application factory
  tools/
    __init__.py          # Re-exports register_graph_tools
    graph_tools.py       # Registered MCP tools
settings/
  neo4j.yaml             # Committed defaults (documentation; see note below)
tests/

Note: settings/neo4j.yaml documents the operator-facing defaults but is not loaded by pydantic-settings at runtime — Neo4jSettings reads from the NEO4J_MCP_* environment variables and the .env file only. Use settings/neo4j.yaml as a reference when authoring your local .env.

Development

uv sync --group dev
uv run pytest
uv run ruff check neo4j_mcp tests
uv run ruff format neo4j_mcp tests
uv run mypy neo4j_mcp

Use targeted tests when isolating graph behavior:

uv run pytest tests -k graph -v

Security Notes

  • Do not commit Neo4j passwords or connection strings containing credentials.
  • Prefer parameterized Cypher through params when passing user-controlled values.
  • Treat run_cypher as a privileged tool because it can mutate data.
  • Use database permissions and separate users to constrain agent-accessible operations.

Built on Oneiric for runtime configuration and mcp-common for the FastMCP baseline. Crackerjack gates every commit.

README fetched from the repository 4 days ago. The original is authoritative.

Questions

About Neo4j MCP

How do I install Neo4j MCP?

No package has been published for this server, so install it from source: clone the repository and follow its README.

Is Neo4j MCP safe to use with an AI agent?

Its trust score is 59 out of 100 (fair). It passes 5 of the 6 static security checks run so far; the failures are listed above. It has no ConduID identity yet, so agent calls to it are not receipted.

Is Neo4j MCP still maintained?

Yes — the last commit was 25 days ago. The repository has 1 stars and 0 forks and 1 open issues.