You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: servers/mcp-neo4j-data-modeling/README.md
+43-71Lines changed: 43 additions & 71 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -6,104 +6,76 @@ A Model Context Protocol (MCP) server implementation that provides tools for cre
6
6
7
7
## 🧩 Components
8
8
9
-
### 🛠️ Tools
9
+
### 📦 Resources
10
10
11
-
The server offers these core tools:
11
+
The server provides these resources:
12
12
13
-
#### 📊 Data Model Creation Tools
14
-
-`add_nodes`
15
-
- Add new nodes to the data model
16
-
- Input:
17
-
-`nodes` (list of Node objects): The nodes to add
18
-
-`data_model` (DataModel): Current data model
19
-
- Returns: Updated data model
13
+
-`resource://init`
14
+
- Create an empty data model to start with
15
+
- Returns: Empty DataModel with no nodes or relationships
20
16
21
-
-`add_relationships`
22
-
- Add new relationships to the data model
23
-
- Input:
24
-
-`relationships` (list of Relationship objects): The relationships to add
25
-
-`data_model` (DataModel): Current data model
26
-
- Returns: Updated data model
17
+
-`resource://schema/node`
18
+
- Get the JSON schema for a Node object
19
+
- Returns: JSON schema defining the structure of a Node
27
20
28
-
-`add_node_properties`
29
-
- Add properties to a specific node type
30
-
- Input:
31
-
-`node_label` (string): The label of the node to modify
32
-
-`properties` (list of Property objects): Properties to add
33
-
-`data_model` (DataModel): Current data model
34
-
- Returns: Updated data model
21
+
-`resource://schema/relationship`
22
+
- Get the JSON schema for a Relationship object
23
+
- Returns: JSON schema defining the structure of a Relationship
35
24
36
-
-`add_relationship_properties`
37
-
- Add properties to a specific relationship type
38
-
- Input:
39
-
-`relationship_type` (string): Type of relationship
40
-
-`start_node_label` (string): Label of start node
41
-
-`end_node_label` (string): Label of end node
42
-
-`properties` (list of Property objects): Properties to add
43
-
-`data_model` (DataModel): Current data model
44
-
- Returns: Updated data model
45
-
46
-
#### 🗑️ Data Model Modification Tools
47
-
-`remove_node`
48
-
- Remove a node from the data model
49
-
- Input:
50
-
-`node_label` (string): The label of the node to remove
51
-
-`data_model` (DataModel): Current data model
52
-
- Returns: Updated data model
25
+
-`resource://schema/property`
26
+
- Get the JSON schema for a Property object
27
+
- Returns: JSON schema defining the structure of a Property
53
28
54
-
-`remove_relationship`
55
-
- Remove a relationship from the data model
56
-
- Input:
57
-
-`relationship_type` (string): Type of relationship
58
-
-`start_node_label` (string): Label of start node
59
-
-`end_node_label` (string): Label of end node
60
-
-`data_model` (DataModel): Current data model
61
-
- Returns: Updated data model
62
-
63
-
-`remove_node_property`
64
-
- Remove a property from a node
65
-
- Input:
66
-
-`node_label` (string): The label of the node
67
-
-`property_name` (string): Name of property to remove
68
-
-`data_model` (DataModel): Current data model
69
-
- Returns: Updated data model
29
+
-`resource://schema/data_model`
30
+
- Get the JSON schema for a DataModel object
31
+
- Returns: JSON schema defining the structure of a DataModel
70
32
71
-
-`remove_relationship_property`
72
-
- Remove a property from a relationship
73
-
- Input:
74
-
-`relationship_type` (string): Type of relationship
75
-
-`start_node_label` (string): Label of start node
76
-
-`end_node_label` (string): Label of end node
77
-
-`property_name` (string): Name of property to remove
78
-
-`data_model` (DataModel): Current data model
79
-
- Returns: Updated data model
33
+
### 🛠️ Tools
34
+
35
+
The server offers these core tools:
80
36
81
37
#### ✅ Validation Tools
82
38
-`validate_node`
83
-
- Validate a single node
39
+
- Validate a single node structure
84
40
- Input:
85
41
-`node` (Node): The node to validate
86
-
- Returns: True if valid, error message if invalid
42
+
- Returns: True if valid, raises ValueError if invalid
87
43
88
44
-`validate_relationship`
89
-
- Validate a single relationship
45
+
- Validate a single relationship structure
90
46
- Input:
91
47
-`relationship` (Relationship): The relationship to validate
92
-
- Returns: True if valid, error message if invalid
48
+
- Returns: True if valid, raises ValueError if invalid
93
49
94
50
-`validate_data_model`
95
-
- Validate the entire data model
51
+
- Validate the entire data model structure
96
52
- Input:
97
53
-`data_model` (DataModel): The data model to validate
98
-
- Returns: True if valid, error message if invalid
54
+
- Returns: True if valid, raises ValueError if invalid
99
55
100
56
#### 👁️ Visualization Tools
101
57
-`visualize_data_model`
102
-
- Generate and open an interactive visualization of the data model
58
+
- Generate and open an interactive visualization of the data model in your browser
103
59
- Input:
104
60
-`data_model` (DataModel): The data model to visualize
105
61
- Returns: None (opens browser visualization)
106
62
63
+
#### 🔄 Import/Export Tools
64
+
65
+
These tools provide integration with **[Arrows](https://arrows.app/)** - a graph drawing web application for creating detailed Neo4j data models with an intuitive visual interface.
66
+
67
+
-`load_from_arrows_json`
68
+
- Load a data model from Arrows app JSON format
69
+
- Input:
70
+
-`arrows_data_model_dict` (dict): JSON dictionary from Arrows app export
71
+
- Returns: DataModel object
72
+
73
+
-`export_to_arrows_json`
74
+
- Export a data model to Arrows app JSON format
75
+
- Input:
76
+
-`data_model` (DataModel): The data model to export
0 commit comments