@graphite-atlas/mcp-server 1.2.1 → 1.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client.js +1 -1
- package/dist/tools/query.js +15 -15
- package/package.json +1 -1
package/dist/client.js
CHANGED
|
@@ -12,7 +12,7 @@ export class GraphiteAtlasClient {
|
|
|
12
12
|
headers: {
|
|
13
13
|
Authorization: `Bearer ${config.accessToken}`,
|
|
14
14
|
"Content-Type": "application/json",
|
|
15
|
-
"User-Agent": "graphite-atlas-mcp/1.2.
|
|
15
|
+
"User-Agent": "graphite-atlas-mcp/1.2.2",
|
|
16
16
|
"X-Graphite-Source": "mcp",
|
|
17
17
|
},
|
|
18
18
|
timeout: 30000, // 30 second timeout
|
package/dist/tools/query.js
CHANGED
|
@@ -43,17 +43,17 @@ The atlas_id is automatically injected as the $atlasId parameter — use it in y
|
|
|
43
43
|
|
|
44
44
|
Only read-only queries are allowed (MATCH, RETURN, WITH, WHERE, ORDER BY, LIMIT, UNWIND, OPTIONAL MATCH). Write operations (CREATE, MERGE, DELETE, SET) are blocked.
|
|
45
45
|
|
|
46
|
-
|
|
46
|
+
CYPHER SCHEMA:
|
|
47
47
|
|
|
48
|
-
|
|
49
|
-
- :Point — all
|
|
50
|
-
- :Atlas — the atlas container
|
|
51
|
-
- :Class —
|
|
48
|
+
Cypher labels (used in MATCH patterns):
|
|
49
|
+
- :Point — all points in the atlas (people, processes, systems, etc.)
|
|
50
|
+
- :Atlas — the atlas container (one per atlas)
|
|
51
|
+
- :Class — ontology type definitions (internal, rarely needed)
|
|
52
52
|
|
|
53
|
-
|
|
54
|
-
- :PATH — all
|
|
55
|
-
- :CONTAINS — structural
|
|
56
|
-
- :INSTANCE_OF — links a Point to its Class
|
|
53
|
+
Cypher relationship types (used in path patterns):
|
|
54
|
+
- :PATH — all paths between points (has_role, reports_to, has_step, etc.). The specific path type is stored in the 'type' property, NOT as a separate Cypher type.
|
|
55
|
+
- :CONTAINS — structural link from Atlas to its Points (every point belongs to an atlas)
|
|
56
|
+
- :INSTANCE_OF — links a Point to its ontology Class (internal, rarely needed)
|
|
57
57
|
|
|
58
58
|
Point properties:
|
|
59
59
|
- id (string) — unique identifier
|
|
@@ -70,20 +70,20 @@ Point properties:
|
|
|
70
70
|
- updatedAt (string) — ISO timestamp
|
|
71
71
|
- deletedAt (string, optional) — soft delete timestamp (filter with WHERE p.deletedAt IS NULL)
|
|
72
72
|
|
|
73
|
-
|
|
73
|
+
Path properties:
|
|
74
74
|
- id (string) — unique identifier
|
|
75
|
-
- type (string) —
|
|
75
|
+
- type (string) — path type from ontology (has_role, reports_to, followed_by, etc.)
|
|
76
76
|
- name (string) — same as type
|
|
77
|
-
- description (string, optional) — context for this specific
|
|
77
|
+
- description (string, optional) — context for this specific path
|
|
78
78
|
- properties (JSON string, optional) — arbitrary key-value pairs
|
|
79
79
|
- createdAt, updatedAt, deletedAt — same as points
|
|
80
80
|
|
|
81
81
|
IMPORTANT PATTERNS:
|
|
82
|
-
- Always
|
|
82
|
+
- Always scope to the atlas: MATCH (p:Point {atlasId: $atlasId})
|
|
83
83
|
- Always exclude soft-deleted: WHERE p.deletedAt IS NULL
|
|
84
|
-
- Filter
|
|
84
|
+
- Filter paths by type: WHERE r.type = 'has_role'
|
|
85
85
|
- The standard traversal: MATCH (a:Atlas {id: $atlasId})-[:CONTAINS]->(p:Point)
|
|
86
|
-
- No result size limit is enforced server-side — use LIMIT in your queries to avoid
|
|
86
|
+
- No result size limit is enforced server-side — use LIMIT in your queries to avoid large result sets
|
|
87
87
|
|
|
88
88
|
Example queries:
|
|
89
89
|
|