@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 @@
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/client.js ADDED
@@ -0,0 +1,335 @@
1
+ /**
2
+ * Graphite Atlas API Client
3
+ *
4
+ * Handles all HTTP communication with the Graphite Atlas API.
5
+ */
6
+ import axios from 'axios';
7
+ export class GraphiteAtlasClient {
8
+ axios;
9
+ constructor(config) {
10
+ this.axios = axios.create({
11
+ baseURL: config.apiUrl,
12
+ headers: {
13
+ 'Authorization': `Bearer ${config.accessToken}`,
14
+ 'Content-Type': 'application/json',
15
+ },
16
+ timeout: 30000, // 30 second timeout
17
+ });
18
+ // Add response interceptor for better error handling
19
+ this.axios.interceptors.response.use((response) => response, (error) => {
20
+ if (error.response) {
21
+ // Server responded with error status
22
+ const data = error.response.data;
23
+ const message = data?.error?.message || data?.message || error.message;
24
+ throw new Error(`API Error (${error.response.status}): ${message}`);
25
+ }
26
+ else if (error.request) {
27
+ // Request made but no response
28
+ throw new Error(`Network Error: No response from server`);
29
+ }
30
+ else {
31
+ // Something else went wrong
32
+ throw new Error(`Request Error: ${error.message}`);
33
+ }
34
+ });
35
+ }
36
+ /**
37
+ * Health check to verify API connectivity
38
+ */
39
+ async healthCheck() {
40
+ await this.axios.get('/api/health');
41
+ }
42
+ // ========================================================================
43
+ // Atlas Operations
44
+ // ========================================================================
45
+ /**
46
+ * List all atlases for the authenticated user
47
+ */
48
+ async listAtlases() {
49
+ const response = await this.axios.get('/api/atlas');
50
+ return response.data.data || response.data;
51
+ }
52
+ /**
53
+ * Get a specific atlas by ID
54
+ */
55
+ async getAtlas(atlasId) {
56
+ const response = await this.axios.get(`/api/atlas/${atlasId}`);
57
+ return response.data.data || response.data;
58
+ }
59
+ /**
60
+ * Create a new atlas
61
+ */
62
+ async createAtlas(params) {
63
+ const response = await this.axios.post('/api/atlas', params);
64
+ return response.data.data || response.data;
65
+ }
66
+ /**
67
+ * Update an existing atlas
68
+ */
69
+ async updateAtlas(atlasId, params) {
70
+ const response = await this.axios.patch(`/api/atlas/${atlasId}`, params);
71
+ return response.data.data || response.data;
72
+ }
73
+ /**
74
+ * Delete an atlas
75
+ */
76
+ async deleteAtlas(atlasId) {
77
+ await this.axios.delete(`/api/atlas/${atlasId}`);
78
+ }
79
+ // ========================================================================
80
+ // Point (Node) Operations
81
+ // ========================================================================
82
+ /**
83
+ * List all points in an atlas
84
+ */
85
+ async listPoints(atlasId) {
86
+ const response = await this.axios.get(`/api/atlas/${atlasId}/graph/points`);
87
+ // Response format: { success: true, data: { points: Point[], total: number } }
88
+ const data = response.data.data || response.data;
89
+ return data.points || [];
90
+ }
91
+ /**
92
+ * Get a specific point by searching all points
93
+ * Note: Backend doesn't have a single-point GET endpoint, so we filter the list
94
+ */
95
+ async getPoint(atlasId, pointId) {
96
+ const points = await this.listPoints(atlasId);
97
+ const point = points.find(p => p.id === pointId);
98
+ if (!point) {
99
+ throw new Error(`Point ${pointId} not found`);
100
+ }
101
+ return point;
102
+ }
103
+ /**
104
+ * Create a new point
105
+ */
106
+ async createPoint(atlasId, params) {
107
+ // Generate unique ID to prevent collisions for points with same name
108
+ const uniqueId = `${params.name}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
109
+ // Backend expects { points: [...] } array format
110
+ const response = await this.axios.post(`/api/atlas/${atlasId}/graph/points`, {
111
+ points: [{
112
+ id: uniqueId, // Unique ID to prevent collisions
113
+ name: params.name,
114
+ type: params.type,
115
+ ...(params.description && { description: params.description }),
116
+ ...params.properties
117
+ }]
118
+ });
119
+ // Extract first point from response
120
+ const data = response.data.data || response.data;
121
+ return data.points?.[0] || data;
122
+ }
123
+ /**
124
+ * Update a point
125
+ */
126
+ async updatePoint(atlasId, pointId, params) {
127
+ const response = await this.axios.put(`/api/atlas/${atlasId}/graph/points/${pointId}`, params);
128
+ return response.data.data || response.data;
129
+ }
130
+ /**
131
+ * Delete a point
132
+ */
133
+ async deletePoint(atlasId, pointId) {
134
+ await this.axios.delete(`/api/atlas/${atlasId}/graph/points/${pointId}`);
135
+ }
136
+ // ========================================================================
137
+ // Path (Edge) Operations
138
+ // ========================================================================
139
+ /**
140
+ * List all paths in an atlas
141
+ */
142
+ async listPaths(atlasId) {
143
+ const response = await this.axios.get(`/api/atlas/${atlasId}/graph/paths`);
144
+ // Response format: { success: true, data: { paths: Path[], total: number } }
145
+ const data = response.data.data || response.data;
146
+ return data.paths || [];
147
+ }
148
+ /**
149
+ * Get a specific path by searching all paths
150
+ * Note: Backend doesn't have a single-path GET endpoint, so we filter the list
151
+ */
152
+ async getPath(atlasId, pathId) {
153
+ const paths = await this.listPaths(atlasId);
154
+ const path = paths.find(p => p.id === pathId);
155
+ if (!path) {
156
+ throw new Error(`Path ${pathId} not found`);
157
+ }
158
+ return path;
159
+ }
160
+ /**
161
+ * Create a new path
162
+ */
163
+ async createPath(atlasId, params) {
164
+ // Generate unique ID to prevent collisions for paths with same name
165
+ const uniqueId = `${params.name}-${Date.now()}-${Math.random().toString(36).substr(2, 9)}`;
166
+ // Backend expects { paths: [...] } array format
167
+ const response = await this.axios.post(`/api/atlas/${atlasId}/graph/paths`, {
168
+ paths: [{
169
+ id: uniqueId, // Unique ID to prevent collisions
170
+ name: params.name,
171
+ source: params.sourceId,
172
+ target: params.targetId,
173
+ direction: params.type, // Map type to direction field
174
+ ...(params.description && { description: params.description }),
175
+ ...params.properties
176
+ }]
177
+ });
178
+ // Extract first path from response
179
+ const data = response.data.data || response.data;
180
+ return data.paths?.[0] || data;
181
+ }
182
+ /**
183
+ * Update a path
184
+ */
185
+ async updatePath(atlasId, pathId, params) {
186
+ const response = await this.axios.put(`/api/atlas/${atlasId}/graph/paths/${pathId}`, params);
187
+ return response.data.data || response.data;
188
+ }
189
+ /**
190
+ * Delete a path
191
+ */
192
+ async deletePath(atlasId, pathId) {
193
+ await this.axios.delete(`/api/atlas/${atlasId}/graph/paths/${pathId}`);
194
+ }
195
+ // ========================================================================
196
+ // Batch Operations
197
+ // ========================================================================
198
+ /**
199
+ * Batch create points and paths with name-based references
200
+ * Reduces multiple API calls to a single atomic operation
201
+ */
202
+ async batchCreateGraph(atlasId, params) {
203
+ const response = await this.axios.post(`/api/atlas/${atlasId}/graph/batch`, {
204
+ points: params.points || [],
205
+ paths: params.paths || [],
206
+ });
207
+ return response.data.data || response.data;
208
+ }
209
+ // ========================================================================
210
+ // Advanced Query Operations
211
+ // ========================================================================
212
+ /**
213
+ * Execute a read-only Cypher query
214
+ * Enables complex graph traversals in a single call
215
+ */
216
+ async queryCypher(atlasId, params) {
217
+ const response = await this.axios.post(`/api/atlas/${atlasId}/graph/query/cypher`, {
218
+ query: params.query,
219
+ parameters: params.parameters || {},
220
+ });
221
+ return response.data.results || response.data.data || response.data;
222
+ }
223
+ // ========================================================================
224
+ // Brain Dump (LLM) Operations
225
+ // ========================================================================
226
+ /**
227
+ * Execute a brain dump to generate graph from text
228
+ */
229
+ async brainDump(atlasId, params) {
230
+ const response = await this.axios.post(`/api/llm/brain-dump`, {
231
+ atlasId,
232
+ ...params,
233
+ });
234
+ return response.data.data || response.data;
235
+ }
236
+ /**
237
+ * Get brain dump operation status
238
+ */
239
+ async getBrainDumpStatus(operationId) {
240
+ const response = await this.axios.get(`/api/llm/operations/${operationId}`);
241
+ return response.data.data || response.data;
242
+ }
243
+ // ========================================================================
244
+ // Search Operations
245
+ // ========================================================================
246
+ /**
247
+ * Search for points by name or type
248
+ */
249
+ async searchPoints(atlasId, query) {
250
+ const response = await this.axios.get(`/api/atlas/${atlasId}/graph/points`, {
251
+ params: { search: query },
252
+ });
253
+ // Response format: { success: true, data: { points: Point[], total: number } }
254
+ const data = response.data.data || response.data;
255
+ return data.points || [];
256
+ }
257
+ /**
258
+ * Search for paths by name or type
259
+ */
260
+ async searchPaths(atlasId, query) {
261
+ const response = await this.axios.get(`/api/atlas/${atlasId}/graph/paths`, {
262
+ params: { search: query },
263
+ });
264
+ // Response format: { success: true, data: { paths: Path[], total: number } }
265
+ const data = response.data.data || response.data;
266
+ return data.paths || [];
267
+ }
268
+ // ========================================================================
269
+ // View Operations
270
+ // ========================================================================
271
+ /**
272
+ * List all views in an atlas
273
+ */
274
+ async listViews(atlasId) {
275
+ const response = await this.axios.get(`/api/atlas/${atlasId}/views`);
276
+ const data = response.data.data || response.data;
277
+ return data.views || [];
278
+ }
279
+ /**
280
+ * Get a specific view by ID
281
+ */
282
+ async getView(atlasId, viewId) {
283
+ const response = await this.axios.get(`/api/atlas/${atlasId}/views/${viewId}`);
284
+ const data = response.data.data || response.data;
285
+ return data.view || data;
286
+ }
287
+ /**
288
+ * Create a new view
289
+ */
290
+ async createView(atlasId, params) {
291
+ const response = await this.axios.post(`/api/atlas/${atlasId}/views`, params);
292
+ const data = response.data.data || response.data;
293
+ return data.view || data;
294
+ }
295
+ /**
296
+ * Update an existing view
297
+ */
298
+ async updateView(atlasId, viewId, params) {
299
+ const response = await this.axios.patch(`/api/atlas/${atlasId}/views/${viewId}`, params);
300
+ const data = response.data.data || response.data;
301
+ return data.view || data;
302
+ }
303
+ /**
304
+ * Delete a view
305
+ */
306
+ async deleteView(atlasId, viewId) {
307
+ await this.axios.delete(`/api/atlas/${atlasId}/views/${viewId}`);
308
+ }
309
+ /**
310
+ * Toggle point visibility in a view
311
+ */
312
+ async togglePointVisibility(atlasId, viewId, pointId, visible) {
313
+ const response = await this.axios.patch(`/api/atlas/${atlasId}/views/${viewId}/points/${pointId}`, { visible });
314
+ const data = response.data.data || response.data;
315
+ return data.visibility || {};
316
+ }
317
+ /**
318
+ * Add point to view
319
+ */
320
+ async addPointToView(atlasId, viewId, pointId) {
321
+ const response = await this.axios.post(`/api/atlas/${atlasId}/views/${viewId}/points`, { pointIds: [pointId] } // API expects array
322
+ );
323
+ const data = response.data.data || response.data;
324
+ return data.pointIds || [];
325
+ }
326
+ /**
327
+ * Remove point from view
328
+ */
329
+ async removePointFromView(atlasId, viewId, pointId) {
330
+ const response = await this.axios.delete(`/api/atlas/${atlasId}/views/${viewId}/points/${pointId}`);
331
+ const data = response.data.data || response.data;
332
+ return data.pointIds || [];
333
+ }
334
+ }
335
+ //# sourceMappingURL=client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Graphite Atlas MCP Server
4
+ *
5
+ * Implements Model Context Protocol to expose Graphite Atlas functionality
6
+ * to Claude and other MCP clients.
7
+ *
8
+ * Usage:
9
+ * npx @graphite-atlas/mcp-server
10
+ *
11
+ * Environment Variables:
12
+ * GRAPHITE_API_URL - Graphite Atlas API URL (default: https://graphiteatlas.com)
13
+ * GRAPHITE_ACCESS_TOKEN - OAuth access token for authentication
14
+ */
15
+ export {};
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;GAYG"}
package/dist/index.js ADDED
@@ -0,0 +1,124 @@
1
+ #!/usr/bin/env node
2
+ /**
3
+ * Graphite Atlas MCP Server
4
+ *
5
+ * Implements Model Context Protocol to expose Graphite Atlas functionality
6
+ * to Claude and other MCP clients.
7
+ *
8
+ * Usage:
9
+ * npx @graphite-atlas/mcp-server
10
+ *
11
+ * Environment Variables:
12
+ * GRAPHITE_API_URL - Graphite Atlas API URL (default: https://graphiteatlas.com)
13
+ * GRAPHITE_ACCESS_TOKEN - OAuth access token for authentication
14
+ */
15
+ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
16
+ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
17
+ import { CallToolRequestSchema, ListToolsRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
18
+ import { GraphiteAtlasClient } from './client.js';
19
+ import { setupTools } from './tools/index.js';
20
+ // Server configuration
21
+ const SERVER_NAME = 'graphite-atlas';
22
+ const SERVER_VERSION = '1.0.0';
23
+ /**
24
+ * Main server initialization
25
+ */
26
+ async function main() {
27
+ // Get configuration from environment
28
+ const apiUrl = process.env.GRAPHITE_API_URL || 'https://graphiteatlas.com';
29
+ const accessToken = process.env.GRAPHITE_ACCESS_TOKEN;
30
+ if (!accessToken) {
31
+ console.error('Error: GRAPHITE_ACCESS_TOKEN environment variable is required');
32
+ console.error('');
33
+ console.error('Get your access token by:');
34
+ console.error('1. Creating an OAuth app at https://graphiteatlas.com/settings/api');
35
+ console.error('2. Completing OAuth flow to get an access token');
36
+ console.error('');
37
+ console.error('See README.md for detailed setup instructions');
38
+ process.exit(1);
39
+ }
40
+ // Initialize Graphite Atlas API client
41
+ const client = new GraphiteAtlasClient({
42
+ apiUrl,
43
+ accessToken,
44
+ });
45
+ // Verify connection
46
+ try {
47
+ await client.healthCheck();
48
+ console.error(`Connected to Graphite Atlas API at ${apiUrl}`);
49
+ }
50
+ catch (error) {
51
+ console.error('Failed to connect to Graphite Atlas API:', error);
52
+ process.exit(1);
53
+ }
54
+ // Create MCP server
55
+ const server = new Server({
56
+ name: SERVER_NAME,
57
+ version: SERVER_VERSION,
58
+ }, {
59
+ capabilities: {
60
+ tools: {},
61
+ },
62
+ });
63
+ // Set up tools (atlases, nodes, edges, etc.)
64
+ const tools = setupTools(client);
65
+ // Handle tool listing
66
+ server.setRequestHandler(ListToolsRequestSchema, async () => {
67
+ return {
68
+ tools: tools.map((tool) => ({
69
+ name: tool.name,
70
+ description: tool.description,
71
+ inputSchema: tool.inputSchema,
72
+ })),
73
+ };
74
+ });
75
+ // Handle tool execution
76
+ server.setRequestHandler(CallToolRequestSchema, async (request) => {
77
+ console.error(`[MCP] Tool called: ${request.params.name}`);
78
+ console.error(`[MCP] Arguments:`, JSON.stringify(request.params.arguments, null, 2));
79
+ const tool = tools.find((t) => t.name === request.params.name);
80
+ if (!tool) {
81
+ console.error(`[MCP] Error: Unknown tool: ${request.params.name}`);
82
+ throw new Error(`Unknown tool: ${request.params.name}`);
83
+ }
84
+ try {
85
+ console.error(`[MCP] Executing tool: ${request.params.name}...`);
86
+ const startTime = Date.now();
87
+ const result = await tool.execute(request.params.arguments || {});
88
+ const duration = Date.now() - startTime;
89
+ console.error(`[MCP] Tool ${request.params.name} completed in ${duration}ms`);
90
+ return {
91
+ content: [
92
+ {
93
+ type: 'text',
94
+ text: JSON.stringify(result, null, 2),
95
+ },
96
+ ],
97
+ };
98
+ }
99
+ catch (error) {
100
+ const errorMessage = error instanceof Error ? error.message : String(error);
101
+ console.error(`[MCP] Tool ${request.params.name} failed:`, errorMessage);
102
+ return {
103
+ content: [
104
+ {
105
+ type: 'text',
106
+ text: `Error: ${errorMessage}`,
107
+ },
108
+ ],
109
+ isError: true,
110
+ };
111
+ }
112
+ });
113
+ // Start server with stdio transport
114
+ const transport = new StdioServerTransport();
115
+ await server.connect(transport);
116
+ console.error(`Graphite Atlas MCP server running on stdio`);
117
+ console.error(`Available tools: ${tools.map((t) => t.name).join(', ')}`);
118
+ }
119
+ // Run server
120
+ main().catch((error) => {
121
+ console.error('Fatal error:', error);
122
+ process.exit(1);
123
+ });
124
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Graph Analytics & Algorithm Tools
3
+ *
4
+ * Provides graph algorithms for analyzing structure and finding insights.
5
+ */
6
+ import { GraphiteAtlasClient } from '../client.js';
7
+ import { MCPTool } from './index.js';
8
+ export declare function createAnalyticsTools(client: GraphiteAtlasClient): MCPTool[];
9
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/tools/analytics.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAGrC,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,EAAE,CAoY3E"}