@graphite-atlas/mcp-server 1.0.0

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.
Files changed (52) hide show
  1. package/EXAMPLES.md +501 -0
  2. package/LICENSE +21 -0
  3. package/README.md +440 -0
  4. package/dist/client.d.ts +272 -0
  5. package/dist/client.d.ts.map +1 -0
  6. package/dist/client.js +335 -0
  7. package/dist/client.js.map +1 -0
  8. package/dist/index.d.ts +16 -0
  9. package/dist/index.d.ts.map +1 -0
  10. package/dist/index.js +124 -0
  11. package/dist/index.js.map +1 -0
  12. package/dist/tools/analytics.d.ts +9 -0
  13. package/dist/tools/analytics.d.ts.map +1 -0
  14. package/dist/tools/analytics.js +374 -0
  15. package/dist/tools/analytics.js.map +1 -0
  16. package/dist/tools/atlases.d.ts +7 -0
  17. package/dist/tools/atlases.d.ts.map +1 -0
  18. package/dist/tools/atlases.js +132 -0
  19. package/dist/tools/atlases.js.map +1 -0
  20. package/dist/tools/batch.d.ts +10 -0
  21. package/dist/tools/batch.d.ts.map +1 -0
  22. package/dist/tools/batch.js +154 -0
  23. package/dist/tools/batch.js.map +1 -0
  24. package/dist/tools/brain-dump.d.ts +7 -0
  25. package/dist/tools/brain-dump.d.ts.map +1 -0
  26. package/dist/tools/brain-dump.js +98 -0
  27. package/dist/tools/brain-dump.js.map +1 -0
  28. package/dist/tools/index.d.ts +18 -0
  29. package/dist/tools/index.d.ts.map +1 -0
  30. package/dist/tools/index.js +29 -0
  31. package/dist/tools/index.js.map +1 -0
  32. package/dist/tools/mage.d.ts +10 -0
  33. package/dist/tools/mage.d.ts.map +1 -0
  34. package/dist/tools/mage.js +531 -0
  35. package/dist/tools/mage.js.map +1 -0
  36. package/dist/tools/paths.d.ts +7 -0
  37. package/dist/tools/paths.d.ts.map +1 -0
  38. package/dist/tools/paths.js +245 -0
  39. package/dist/tools/paths.js.map +1 -0
  40. package/dist/tools/points.d.ts +7 -0
  41. package/dist/tools/points.d.ts.map +1 -0
  42. package/dist/tools/points.js +225 -0
  43. package/dist/tools/points.js.map +1 -0
  44. package/dist/tools/validation.d.ts +9 -0
  45. package/dist/tools/validation.d.ts.map +1 -0
  46. package/dist/tools/validation.js +323 -0
  47. package/dist/tools/validation.js.map +1 -0
  48. package/dist/tools/views.d.ts +9 -0
  49. package/dist/tools/views.d.ts.map +1 -0
  50. package/dist/tools/views.js +335 -0
  51. package/dist/tools/views.js.map +1 -0
  52. package/package.json +62 -0
@@ -0,0 +1,335 @@
1
+ /**
2
+ * View Management Tools
3
+ *
4
+ * Tools for creating and managing views (filtered/organized perspectives of graph data)
5
+ */
6
+ import { z } from 'zod';
7
+ export function createViewTools(client) {
8
+ return [
9
+ // List views
10
+ {
11
+ name: 'list_views',
12
+ description: 'List all views in an atlas. Views are filtered/organized perspectives of your graph data.',
13
+ inputSchema: {
14
+ type: 'object',
15
+ properties: {
16
+ atlas_id: {
17
+ type: 'string',
18
+ description: 'The atlas ID to list views from',
19
+ },
20
+ },
21
+ required: ['atlas_id'],
22
+ },
23
+ async execute(args) {
24
+ const { atlas_id } = z.object({
25
+ atlas_id: z.string(),
26
+ }).parse(args);
27
+ const views = await client.listViews(atlas_id);
28
+ return {
29
+ views: views.map((v) => ({
30
+ id: v.id,
31
+ name: v.name,
32
+ description: v.description,
33
+ viewType: v.viewType,
34
+ parentId: v.parentId,
35
+ position: v.position,
36
+ isPublic: v.isPublic,
37
+ isDefault: v.isDefault,
38
+ pointCount: v.pointIds?.length || 0,
39
+ createdAt: v.createdAt,
40
+ })),
41
+ count: views.length,
42
+ };
43
+ },
44
+ },
45
+ // Get view
46
+ {
47
+ name: 'get_view',
48
+ description: 'Get details of a specific view including filters, visibility settings, and configuration',
49
+ inputSchema: {
50
+ type: 'object',
51
+ properties: {
52
+ atlas_id: {
53
+ type: 'string',
54
+ description: 'The atlas ID containing the view',
55
+ },
56
+ view_id: {
57
+ type: 'string',
58
+ description: 'The unique identifier of the view',
59
+ },
60
+ },
61
+ required: ['atlas_id', 'view_id'],
62
+ },
63
+ async execute(args) {
64
+ const { atlas_id, view_id } = z.object({
65
+ atlas_id: z.string(),
66
+ view_id: z.string(),
67
+ }).parse(args);
68
+ return await client.getView(atlas_id, view_id);
69
+ },
70
+ },
71
+ // Create view
72
+ {
73
+ name: 'create_view',
74
+ description: 'Create a new view to organize and filter graph data. Views can be maps, tables, or folders.',
75
+ inputSchema: {
76
+ type: 'object',
77
+ properties: {
78
+ atlas_id: {
79
+ type: 'string',
80
+ description: 'The atlas ID to create the view in',
81
+ },
82
+ name: {
83
+ type: 'string',
84
+ description: 'The name of the view',
85
+ },
86
+ description: {
87
+ type: 'string',
88
+ description: 'Optional description of the view purpose',
89
+ },
90
+ view_type: {
91
+ type: 'string',
92
+ enum: ['map', 'table', 'combo', 'folder'],
93
+ description: 'Type of view: map (graph), table (list), combo (both), or folder (container)',
94
+ },
95
+ parent_id: {
96
+ type: 'string',
97
+ description: 'Optional parent folder ID for hierarchical organization',
98
+ },
99
+ filters: {
100
+ type: 'object',
101
+ description: 'Optional filter configuration to limit what points/paths are shown',
102
+ },
103
+ is_public: {
104
+ type: 'boolean',
105
+ description: 'Whether the view is publicly accessible (default: false)',
106
+ },
107
+ },
108
+ required: ['atlas_id', 'name'],
109
+ },
110
+ async execute(args) {
111
+ const schema = z.object({
112
+ atlas_id: z.string(),
113
+ name: z.string(),
114
+ description: z.string().optional(),
115
+ view_type: z.enum(['map', 'table', 'combo', 'folder']).optional(),
116
+ parent_id: z.string().optional(),
117
+ filters: z.record(z.unknown()).optional(),
118
+ is_public: z.boolean().optional(),
119
+ });
120
+ const { atlas_id, name, description, view_type, parent_id, filters, is_public, } = schema.parse(args);
121
+ return await client.createView(atlas_id, {
122
+ name,
123
+ description,
124
+ viewType: view_type,
125
+ parentId: parent_id,
126
+ filters,
127
+ isPublic: is_public,
128
+ });
129
+ },
130
+ },
131
+ // Update view
132
+ {
133
+ name: 'update_view',
134
+ description: 'Update a view\'s configuration, filters, or visibility settings',
135
+ inputSchema: {
136
+ type: 'object',
137
+ properties: {
138
+ atlas_id: {
139
+ type: 'string',
140
+ description: 'The atlas ID containing the view',
141
+ },
142
+ view_id: {
143
+ type: 'string',
144
+ description: 'The unique identifier of the view',
145
+ },
146
+ name: {
147
+ type: 'string',
148
+ description: 'New name for the view',
149
+ },
150
+ description: {
151
+ type: 'string',
152
+ description: 'New description for the view',
153
+ },
154
+ filters: {
155
+ type: 'object',
156
+ description: 'Updated filter configuration',
157
+ },
158
+ visibility: {
159
+ type: 'object',
160
+ description: 'Point visibility map: { pointId: true/false }',
161
+ },
162
+ point_ids: {
163
+ type: 'array',
164
+ items: { type: 'string' },
165
+ description: 'Array of point IDs to include in the view',
166
+ },
167
+ },
168
+ required: ['atlas_id', 'view_id'],
169
+ },
170
+ async execute(args) {
171
+ const schema = z.object({
172
+ atlas_id: z.string(),
173
+ view_id: z.string(),
174
+ name: z.string().optional(),
175
+ description: z.string().optional(),
176
+ filters: z.record(z.unknown()).optional(),
177
+ visibility: z.record(z.boolean()).optional(),
178
+ point_ids: z.array(z.string()).optional(),
179
+ });
180
+ const { atlas_id, view_id, name, description, filters, visibility, point_ids, } = schema.parse(args);
181
+ return await client.updateView(atlas_id, view_id, {
182
+ name,
183
+ description,
184
+ filters,
185
+ visibility,
186
+ pointIds: point_ids,
187
+ });
188
+ },
189
+ },
190
+ // Delete view
191
+ {
192
+ name: 'delete_view',
193
+ description: 'Delete a view permanently (WARNING: This cannot be undone)',
194
+ inputSchema: {
195
+ type: 'object',
196
+ properties: {
197
+ atlas_id: {
198
+ type: 'string',
199
+ description: 'The atlas ID containing the view',
200
+ },
201
+ view_id: {
202
+ type: 'string',
203
+ description: 'The unique identifier of the view to delete',
204
+ },
205
+ },
206
+ required: ['atlas_id', 'view_id'],
207
+ },
208
+ async execute(args) {
209
+ const { atlas_id, view_id } = z.object({
210
+ atlas_id: z.string(),
211
+ view_id: z.string(),
212
+ }).parse(args);
213
+ await client.deleteView(atlas_id, view_id);
214
+ return {
215
+ success: true,
216
+ message: `View ${view_id} deleted successfully`,
217
+ };
218
+ },
219
+ },
220
+ // Toggle point visibility
221
+ {
222
+ name: 'toggle_point_visibility',
223
+ description: 'Show or hide a specific point in a view without removing it',
224
+ inputSchema: {
225
+ type: 'object',
226
+ properties: {
227
+ atlas_id: {
228
+ type: 'string',
229
+ description: 'The atlas ID',
230
+ },
231
+ view_id: {
232
+ type: 'string',
233
+ description: 'The view ID',
234
+ },
235
+ point_id: {
236
+ type: 'string',
237
+ description: 'The point ID to show/hide',
238
+ },
239
+ visible: {
240
+ type: 'boolean',
241
+ description: 'True to show the point, false to hide it',
242
+ },
243
+ },
244
+ required: ['atlas_id', 'view_id', 'point_id', 'visible'],
245
+ },
246
+ async execute(args) {
247
+ const { atlas_id, view_id, point_id, visible } = z.object({
248
+ atlas_id: z.string(),
249
+ view_id: z.string(),
250
+ point_id: z.string(),
251
+ visible: z.boolean(),
252
+ }).parse(args);
253
+ const visibility = await client.togglePointVisibility(atlas_id, view_id, point_id, visible);
254
+ return {
255
+ success: true,
256
+ visibility,
257
+ message: `Point ${point_id} is now ${visible ? 'visible' : 'hidden'}`,
258
+ };
259
+ },
260
+ },
261
+ // Add point to view
262
+ {
263
+ name: 'add_point_to_view',
264
+ description: 'Add a point to a view\'s point list',
265
+ inputSchema: {
266
+ type: 'object',
267
+ properties: {
268
+ atlas_id: {
269
+ type: 'string',
270
+ description: 'The atlas ID',
271
+ },
272
+ view_id: {
273
+ type: 'string',
274
+ description: 'The view ID',
275
+ },
276
+ point_id: {
277
+ type: 'string',
278
+ description: 'The point ID to add',
279
+ },
280
+ },
281
+ required: ['atlas_id', 'view_id', 'point_id'],
282
+ },
283
+ async execute(args) {
284
+ const { atlas_id, view_id, point_id } = z.object({
285
+ atlas_id: z.string(),
286
+ view_id: z.string(),
287
+ point_id: z.string(),
288
+ }).parse(args);
289
+ const pointIds = await client.addPointToView(atlas_id, view_id, point_id);
290
+ return {
291
+ success: true,
292
+ pointIds,
293
+ message: `Point ${point_id} added to view`,
294
+ };
295
+ },
296
+ },
297
+ // Remove point from view
298
+ {
299
+ name: 'remove_point_from_view',
300
+ description: 'Remove a point from a view\'s point list',
301
+ inputSchema: {
302
+ type: 'object',
303
+ properties: {
304
+ atlas_id: {
305
+ type: 'string',
306
+ description: 'The atlas ID',
307
+ },
308
+ view_id: {
309
+ type: 'string',
310
+ description: 'The view ID',
311
+ },
312
+ point_id: {
313
+ type: 'string',
314
+ description: 'The point ID to remove',
315
+ },
316
+ },
317
+ required: ['atlas_id', 'view_id', 'point_id'],
318
+ },
319
+ async execute(args) {
320
+ const { atlas_id, view_id, point_id } = z.object({
321
+ atlas_id: z.string(),
322
+ view_id: z.string(),
323
+ point_id: z.string(),
324
+ }).parse(args);
325
+ const pointIds = await client.removePointFromView(atlas_id, view_id, point_id);
326
+ return {
327
+ success: true,
328
+ pointIds,
329
+ message: `Point ${point_id} removed from view`,
330
+ };
331
+ },
332
+ },
333
+ ];
334
+ }
335
+ //# sourceMappingURL=views.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"views.js","sourceRoot":"","sources":["../../src/tools/views.ts"],"names":[],"mappings":"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"}
package/package.json ADDED
@@ -0,0 +1,62 @@
1
+ {
2
+ "name": "@graphite-atlas/mcp-server",
3
+ "version": "1.0.0",
4
+ "description": "Model Context Protocol server for Graphite Atlas",
5
+ "type": "module",
6
+ "main": "dist/index.js",
7
+ "bin": {
8
+ "graphite-mcp": "./dist/index.js"
9
+ },
10
+ "files": [
11
+ "dist",
12
+ "README.md",
13
+ "LICENSE",
14
+ "EXAMPLES.md"
15
+ ],
16
+ "scripts": {
17
+ "build": "tsc",
18
+ "watch": "tsc --watch",
19
+ "dev": "tsx src/index.ts",
20
+ "start": "node dist/index.js",
21
+ "lint": "eslint src --ext .ts",
22
+ "typecheck": "tsc --noEmit",
23
+ "test": "vitest",
24
+ "test:mcp": "./test-mcp.sh",
25
+ "test:interactive": "tsx test-mcp-interactive.ts",
26
+ "prepublishOnly": "npm run build"
27
+ },
28
+ "keywords": [
29
+ "mcp",
30
+ "model-context-protocol",
31
+ "graphite-atlas",
32
+ "knowledge-graph",
33
+ "claude"
34
+ ],
35
+ "author": "Graphite Atlas",
36
+ "license": "MIT",
37
+ "repository": {
38
+ "type": "git",
39
+ "url": "https://github.com/graphiteatlas/mcp.git"
40
+ },
41
+ "bugs": {
42
+ "url": "https://github.com/graphiteatlas/mcp/issues"
43
+ },
44
+ "homepage": "https://graphiteatlas.com",
45
+ "dependencies": {
46
+ "@modelcontextprotocol/sdk": "^0.5.0",
47
+ "axios": "^1.6.0",
48
+ "zod": "^3.22.4"
49
+ },
50
+ "devDependencies": {
51
+ "@types/node": "^20.11.0",
52
+ "@typescript-eslint/eslint-plugin": "^7.0.0",
53
+ "@typescript-eslint/parser": "^7.0.0",
54
+ "eslint": "^8.57.0",
55
+ "tsx": "^4.7.0",
56
+ "typescript": "^5.3.0",
57
+ "vitest": "^1.2.0"
58
+ },
59
+ "engines": {
60
+ "node": ">=18.0.0"
61
+ }
62
+ }