@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
package/README.md ADDED
@@ -0,0 +1,440 @@
1
+ # Graphite Atlas MCP Server
2
+
3
+ A [Model Context Protocol (MCP)](https://modelcontextprotocol.io) server that provides Claude and other AI assistants with access to your Graphite Atlas knowledge graphs.
4
+
5
+ ## Features
6
+
7
+ - πŸ—ΊοΈ **Atlas Management**: Create, read, update, and delete knowledge graphs
8
+ - πŸ“ **Point Operations**: Add and manage nodes (entities) in your graphs
9
+ - πŸ”— **Path Operations**: Create and manage edges (relationships) between points
10
+ - 🧠 **Brain Dump**: AI-powered graph generation from text
11
+ - πŸ” **Search**: Find points and paths across your atlases
12
+
13
+ ## Installation
14
+
15
+ ### From npm
16
+
17
+ ```bash
18
+ npm install -g @graphite-atlas/mcp-server
19
+ ```
20
+
21
+ ### From source
22
+
23
+ ```bash
24
+ cd mcp
25
+ npm install
26
+ npm run build
27
+ ```
28
+
29
+ ## Quick Start
30
+
31
+ ### 1. Generate a JWT Token
32
+
33
+ Before using the MCP server, you need a JWT access token from Graphite Atlas:
34
+
35
+ 1. **Log in** to https://graphiteatlas.com
36
+ 2. **Navigate** to Profile β†’ API Apps tab
37
+ 3. **Create** a new API app:
38
+ - Click "New App"
39
+ - Name: "Claude Desktop MCP"
40
+ - Description: "MCP server for Claude Desktop integration"
41
+ - Click "Create App"
42
+ 4. **Generate a JWT token**:
43
+ - Click "Generate Token" on your new app
44
+ - Token Name: "Claude Desktop"
45
+ - Environment: Production (or Development for testing)
46
+ - Scopes: Select the permissions you need (see [Scopes](#jwt-scopes) below)
47
+ - Recommended: Select "*" (Full Access) for easiest setup
48
+ - Or select specific scopes like `read:points`, `write:points`, `read:paths`, `write:paths`, etc.
49
+ - Expires In: 90 days (recommended)
50
+ - Click "Generate Token"
51
+ 5. **Copy your JWT token**:
52
+ - The token will only be shown **once** - copy it immediately!
53
+ - You can also copy the auto-generated Claude Desktop config snippet
54
+
55
+ ### 2. Configure Claude Desktop
56
+
57
+ Add the MCP server to your Claude Desktop configuration:
58
+
59
+ **macOS**: `~/Library/Application Support/Claude/claude_desktop_config.json`
60
+
61
+ **Windows**: `%APPDATA%\Claude\claude_desktop_config.json`
62
+
63
+ ```json
64
+ {
65
+ "mcpServers": {
66
+ "graphite-atlas": {
67
+ "command": "npx",
68
+ "args": [
69
+ "@graphite-atlas/mcp-server"
70
+ ],
71
+ "env": {
72
+ "GRAPHITE_ACCESS_TOKEN": "your_access_token_here",
73
+ "GRAPHITE_API_URL": "https://graphiteatlas.com/api"
74
+ }
75
+ }
76
+ }
77
+ }
78
+ ```
79
+
80
+ Or if running from source:
81
+
82
+ ```json
83
+ {
84
+ "mcpServers": {
85
+ "graphite-atlas": {
86
+ "command": "node",
87
+ "args": [
88
+ "/path/to/graphite_atlas/mcp/dist/index.js"
89
+ ],
90
+ "env": {
91
+ "GRAPHITE_ACCESS_TOKEN": "your_access_token_here",
92
+ "GRAPHITE_API_URL": "https://graphiteatlas.com/api"
93
+ }
94
+ }
95
+ }
96
+ }
97
+ ```
98
+
99
+ ### 3. Restart Claude Desktop
100
+
101
+ Restart Claude Desktop to load the new MCP server.
102
+
103
+ ### 4. Test It!
104
+
105
+ Ask Claude:
106
+ ```
107
+ "List my Graphite Atlas knowledge graphs"
108
+ ```
109
+
110
+ Claude should use the `list_atlases` tool to fetch and display your atlases.
111
+
112
+ ## Available Tools
113
+
114
+ ### Atlas Management
115
+
116
+ #### `list_atlases`
117
+ List all knowledge graphs owned by the user.
118
+
119
+ **Parameters**: None
120
+
121
+ **Example**:
122
+ ```
123
+ "Show me all my atlases"
124
+ ```
125
+
126
+ #### `get_atlas`
127
+ Get details of a specific atlas.
128
+
129
+ **Parameters**:
130
+ - `atlas_id` (string, required): The atlas ID
131
+
132
+ **Example**:
133
+ ```
134
+ "Show me details for atlas abc-123"
135
+ ```
136
+
137
+ #### `create_atlas`
138
+ Create a new knowledge graph.
139
+
140
+ **Parameters**:
141
+ - `name` (string, required): Atlas name
142
+ - `description` (string, optional): Atlas description
143
+
144
+ **Example**:
145
+ ```
146
+ "Create a new atlas called 'Project Notes' for tracking my project ideas"
147
+ ```
148
+
149
+ #### `update_atlas`
150
+ Update an atlas name or description.
151
+
152
+ **Parameters**:
153
+ - `atlas_id` (string, required): The atlas ID
154
+ - `name` (string, optional): New name
155
+ - `description` (string, optional): New description
156
+
157
+ #### `delete_atlas`
158
+ Delete an atlas permanently.
159
+
160
+ **Parameters**:
161
+ - `atlas_id` (string, required): The atlas ID
162
+
163
+ **⚠️ Warning**: This action cannot be undone.
164
+
165
+ ### Point (Node) Operations
166
+
167
+ #### `list_points`
168
+ List all points in an atlas.
169
+
170
+ **Parameters**:
171
+ - `atlas_id` (string, required): The atlas ID
172
+
173
+ **Example**:
174
+ ```
175
+ "Show me all points in my Project Notes atlas"
176
+ ```
177
+
178
+ #### `get_point`
179
+ Get details of a specific point.
180
+
181
+ **Parameters**:
182
+ - `atlas_id` (string, required): The atlas ID
183
+ - `point_id` (string, required): The point ID
184
+
185
+ #### `create_point`
186
+ Create a new point (entity/concept).
187
+
188
+ **Parameters**:
189
+ - `atlas_id` (string, required): The atlas ID
190
+ - `name` (string, required): Point name
191
+ - `type` (string, required): Point type (e.g., "Person", "Company", "Concept")
192
+ - `properties` (object, optional): Additional properties
193
+
194
+ **Example**:
195
+ ```
196
+ "In my Project Notes atlas, create a new point called 'AI Integration' of type 'Feature' with property 'priority' set to 'high'"
197
+ ```
198
+
199
+ #### `update_point`
200
+ Update a point's name, type, or properties.
201
+
202
+ **Parameters**:
203
+ - `atlas_id` (string, required): The atlas ID
204
+ - `point_id` (string, required): The point ID
205
+ - `name` (string, optional): New name
206
+ - `type` (string, optional): New type
207
+ - `properties` (object, optional): Updated properties (merged)
208
+
209
+ #### `delete_point`
210
+ Delete a point from an atlas.
211
+
212
+ **Parameters**:
213
+ - `atlas_id` (string, required): The atlas ID
214
+ - `point_id` (string, required): The point ID
215
+
216
+ #### `search_points`
217
+ Search for points by name or type.
218
+
219
+ **Parameters**:
220
+ - `atlas_id` (string, required): The atlas ID
221
+ - `query` (string, required): Search query
222
+
223
+ **Example**:
224
+ ```
225
+ "Search for all points related to 'AI' in my Project Notes atlas"
226
+ ```
227
+
228
+ ### Path (Relationship) Operations
229
+
230
+ #### `list_paths`
231
+ List all paths (relationships) in an atlas.
232
+
233
+ **Parameters**:
234
+ - `atlas_id` (string, required): The atlas ID
235
+
236
+ #### `get_path`
237
+ Get details of a specific path.
238
+
239
+ **Parameters**:
240
+ - `atlas_id` (string, required): The atlas ID
241
+ - `path_id` (string, required): The path ID
242
+
243
+ #### `create_path`
244
+ Create a new path between two points.
245
+
246
+ **Parameters**:
247
+ - `atlas_id` (string, required): The atlas ID
248
+ - `name` (string, required): Path name
249
+ - `type` (string, required): Path type (e.g., "KNOWS", "WORKS_AT", "DEPENDS_ON")
250
+ - `source_id` (string, required): Source point ID
251
+ - `target_id` (string, required): Target point ID
252
+ - `properties` (object, optional): Additional properties
253
+
254
+ **Example**:
255
+ ```
256
+ "Create a 'DEPENDS_ON' relationship from 'AI Integration' feature to 'Database Upgrade' feature"
257
+ ```
258
+
259
+ #### `update_path`
260
+ Update a path's name, type, or properties.
261
+
262
+ **Parameters**:
263
+ - `atlas_id` (string, required): The atlas ID
264
+ - `path_id` (string, required): The path ID
265
+ - `name` (string, optional): New name
266
+ - `type` (string, optional): New type
267
+ - `properties` (object, optional): Updated properties
268
+
269
+ #### `delete_path`
270
+ Delete a path from an atlas.
271
+
272
+ **Parameters**:
273
+ - `atlas_id` (string, required): The atlas ID
274
+ - `path_id` (string, required): The path ID
275
+
276
+ #### `search_paths`
277
+ Search for paths by name or type.
278
+
279
+ **Parameters**:
280
+ - `atlas_id` (string, required): The atlas ID
281
+ - `query` (string, required): Search query
282
+
283
+ ### Brain Dump (AI Graph Generation)
284
+
285
+ #### `brain_dump`
286
+ Use AI to automatically generate a knowledge graph from text.
287
+
288
+ **Parameters**:
289
+ - `atlas_id` (string, required): The atlas ID to add generated graph to
290
+ - `text` (string, required): Text to analyze (notes, articles, transcripts)
291
+ - `process_name` (string, optional): Name for this brain dump process
292
+
293
+ **Example**:
294
+ ```
295
+ "Take this meeting transcript and create a knowledge graph in my Project Notes atlas:
296
+
297
+ [Meeting notes about AI project planning, stakeholders, dependencies...]
298
+ "
299
+ ```
300
+
301
+ #### `get_brain_dump_status`
302
+ Check the status of a brain dump operation.
303
+
304
+ **Parameters**:
305
+ - `operation_id` (string, required): Operation ID from brain_dump
306
+
307
+ **Example**:
308
+ ```
309
+ "Check the status of brain dump operation op-xyz-789"
310
+ ```
311
+
312
+ ## JWT Scopes
313
+
314
+ When generating your JWT token, select the scopes you need:
315
+
316
+ | Scope | Required For | Description |
317
+ |-------|-------------|-------------|
318
+ | `*` | All operations | Full access to all resources (recommended for personal use) |
319
+ | `read:atlases` | List/get atlases | View your knowledge graphs |
320
+ | `write:atlases` | Create/update atlases | Create and modify atlases |
321
+ | `delete:atlases` | Delete atlases | Permanently delete atlases |
322
+ | `read:points` | List/get points | View nodes in your graphs |
323
+ | `write:points` | Create/update points | Add and modify nodes |
324
+ | `delete:points` | Delete points | Remove nodes |
325
+ | `read:paths` | List/get paths | View relationships |
326
+ | `write:paths` | Create/update paths | Add and modify relationships |
327
+ | `delete:paths` | Delete paths | Remove relationships |
328
+ | `read:schema` | Get schemas | View atlas ontology schemas |
329
+ | `use:llm` | Brain dump | AI-powered graph generation |
330
+ | `use:embeddings` | Semantic search | AI-powered semantic search |
331
+
332
+ **Recommended for personal use**:
333
+ ```
334
+ * (Full Access)
335
+ ```
336
+
337
+ **Recommended minimal scopes** for read-only access:
338
+ ```
339
+ read:atlases read:points read:paths read:schema
340
+ ```
341
+
342
+ **Recommended scopes** for full graph editing:
343
+ ```
344
+ read:atlases write:atlases delete:atlases read:points write:points delete:points read:paths write:paths delete:paths read:schema use:llm
345
+ ```
346
+
347
+ Or simply use wildcard patterns:
348
+ ```
349
+ read:* write:* delete:*
350
+ ```
351
+
352
+ ## Environment Variables
353
+
354
+ | Variable | Description | Default |
355
+ |----------|-------------|---------|
356
+ | `GRAPHITE_ACCESS_TOKEN` | OAuth access token (required) | - |
357
+ | `GRAPHITE_API_URL` | Graphite Atlas API base URL | `https://graphiteatlas.com/api` |
358
+
359
+ ## Development
360
+
361
+ ### Build
362
+
363
+ ```bash
364
+ npm run build
365
+ ```
366
+
367
+ ### Watch Mode
368
+
369
+ ```bash
370
+ npm run watch
371
+ ```
372
+
373
+ ### Development Mode (with auto-reload)
374
+
375
+ ```bash
376
+ npm run dev
377
+ ```
378
+
379
+ ### Linting
380
+
381
+ ```bash
382
+ npm run lint
383
+ ```
384
+
385
+ ### Type Checking
386
+
387
+ ```bash
388
+ npm run typecheck
389
+ ```
390
+
391
+ ## Troubleshooting
392
+
393
+ ### "GRAPHITE_ACCESS_TOKEN environment variable is required"
394
+
395
+ You need to provide a valid OAuth access token. See [Quick Start](#quick-start) for instructions on getting one.
396
+
397
+ ### "Failed to connect to Graphite Atlas API"
398
+
399
+ Check that:
400
+ 1. Your access token is valid (not expired)
401
+ 2. The API URL is correct
402
+ 3. You have network connectivity
403
+ 4. The Graphite Atlas API is operational
404
+
405
+ ### "API Error (401): Unauthorized"
406
+
407
+ Your access token may be expired. Generate a new one using the refresh token flow or by reauthorizing.
408
+
409
+ ### Tools not appearing in Claude Desktop
410
+
411
+ 1. Check the Claude Desktop logs (Help β†’ View Logs)
412
+ 2. Verify your config file syntax is valid JSON
413
+ 3. Restart Claude Desktop after config changes
414
+ 4. Check that the MCP server is executable (`chmod +x dist/index.js` if needed)
415
+
416
+ ## Security
417
+
418
+ - **Never commit** your access token to version control
419
+ - **Never share** your access token publicly
420
+ - **Rotate tokens** regularly
421
+ - **Use minimal scopes** required for your use case
422
+ - **Revoke unused** OAuth apps from Settings β†’ Developer
423
+
424
+ ## Contributing
425
+
426
+ Contributions welcome! Please open an issue or PR.
427
+
428
+ ## License
429
+
430
+ MIT
431
+
432
+ ## Support
433
+
434
+ - **Documentation**: https://docs.graphiteatlas.com
435
+ - **Issues**: https://github.com/graphite-atlas/mcp-server/issues
436
+ - **Email**: support@graphiteatlas.com
437
+
438
+ ---
439
+
440
+ Built with ❀️ by the Graphite Atlas team
@@ -0,0 +1,272 @@
1
+ /**
2
+ * Graphite Atlas API Client
3
+ *
4
+ * Handles all HTTP communication with the Graphite Atlas API.
5
+ */
6
+ export interface GraphiteAtlasClientConfig {
7
+ apiUrl: string;
8
+ accessToken: string;
9
+ }
10
+ export interface Atlas {
11
+ id: string;
12
+ name: string;
13
+ description?: string;
14
+ createdAt: string;
15
+ updatedAt: string;
16
+ }
17
+ export interface Point {
18
+ id: string;
19
+ name: string;
20
+ type: string;
21
+ properties: Record<string, unknown>;
22
+ atlasId: string;
23
+ createdAt: string;
24
+ updatedAt: string;
25
+ }
26
+ export interface Path {
27
+ id: string;
28
+ name: string;
29
+ type: string;
30
+ sourceId: string;
31
+ targetId: string;
32
+ source_name?: string;
33
+ target_name?: string;
34
+ properties: Record<string, unknown>;
35
+ atlasId: string;
36
+ createdAt: string;
37
+ updatedAt: string;
38
+ }
39
+ export interface BrainDumpResult {
40
+ operationId: string;
41
+ status: 'pending' | 'processing' | 'completed' | 'failed';
42
+ points?: Point[];
43
+ paths?: Path[];
44
+ }
45
+ export interface View {
46
+ id: string;
47
+ atlasId: string;
48
+ name: string;
49
+ description?: string;
50
+ viewType: 'map' | 'table' | 'combo' | 'folder';
51
+ parentId?: string | null;
52
+ position?: number;
53
+ isPublic?: boolean;
54
+ isDefault?: boolean;
55
+ settings?: Record<string, unknown>;
56
+ filters?: Record<string, unknown>;
57
+ visibility?: Record<string, boolean>;
58
+ pointIds?: string[];
59
+ layout?: string;
60
+ groupBy?: string | null;
61
+ nodeStyles?: Record<string, unknown>;
62
+ edgeStyles?: Record<string, unknown>;
63
+ createdBy: string;
64
+ createdAt: string;
65
+ updatedAt: string;
66
+ }
67
+ export declare class GraphiteAtlasClient {
68
+ private axios;
69
+ constructor(config: GraphiteAtlasClientConfig);
70
+ /**
71
+ * Health check to verify API connectivity
72
+ */
73
+ healthCheck(): Promise<void>;
74
+ /**
75
+ * List all atlases for the authenticated user
76
+ */
77
+ listAtlases(): Promise<Atlas[]>;
78
+ /**
79
+ * Get a specific atlas by ID
80
+ */
81
+ getAtlas(atlasId: string): Promise<Atlas>;
82
+ /**
83
+ * Create a new atlas
84
+ */
85
+ createAtlas(params: {
86
+ name: string;
87
+ description?: string;
88
+ schema?: Record<string, unknown>;
89
+ }): Promise<Atlas>;
90
+ /**
91
+ * Update an existing atlas
92
+ */
93
+ updateAtlas(atlasId: string, params: {
94
+ name?: string;
95
+ description?: string;
96
+ schema?: Record<string, unknown>;
97
+ }): Promise<Atlas>;
98
+ /**
99
+ * Delete an atlas
100
+ */
101
+ deleteAtlas(atlasId: string): Promise<void>;
102
+ /**
103
+ * List all points in an atlas
104
+ */
105
+ listPoints(atlasId: string): Promise<Point[]>;
106
+ /**
107
+ * Get a specific point by searching all points
108
+ * Note: Backend doesn't have a single-point GET endpoint, so we filter the list
109
+ */
110
+ getPoint(atlasId: string, pointId: string): Promise<Point>;
111
+ /**
112
+ * Create a new point
113
+ */
114
+ createPoint(atlasId: string, params: {
115
+ name: string;
116
+ type: string;
117
+ description?: string;
118
+ properties?: Record<string, unknown>;
119
+ }): Promise<Point>;
120
+ /**
121
+ * Update a point
122
+ */
123
+ updatePoint(atlasId: string, pointId: string, params: {
124
+ name?: string;
125
+ type?: string;
126
+ description?: string;
127
+ properties?: Record<string, unknown>;
128
+ }): Promise<Point>;
129
+ /**
130
+ * Delete a point
131
+ */
132
+ deletePoint(atlasId: string, pointId: string): Promise<void>;
133
+ /**
134
+ * List all paths in an atlas
135
+ */
136
+ listPaths(atlasId: string): Promise<Path[]>;
137
+ /**
138
+ * Get a specific path by searching all paths
139
+ * Note: Backend doesn't have a single-path GET endpoint, so we filter the list
140
+ */
141
+ getPath(atlasId: string, pathId: string): Promise<Path>;
142
+ /**
143
+ * Create a new path
144
+ */
145
+ createPath(atlasId: string, params: {
146
+ name: string;
147
+ type: string;
148
+ sourceId: string;
149
+ targetId: string;
150
+ description?: string;
151
+ properties?: Record<string, unknown>;
152
+ }): Promise<Path>;
153
+ /**
154
+ * Update a path
155
+ */
156
+ updatePath(atlasId: string, pathId: string, params: {
157
+ name?: string;
158
+ type?: string;
159
+ description?: string;
160
+ properties?: Record<string, unknown>;
161
+ }): Promise<Path>;
162
+ /**
163
+ * Delete a path
164
+ */
165
+ deletePath(atlasId: string, pathId: string): Promise<void>;
166
+ /**
167
+ * Batch create points and paths with name-based references
168
+ * Reduces multiple API calls to a single atomic operation
169
+ */
170
+ batchCreateGraph(atlasId: string, params: {
171
+ points?: Array<{
172
+ name: string;
173
+ type: string;
174
+ category?: string;
175
+ description?: string;
176
+ tags?: string[];
177
+ properties?: Record<string, unknown>;
178
+ }>;
179
+ paths?: Array<{
180
+ type: string;
181
+ source_name: string;
182
+ target_name: string;
183
+ description?: string;
184
+ properties?: Record<string, unknown>;
185
+ }>;
186
+ }): Promise<{
187
+ points: Point[];
188
+ paths: Path[];
189
+ pointCount: number;
190
+ pathCount: number;
191
+ }>;
192
+ /**
193
+ * Execute a read-only Cypher query
194
+ * Enables complex graph traversals in a single call
195
+ */
196
+ queryCypher(atlasId: string, params: {
197
+ query: string;
198
+ parameters?: Record<string, unknown>;
199
+ }): Promise<any[]>;
200
+ /**
201
+ * Execute a brain dump to generate graph from text
202
+ */
203
+ brainDump(atlasId: string, params: {
204
+ text: string;
205
+ processName?: string;
206
+ }): Promise<BrainDumpResult>;
207
+ /**
208
+ * Get brain dump operation status
209
+ */
210
+ getBrainDumpStatus(operationId: string): Promise<BrainDumpResult>;
211
+ /**
212
+ * Search for points by name or type
213
+ */
214
+ searchPoints(atlasId: string, query: string): Promise<Point[]>;
215
+ /**
216
+ * Search for paths by name or type
217
+ */
218
+ searchPaths(atlasId: string, query: string): Promise<Path[]>;
219
+ /**
220
+ * List all views in an atlas
221
+ */
222
+ listViews(atlasId: string): Promise<View[]>;
223
+ /**
224
+ * Get a specific view by ID
225
+ */
226
+ getView(atlasId: string, viewId: string): Promise<View>;
227
+ /**
228
+ * Create a new view
229
+ */
230
+ createView(atlasId: string, params: {
231
+ name: string;
232
+ description?: string;
233
+ viewType?: 'map' | 'table' | 'combo' | 'folder';
234
+ parentId?: string;
235
+ position?: number;
236
+ settings?: Record<string, unknown>;
237
+ filters?: Record<string, unknown>;
238
+ isPublic?: boolean;
239
+ }): Promise<View>;
240
+ /**
241
+ * Update an existing view
242
+ */
243
+ updateView(atlasId: string, viewId: string, params: {
244
+ name?: string;
245
+ description?: string;
246
+ viewType?: 'map' | 'table' | 'combo' | 'folder';
247
+ parentId?: string;
248
+ position?: number;
249
+ settings?: Record<string, unknown>;
250
+ filters?: Record<string, unknown>;
251
+ visibility?: Record<string, boolean>;
252
+ pointIds?: string[];
253
+ isPublic?: boolean;
254
+ }): Promise<View>;
255
+ /**
256
+ * Delete a view
257
+ */
258
+ deleteView(atlasId: string, viewId: string): Promise<void>;
259
+ /**
260
+ * Toggle point visibility in a view
261
+ */
262
+ togglePointVisibility(atlasId: string, viewId: string, pointId: string, visible: boolean): Promise<Record<string, boolean>>;
263
+ /**
264
+ * Add point to view
265
+ */
266
+ addPointToView(atlasId: string, viewId: string, pointId: string): Promise<string[]>;
267
+ /**
268
+ * Remove point from view
269
+ */
270
+ removePointFromView(atlasId: string, viewId: string, pointId: string): Promise<string[]>;
271
+ }
272
+ //# sourceMappingURL=client.d.ts.map