MCP server that assists in creating, validating and visualizing graph data models.
10K+
MCP server that assists in creating, validating and visualizing graph data models.
| Attribute | Details |
|---|---|
| Docker Image | mcp/neo4j-data-modeling |
| Author | neo4j-contrib |
| Repository | https://github.com/neo4j-contrib/mcp-neo4j |
| Attribute | Details |
|---|---|
| Dockerfile | https://github.com/neo4j-contrib/mcp-neo4j/blob/dbc01ba78f171851f2d57dcd125b028c29912fd1/servers/mcp-neo4j-data-modeling/Dockerfile |
| Commit | dbc01ba78f171851f2d57dcd125b028c29912fd1 |
| Docker Image built by | Docker Inc. |
| Docker Scout Health Score | |
| Verify Signature | COSIGN_REPOSITORY=mcp/signatures cosign verify mcp/neo4j-data-modeling --key https://raw.githubusercontent.com/docker/keyring/refs/heads/main/public/mcp/latest.pub |
| Licence | MIT License |
| Tools provided by this Server | Short Description |
|---|---|
export_to_arrows_json | Export to Arrows JSON |
export_to_neo4j_graphrag_pkg_schema | Export to Neo4j GraphRAG Schema |
export_to_owl_turtle | Export to OWL Turtle |
export_to_pydantic_models | Export to Pydantic Models |
get_constraints_cypher_queries | Get Constraints Cypher Queries |
get_example_data_model | Get Example Data Model |
get_mermaid_config_str | Get Mermaid Config |
get_node_cypher_ingest_query | Get Node Cypher Ingest Query |
get_relationship_cypher_ingest_query | Get Relationship Cypher Ingest Query |
list_example_data_models | List Example Data Models |
load_from_arrows_json | Load from Arrows JSON |
load_from_neo4j_graphrag_pkg_schema | Load from Neo4j GraphRAG Schema |
load_from_owl_turtle | Load from OWL Turtle |
validate_data_model | Validate Data Model |
validate_node | Validate Node |
validate_relationship | Validate Relationship |
export_to_arrows_jsonExport 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. Accepts either a DataModel object or a JSON string of the DataModel object.
| Parameters | Type | Description |
|---|---|---|
data_model | string |
This tool is read-only. It does not modify its environment.
export_to_neo4j_graphrag_pkg_schemaExport a data model to a Neo4j Graphrag Python Package schema. Returns a dictionary containing the Neo4j Graphrag Python Package schema. Accepts either a DataModel object or a JSON string of the DataModel object.
| Parameters | Type | Description |
|---|---|---|
data_model | string |
This tool is read-only. It does not modify its environment.
export_to_owl_turtleExport a data model to an OWL Turtle string. This process is lossy since OWL does not support properties on relationships. Returns a string representation of the data model in OWL Turtle format. Accepts either a DataModel object or a JSON string of the DataModel object.
| Parameters | Type | Description |
|---|---|---|
data_model | string |
This tool is read-only. It does not modify its environment.
export_to_pydantic_modelsExport a data model to Pydantic models. Returns a string representation of the Pydantic models for the data model as a Python file. Accepts either a DataModel object or a JSON string of the DataModel object.
| Parameters | Type | Description |
|---|---|---|
data_model | string |
This tool is read-only. It does not modify its environment.
get_constraints_cypher_queriesGet 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. Accepts either a DataModel object or a JSON string of the DataModel object.
| Parameters | Type | Description |
|---|---|---|
data_model | string |
This tool is read-only. It does not modify its environment.
get_example_data_modelGet an example graph data model from the available templates. Returns a DataModel object and the Mermaid visualization configuration for the example graph data model.
| Parameters | Type | Description |
|---|---|---|
example_name | string | Name of the example to load: 'patient_journey', 'supply_chain', 'software_dependency', 'oil_gas_monitoring', 'customer_360', 'fraud_aml', or 'health_insurance_fraud' |
This tool is read-only. It does not modify its environment.
get_mermaid_config_strGet the Mermaid configuration string for the data model. This may be visualized in Claude Desktop and other applications with Mermaid support. Accepts either a DataModel object or a JSON string of the DataModel object.
| Parameters | Type | Description |
|---|---|---|
data_model | string |
This tool is read-only. It does not modify its environment.
get_node_cypher_ingest_queryGet 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.
| Parameters | Type | Description |
|---|---|---|
node | string | The node to get the Cypher query for. Accepts either a Node object or a JSON string of the Node object. |
This tool is read-only. It does not modify its environment.
get_relationship_cypher_ingest_queryGet 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.
| Parameters | Type | Description |
|---|---|---|
data_model | string | The data model snippet that contains the relationship, start node and end node. Accepts either a DataModel object or a JSON string of the DataModel object. |
relationship_end_node_label | string | The label of the relationship end node. |
relationship_start_node_label | string | The label of the relationship start node. |
relationship_type | string | The type of the relationship to get the Cypher query for. |
This tool is read-only. It does not modify its environment.
list_example_data_modelsList all available example data models with descriptions. Returns a dictionary with example names and their descriptions.
load_from_arrows_jsonLoad a data model from the Arrows web application format. Returns a data model as a JSON string.
| Parameters | Type | Description |
|---|---|---|
arrows_data_model_dict | object |
This tool is read-only. It does not modify its environment.
load_from_neo4j_graphrag_pkg_schemaLoad a data model from a Neo4j Graphrag Python Package schema. Returns a DataModel object. Accepts a Neo4j Graphrag Python Package schema dictionary.
| Parameters | Type | Description |
|---|---|---|
neo4j_graphrag_python_package_schema | object |
This tool is read-only. It does not modify its environment.
load_from_owl_turtleLoad a data model from an OWL Turtle string. This process is lossy and some components of the ontology may be lost in the data model schema. Returns a DataModel object.
| Parameters | Type | Description |
|---|---|---|
owl_turtle_str | string |
This tool is read-only. It does not modify its environment.
validate_data_modelValidate 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. Accepts either a DataModel object or a JSON string of the DataModel object.
| Parameters | Type | Description |
|---|---|---|
data_model | string | |
return_validated | boolean optional |
This tool is read-only. It does not modify its environment.
validate_nodeValidate a single node. Returns True if the node is valid, otherwise raises a ValueError. If return_validated is True, returns the validated node. Accepts either a Node object or a JSON string of the Node object.
| Parameters | Type | Description |
|---|---|---|
node | string | |
return_validated | boolean optional |
This tool is read-only. It does not modify its environment.
validate_relationshipValidate a single relationship. Returns True if the relationship is valid, otherwise raises a ValueError. If return_validated is True, returns the validated relationship. Accepts either a Relationship object or a JSON string of the Relationship object.
| Parameters | Type | Description |
|---|---|---|
relationship | string | |
return_validated | boolean optional |
This tool is read-only. It does not modify its environment.
{
"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",
"-e",
"NEO4J_MCP_SERVER_ALLOW_ORIGINS",
"-e",
"NEO4J_MCP_SERVER_ALLOWED_HOSTS",
"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/",
"NEO4J_MCP_SERVER_ALLOW_ORIGINS": "example.com,www.example.com",
"NEO4J_MCP_SERVER_ALLOWED_HOSTS": "localhost,127.0.0.1"
}
}
}
}
Content type
Image
Digest
sha256:3c72de00d…
Size
275.3 MB
Last updated
3 months ago
docker pull mcp/neo4j-data-modelingPulls:
490
Jul 6 to Jul 12