KEMBAR78
Neo4j Data Modeling MCP Server | Docker MCP Catalog
Neo4j Data Modeling

Neo4j Data Modeling

MCP server that assists in creating, validating and visualizing graph data models.

816

11 Tools

Packaged by
Add to Docker Desktop

Version 4.43 or later needs to be installed to add the server automatically

Use cases

About

Neo4j Data Modeling MCP Server

MCP server that assists in creating, validating and visualizing graph data models.

What is an MCP Server?

Characteristics

AttributeDetails
Docker Imagemcp/neo4j-data-modeling
Authorneo4j-contrib
Repositoryhttps://github.com/neo4j-contrib/mcp-neo4j
Dockerfilehttps://github.com/neo4j-contrib/mcp-neo4j/blob/main/servers/mcp-neo4j-data-modeling/Dockerfile
Docker Image built byDocker Inc.
Docker Scout Health ScoreDocker Scout Health Score
Verify SignatureCOSIGN_REPOSITORY=mcp/signatures cosign verify mcp/neo4j-data-modeling --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub
LicenceMIT License

Available Tools (11)

Tools provided by this ServerShort Description
export_to_arrows_jsonExport the data model to the Arrows web application format.
get_constraints_cypher_queriesGet the Cypher queries to create constraints on the data model.
get_example_data_modelGet an example graph data model from the available templates.
get_mermaid_config_strGet the Mermaid configuration string for the data model.
get_node_cypher_ingest_queryGet the Cypher query to ingest a list of Node records into a Neo4j database.
get_relationship_cypher_ingest_queryGet the Cypher query to ingest a list of Relationship records into a Neo4j database.
list_example_data_modelsList all available example data models with descriptions.
load_from_arrows_jsonLoad a data model from the Arrows web application format.
validate_data_modelValidate the entire data model.
validate_nodeValidate a single node.
validate_relationshipValidate a single relationship.

Tools Details

Tool: export_to_arrows_json

Export the data model to the Arrows web application format. Returns a JSON string. This should be presented to the user as an artifact if possible.

ParametersTypeDescription
data_modelstring

Tool: get_constraints_cypher_queries

Get the Cypher queries to create constraints on the data model. This creates range indexes on the key properties of the nodes and relationships and enforces uniqueness and existence of the key properties.

ParametersTypeDescription
data_modelstring

Tool: get_example_data_model

Get an example graph data model from the available templates. Returns a DataModel object and the Mermaid visualization configuration for the example graph data model.

ParametersTypeDescription
example_namestringName of the example to load: 'patient_journey', 'supply_chain', 'software_dependency', 'oil_gas_monitoring', 'customer_360', 'fraud_aml', or 'health_insurance_fraud'

Tool: get_mermaid_config_str

Get the Mermaid configuration string for the data model. This may be visualized in Claude Desktop and other applications with Mermaid support.

ParametersTypeDescription
data_modelstring

Tool: get_node_cypher_ingest_query

Get the Cypher query to ingest a list of Node records into a Neo4j database. This should be used to ingest data into a Neo4j database. This is a parameterized Cypher query that takes a list of records as input to the $records parameter.

ParametersTypeDescription
nodestringThe node to get the Cypher query for.

Tool: get_relationship_cypher_ingest_query

Get the Cypher query to ingest a list of Relationship records into a Neo4j database. This should be used to ingest data into a Neo4j database. This is a parameterized Cypher query that takes a list of records as input to the $records parameter. The records must contain the Relationship properties, if any, as well as the sourceId and targetId properties of the start and end nodes respectively.

ParametersTypeDescription
data_modelstringThe data model snippet that contains the relationship, start node and end node.
relationship_end_node_labelstringThe label of the relationship end node.
relationship_start_node_labelstringThe label of the relationship start node.
relationship_typestringThe type of the relationship to get the Cypher query for.

Tool: list_example_data_models

List all available example data models with descriptions. Returns a dictionary with example names and their descriptions.

Tool: load_from_arrows_json

Load a data model from the Arrows web application format. Returns a data model as a JSON string.

ParametersTypeDescription
arrows_data_model_dictobject

Tool: validate_data_model

Validate the entire data model. Returns True if the data model is valid, otherwise raises a ValueError. If return_validated is True, returns the validated data model.

ParametersTypeDescription
data_modelstring
return_validatedbooleanoptional

Tool: validate_node

Validate a single node. Returns True if the node is valid, otherwise raises a ValueError. If return_validated is True, returns the validated node.

ParametersTypeDescription
nodestring
return_validatedbooleanoptional

Tool: validate_relationship

Validate a single relationship. Returns True if the relationship is valid, otherwise raises a ValueError. If return_validated is True, returns the validated relationship.

ParametersTypeDescription
relationshipstring
return_validatedbooleanoptional

Use this MCP Server

{
  "mcpServers": {
    "neo4j-data-modeling": {
      "command": "docker",
      "args": [
        "run",
        "-i",
        "--rm",
        "-e",
        "NEO4J_TRANSPORT",
        "-e",
        "NEO4J_MCP_SERVER_HOST",
        "-e",
        "NEO4J_MCP_SERVER_PORT",
        "-e",
        "NEO4J_MCP_SERVER_PATH",
        "mcp/neo4j-data-modeling"
      ],
      "env": {
        "NEO4J_TRANSPORT": "http",
        "NEO4J_MCP_SERVER_HOST": "0.0.0.0",
        "NEO4J_MCP_SERVER_PORT": "8000",
        "NEO4J_MCP_SERVER_PATH": "/mcp/"
      }
    }
  }
}

Why is it safer to run MCP Servers with Docker?

Manual installation

You can install the MCP server using:

Installation for

Related servers