Skip to main content
Glama
alvaropaco

Neo4j MCP Server

by alvaropaco

Neo4j MCP Server

MCP server para operações abstratas de grafos Neo4j.

Deploy

# Build
cd neo4j-mcp && docker build -t neo4j-mcp:latest .

# Import to k3s
docker save neo4j-mcp:latest | k3s ctr images import -

# Apply (password set via existing K8s secret or env)
kubectl apply -f k8s/deployment.yaml

# Or set password directly:
kubectl create secret generic neo4j-mcp-secrets \
  --namespace=openclaw-instance-1 \
  --from-literal=NEO4J_URI=bolt://openclaw-instance-1-neo4j:7687 \
  --from-literal=NEO4J_USER=neo4j \
  --from-literal=NEO4J_PASSWORD=<your-password> \
  --dry-run=client -o yaml | kubectl apply -f -

Related MCP server: Neo4j GraphRAG MCP Server

Tools

Tool

Description

neo4j_search

Search nodes by label/properties or free-text

neo4j_insert

Create a node

neo4j_update

Update node properties

neo4j_delete

Delete nodes

neo4j_schema

Introspect schema

neo4j_query

Raw Cypher queries

neo4j_search_relationships

Search relationships

neo4j_insert_relationship

Create a relationship

Security

⚠️ Never commit real passwords. The deployment manifest uses a placeholder ${NEO4J_PASSWORD}. Set the actual password via Kubernetes secrets.

Available Tools

8 tools
neo4j_deleteA

Delete nodes matching label + match_properties.

Args: label: Node label to match. match_properties: Properties to identify the node(s). detach: If True, delete node even if it has relationships (DETACH DELETE).

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
detachNo
match_propertiesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.9/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries full burden. It discloses the DETACH DELETE behavior (detach parameter) but lacks details on irreversibility, required permissions, or impact on related data. Moderate transparency.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise: one introductory line plus a compact bullet list of parameters. Every sentence is necessary and no information is redundant or verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the output schema exists, the description adequately explains inputs. However, it could mention the return type (e.g., number of deleted nodes) or error cases. Still sufficient for a delete operation with a clear pattern.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

All three parameters (label, match_properties, detach) are explained in the description, adding clear meaning beyond the input schema (which has 0% coverage). The docstring provides explicit definitions and usage hints.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'delete' and the resource 'nodes' with matching criteria (label + match_properties). It unambiguously distinguishes from sibling tools like neo4j_insert, neo4j_update, and neo4j_query.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides no guidance on when to use this tool versus alternatives, no prerequisites, and no conditions for using the detach parameter. It simply describes the operation without contextual direction.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

neo4j_insertB

Create a node in Neo4j.

Args: label: Node label (e.g. "Comprovante", "Pessoa", "Categoria"). properties: Node properties as key-value pairs.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
propertiesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

B3.3/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description must disclose behavior. It only states the action (creating a node) but omits side effects (e.g., duplicate handling), authorization needs, or output expectations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is extremely concise with no wasted words. The purpose is front-loaded in the first sentence, and the parameter descriptions are brief yet functional.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple node creation tool with an output schema, the description covers basics but lacks details like idempotency, constraints, or return behavior. It is minimally viable but not comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The description adds examples for 'label' and clarifies 'properties' as key-value pairs, but schema coverage is 0% and the improvements over the schema are minimal. Baseline 3 applies due to low coverage and two parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Create a node in Neo4j', combining a specific verb with a resource. It distinguishes from sibling tools like neo4j_insert_relationship (relationships) and neo4j_query (read operations).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is provided on when to use this tool versus alternatives (e.g., when to create a node vs. a relationship). No exclusions or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

neo4j_insert_relationshipA

Create a relationship between two existing nodes (matched by label + properties).

Args: from_label: Label of the source node. from_properties: Properties to match the source node (must be unique). rel_type: Relationship type (e.g. "PAGOU", "PERTENCE"). to_label: Label of the target node. to_properties: Properties to match the target node (must be unique). rel_properties: Optional properties on the relationship itself.

ParametersJSON Schema
NameRequiredDescriptionDefault
rel_typeYes
to_labelYes
from_labelYes
to_propertiesYes
rel_propertiesNo
from_propertiesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.6/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description must cover behavioral traits. It only states that the relationship is created between existing nodes, but does not disclose what happens if nodes are not found, whether the operation is idempotent, or any side effects. This is insufficient for safe invocation.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise, uses a clear docstring format, and front-loads the action. The Args section is efficient, though not every sentence is essential. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return value documentation is not required. However, the description lacks information on error handling, constraints (e.g., relationship uniqueness), and success indicators. It is minimally complete for a tool with 6 parameters and no annotations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0%, so the description must compensate. It explains each parameter's purpose, notes that from_properties and to_properties must be unique, and clarifies rel_properties is optional. This adds significant meaning beyond the raw schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the verb 'create' and the resource 'relationship', and specifies that nodes are matched by label and properties. It distinguishes from siblings like 'neo4j_insert' (creates nodes) and 'neo4j_search_relationships' (searches relationships).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies the tool should be used when creating a relationship, but does not provide explicit guidance on when to use it versus alternatives (e.g., neo4j_insert for nodes, neo4j_update for modifying nodes). No exclusion criteria or prerequisites are mentioned.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

neo4j_queryA

Execute a raw Cypher query against Neo4j.

WARNING: This tool allows arbitrary Cypher execution. Use with caution. Prefer the structured tools (neo4j_search, neo4j_insert, etc.) when possible.

Args: query: Cypher query string. parameters: Optional query parameters. write: Set True for write queries (CREATE, MERGE, DELETE, SET, etc.).

ParametersJSON Schema
NameRequiredDescriptionDefault
queryYes
writeNo
parametersNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

While no annotations are provided, the description warns of arbitrary execution and explains the 'write' parameter for write queries. It does not disclose rate limits or auth needs, but for a direct query tool, the caution is sufficient.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise: a one-line summary, a warning, preference guidance, then argument details. It is well-structured and front-loaded with critical information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the presence of an output schema, the description covers purpose, when to use/avoid, parameter details, and safety warnings. It provides all necessary context for an AI agent to invoke the tool correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 0%, but the description explains each parameter in the Args section: query as Cypher string, parameters as optional, write as boolean for write operations. This adds significant meaning beyond the schema's minimal type info.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description explicitly states 'Execute a raw Cypher query against Neo4j.' This clearly defines the tool's function and distinguishes it from structured sibling tools like neo4j_search and neo4j_insert.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description includes a warning about arbitrary Cypher execution and explicitly advises 'Prefer the structured tools when possible.' This provides clear when-to-use and when-not-to-use guidance, naming specific alternatives.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

neo4j_schemaA

Introspect the Neo4j database schema.

Returns labels, relationship types, indexes, and constraints.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4.1/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries full burden. It discloses the tool's output but does not mention behavioral traits like non-destructiveness or performance considerations. For a simple read-only introspection tool, this is adequate but not exemplary.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two sentences, front-loaded with the main action, and contains no unnecessary words. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no parameters and an expected simple output (labels, relationship types, etc.), the description is fully complete for an agent to understand what the tool does and what it returns.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool has no parameters, so the description need not add parameter details. The baseline score of 4 is appropriate as there is no omission.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Introspect the Neo4j database schema' and specifies what it returns (labels, relationship types, indexes, constraints). It is easily distinguishable from sibling tools like neo4j_query or neo4j_insert which handle data manipulation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. While it is obvious that schema introspection differs from data operations, the description does not provide any when-to-use or when-not-to-use hints.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

neo4j_search_relationshipsA

Search for relationships (edges) in Neo4j.

Finds patterns (from_node)-[rel]->(to_node) matching the given filters.

Args: from_label: Label of the source node. from_properties: Property filters on the source node. rel_type: Relationship type to match (e.g. "PAGOU", "PERTENCE"). to_label: Label of the target node. to_properties: Property filters on the target node. limit: Maximum results (default 25, max 100).

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNo
rel_typeNo
to_labelNo
from_labelNo
to_propertiesNo
from_propertiesNo

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A4/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are present, so the description carries the full burden. It discloses the search pattern and filter capabilities, and mentions limit defaults/maximums. However, it does not describe side effects, permissions, or behavior when no results are found, leaving some transparency gaps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured with a one-line summary, the pattern, and an Args list. It is appropriately front-loaded. A minor improvement could be consolidating repeated references to the pattern, but overall it is clear and not verbose.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given an output schema exists, the description adequately covers search inputs without needing to detail return values. It provides all necessary filter information but could mention edge cases like empty results or handling of null property filters for full completeness.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The input schema has no property descriptions (0% coverage), so the description adds full meaning for all 6 parameters: from_label, from_properties, rel_type, to_label, to_properties, and limit (with default and max). This is critical for correct tool use.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches for relationships (edges) in Neo4j, specifying the exact pattern (from_node)-[rel]->(to_node). This distinguishes it from sibling tools like neo4j_search (which likely searches nodes) and neo4j_query (general Cypher queries).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for finding relationships matching filters, and sibling names provide context (e.g., neo4j_search for nodes). However, it does not explicitly state when to use this tool vs alternatives, nor does it mention prerequisites or exclusions.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

neo4j_updateA

Update properties on nodes matching label + match_properties.

Args: label: Node label to match. match_properties: Properties to identify the node(s). update_properties: Properties to set/update on matched nodes.

ParametersJSON Schema
NameRequiredDescriptionDefault
labelYes
match_propertiesYes
update_propertiesYes

Output Schema

ParametersJSON Schema
NameRequiredDescription
resultYes

TDQS

A3.5/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations provided, so the description must disclose behavioral details. It states 'Update properties' but does not specify if it overwrites entire properties, handles partial updates, or what happens if multiple nodes match. Missing mutation semantics and side effects.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is very concise, front-loading the core purpose and listing parameters in a structured Args format. Every sentence is valuable, no redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description covers the basic purpose and parameter roles, but lacks behavioral context (e.g., idempotency, multiple node handling). With an output schema present, return value details are not required, but usage guidelines and behavioral transparency are incomplete.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Despite 0% schema description coverage, the description's Args section clearly explains each parameter's role (label to match, properties to identify nodes, properties to set). This adds meaning beyond the schema's simple titles and types.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool updates properties on nodes matching a label and match_properties, specifying the verb and resource. It distinguishes from sibling tools like neo4j_delete or neo4j_insert, which serve different purposes.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No explicit guidance on when to use this tool versus alternatives. It implies usage for updating existing nodes, but lacks context on when to choose this over neo4j_search (to find nodes) or neo4j_query (for arbitrary updates).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 8 tool updatesv0.1.0
    • First observedneo4j_delete
    • First observedneo4j_insert
    • First observedneo4j_insert_relationship
    • First observedneo4j_query
    • First observedneo4j_schema
    • First observedneo4j_search
    • First observedneo4j_search_relationships
    • First observedneo4j_update

TDQS

A4.1/5.0

Scored across 8 tools

Disambiguation5/5

Each tool has a distinct purpose: create, read, update, delete operations for nodes and relationships, schema introspection, and raw query execution. No two tools overlap in functionality.

Naming Consistency5/5

All tools follow the consistent `neo4j_<verb>` pattern in snake_case, with verbs like delete, insert, search, update, etc. The pattern is predictable and easy to understand.

Tool Count5/5

8 tools cover the essential operations for a Neo4j database (CRUD, query, schema, search, relationship management) without being excessive or insufficient.

Completeness5/5

The toolset provides comprehensive coverage: node CRUD, relationship creation, update, search (by label/properties or free-text), relationship search, schema introspection, and raw Cypher for anything missing.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

  • MCP server unifying ERPs, CRMs, APIs and knowledge base for Claude, ChatGPT and Gemini.

  • The Grafbase MCP server sits in front of a GraphQL API and exposes an MCP protocol-compliant interface that allows AI agents and LLMs to explore and query GraphQL APIs using natural language. It provides tools to search schemas, introspect types and fields, and execute GraphQL queries while minimizing context bloat by returning only relevant schema subsets, with built-in support for authentication, authorization, and configurable access control.

  • The Remote MCP server acts as a standardized bridge between LLM applications (like Claude, ChatGPT, and Cursor) and external services, enabling AI agents to access external tools and resources. Its primary capability is providing a centralized search tool to discover other MCP servers and their respective tools. Unlike local implementations, it runs remotely with OAuth authentication and permission controls for security.

  • Public MCP server for the LLM Search Engine

Related MCP Servers

  • A
    license
    A
    quality
    C
    maintenance
    An MCP server that enables LLMs to perform semantic and fulltext searches within Neo4j while executing complex, search-augmented Cypher queries for GraphRAG applications. It provides tools for database schema discovery and supports multi-provider embeddings to facilitate advanced graph traversals.
    5
    2
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    MCP server for Neo4j graph database operations, enabling Cypher queries, node/relationship management, and schema discovery.
    1
    BSD 3-Clause

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/alvaropaco/neo4j-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server