@intangle/mcp-server 1.1.7 → 1.1.8
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/index.js +0 -484
- package/index.ts +0 -497
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -78,72 +78,6 @@ const server = new Server({
|
|
|
78
78
|
},
|
|
79
79
|
});
|
|
80
80
|
const TOOLS = [
|
|
81
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
82
|
-
// {
|
|
83
|
-
// name: "add_memory",
|
|
84
|
-
// description:
|
|
85
|
-
// "Store CONTEXT (general information and knowledge) in the user's memory system. For actionable workflow items with status tracking, use add_task instead. Accepts a single context item or an array of context items for batch creation. REQUIRES space_id parameter.",
|
|
86
|
-
// inputSchema: {
|
|
87
|
-
// type: "object",
|
|
88
|
-
// properties: {
|
|
89
|
-
// space_id: {
|
|
90
|
-
// type: "string",
|
|
91
|
-
// description:
|
|
92
|
-
// "REQUIRED: Space to store memory/memories in (use list_spaces to see available options)",
|
|
93
|
-
// },
|
|
94
|
-
// memories: {
|
|
95
|
-
// oneOf: [
|
|
96
|
-
// {
|
|
97
|
-
// type: "object",
|
|
98
|
-
// properties: {
|
|
99
|
-
// title: {
|
|
100
|
-
// type: "string",
|
|
101
|
-
// description: "Title/summary of the memory",
|
|
102
|
-
// },
|
|
103
|
-
// content: {
|
|
104
|
-
// type: "string",
|
|
105
|
-
// description: "Detailed content of the memory",
|
|
106
|
-
// },
|
|
107
|
-
// topics: {
|
|
108
|
-
// type: "array",
|
|
109
|
-
// items: { type: "string" },
|
|
110
|
-
// description:
|
|
111
|
-
// "Flexible topics/tags for organization (e.g., ['coding', 'react'])",
|
|
112
|
-
// },
|
|
113
|
-
// },
|
|
114
|
-
// required: ["title", "content"],
|
|
115
|
-
// },
|
|
116
|
-
// {
|
|
117
|
-
// type: "array",
|
|
118
|
-
// items: {
|
|
119
|
-
// type: "object",
|
|
120
|
-
// properties: {
|
|
121
|
-
// title: {
|
|
122
|
-
// type: "string",
|
|
123
|
-
// description: "Title/summary of the memory",
|
|
124
|
-
// },
|
|
125
|
-
// content: {
|
|
126
|
-
// type: "string",
|
|
127
|
-
// description: "Detailed content of the memory",
|
|
128
|
-
// },
|
|
129
|
-
// topics: {
|
|
130
|
-
// type: "array",
|
|
131
|
-
// items: { type: "string" },
|
|
132
|
-
// description:
|
|
133
|
-
// "Flexible topics/tags for organization (e.g., ['coding', 'react'])",
|
|
134
|
-
// },
|
|
135
|
-
// },
|
|
136
|
-
// required: ["title", "content"],
|
|
137
|
-
// },
|
|
138
|
-
// },
|
|
139
|
-
// ],
|
|
140
|
-
// description:
|
|
141
|
-
// "Single memory object or array of memory objects to create",
|
|
142
|
-
// },
|
|
143
|
-
// },
|
|
144
|
-
// required: ["space_id", "memories"],
|
|
145
|
-
// },
|
|
146
|
-
// },
|
|
147
81
|
{
|
|
148
82
|
name: "search_memories",
|
|
149
83
|
description: "Search through ALL stored data including BOTH context (general information) AND tasks (actionable workflow items). Uses advanced hybrid search (semantic + text + entity relationships). When a user asks to 'update memory' or 'check memory', this tool searches BOTH types. ALWAYS provide space_id parameter - this is mandatory for all searches.",
|
|
@@ -214,48 +148,6 @@ const TOOLS = [
|
|
|
214
148
|
},
|
|
215
149
|
},
|
|
216
150
|
},
|
|
217
|
-
// DISABLED: get_entities tool - not useful in current form
|
|
218
|
-
// {
|
|
219
|
-
// name: "get_entities",
|
|
220
|
-
// description:
|
|
221
|
-
// "Get extracted entities (people, places, concepts) from CONTEXT items (general information). If no memory_id provided, returns top 20 most frequently mentioned entities across all context. WARNING: This tool can return large responses - use sparingly and only when entity information is specifically needed.",
|
|
222
|
-
// inputSchema: {
|
|
223
|
-
// type: "object",
|
|
224
|
-
// properties: {
|
|
225
|
-
// memory_id: {
|
|
226
|
-
// type: "string",
|
|
227
|
-
// description:
|
|
228
|
-
// "Memory ID to get entities for. RECOMMENDED: Always provide memory_id to get focused results.",
|
|
229
|
-
// },
|
|
230
|
-
// },
|
|
231
|
-
// },
|
|
232
|
-
// },
|
|
233
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
234
|
-
// {
|
|
235
|
-
// name: "delete_memory",
|
|
236
|
-
// description:
|
|
237
|
-
// "Delete one or more CONTEXT items (general information). For deleting tasks, use delete_task instead. Accepts a single memory ID or an array of memory IDs for batch deletion.",
|
|
238
|
-
// inputSchema: {
|
|
239
|
-
// type: "object",
|
|
240
|
-
// properties: {
|
|
241
|
-
// memory_ids: {
|
|
242
|
-
// oneOf: [
|
|
243
|
-
// {
|
|
244
|
-
// type: "string",
|
|
245
|
-
// description: "Single memory ID to delete",
|
|
246
|
-
// },
|
|
247
|
-
// {
|
|
248
|
-
// type: "array",
|
|
249
|
-
// items: { type: "string" },
|
|
250
|
-
// description: "Array of memory IDs to delete",
|
|
251
|
-
// },
|
|
252
|
-
// ],
|
|
253
|
-
// description: "Single memory ID or array of memory IDs to delete",
|
|
254
|
-
// },
|
|
255
|
-
// },
|
|
256
|
-
// required: ["memory_ids"],
|
|
257
|
-
// },
|
|
258
|
-
// },
|
|
259
151
|
{
|
|
260
152
|
name: "list_spaces",
|
|
261
153
|
description: "Get all available spaces with their descriptions and item counts (both context and tasks). Spaces are top-level containers that isolate different contexts (e.g., personal, work, projects).",
|
|
@@ -323,193 +215,6 @@ const TOOLS = [
|
|
|
323
215
|
required: ["space_id"],
|
|
324
216
|
},
|
|
325
217
|
},
|
|
326
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
327
|
-
// {
|
|
328
|
-
// name: "add_task",
|
|
329
|
-
// description:
|
|
330
|
-
// "Create one or more tasks in your space with status tracking and priority levels. Supports BATCH creation and NESTED subtasks. Accepts a single task object or an array of task objects. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter. Example with subtasks: {tasks: {title: 'Parent', content: 'Main task', subtasks: [{title: 'Subtask 1', content: 'Child task'}]}}",
|
|
331
|
-
// inputSchema: {
|
|
332
|
-
// type: "object",
|
|
333
|
-
// properties: {
|
|
334
|
-
// space_id: {
|
|
335
|
-
// type: "string",
|
|
336
|
-
// description:
|
|
337
|
-
// "REQUIRED: Space to create task/tasks in (use list_spaces to see available options)",
|
|
338
|
-
// },
|
|
339
|
-
// tasks: {
|
|
340
|
-
// oneOf: [
|
|
341
|
-
// {
|
|
342
|
-
// type: "object",
|
|
343
|
-
// properties: {
|
|
344
|
-
// title: {
|
|
345
|
-
// type: "string",
|
|
346
|
-
// description: "Task title/summary",
|
|
347
|
-
// },
|
|
348
|
-
// content: {
|
|
349
|
-
// type: "string",
|
|
350
|
-
// description: "Detailed task description",
|
|
351
|
-
// },
|
|
352
|
-
// topics: {
|
|
353
|
-
// type: "array",
|
|
354
|
-
// items: { type: "string" },
|
|
355
|
-
// description: "Optional topics/tags for organization",
|
|
356
|
-
// },
|
|
357
|
-
// status: {
|
|
358
|
-
// type: "string",
|
|
359
|
-
// enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
360
|
-
// description: "Task status (default: pending)",
|
|
361
|
-
// default: "pending",
|
|
362
|
-
// },
|
|
363
|
-
// priority: {
|
|
364
|
-
// type: "string",
|
|
365
|
-
// enum: ["urgent", "high", "medium", "low"],
|
|
366
|
-
// description:
|
|
367
|
-
// "Task priority level (default: medium). Use 'urgent' for time-sensitive tasks requiring immediate attention, 'high' for important tasks, 'medium' for standard tasks, 'low' for nice-to-have tasks.",
|
|
368
|
-
// default: "medium",
|
|
369
|
-
// },
|
|
370
|
-
// parent_id: {
|
|
371
|
-
// type: "string",
|
|
372
|
-
// description:
|
|
373
|
-
// "Optional parent task ID to create this as a subtask. Use an existing task's ID (format: task_TIMESTAMP_ID) to nest this task under it. Use list_tasks to find parent task IDs. If omitted, creates a top-level task. NOTE: Use 'subtasks' array instead for creating parent+children in one call.",
|
|
374
|
-
// },
|
|
375
|
-
// subtasks: {
|
|
376
|
-
// type: "array",
|
|
377
|
-
// items: {
|
|
378
|
-
// type: "object",
|
|
379
|
-
// properties: {
|
|
380
|
-
// title: {
|
|
381
|
-
// type: "string",
|
|
382
|
-
// description: "Subtask title",
|
|
383
|
-
// },
|
|
384
|
-
// content: {
|
|
385
|
-
// type: "string",
|
|
386
|
-
// description: "Subtask description/details",
|
|
387
|
-
// },
|
|
388
|
-
// topics: {
|
|
389
|
-
// type: "array",
|
|
390
|
-
// items: { type: "string" },
|
|
391
|
-
// description: "Topics/tags for this subtask",
|
|
392
|
-
// },
|
|
393
|
-
// status: {
|
|
394
|
-
// type: "string",
|
|
395
|
-
// enum: [
|
|
396
|
-
// "pending",
|
|
397
|
-
// "in_progress",
|
|
398
|
-
// "completed",
|
|
399
|
-
// "invalidated",
|
|
400
|
-
// ],
|
|
401
|
-
// description: "Subtask status (default: pending)",
|
|
402
|
-
// default: "pending",
|
|
403
|
-
// },
|
|
404
|
-
// priority: {
|
|
405
|
-
// type: "string",
|
|
406
|
-
// enum: ["urgent", "high", "medium", "low"],
|
|
407
|
-
// description: "Subtask priority level (default: medium)",
|
|
408
|
-
// default: "medium",
|
|
409
|
-
// },
|
|
410
|
-
// },
|
|
411
|
-
// required: ["title", "content"],
|
|
412
|
-
// },
|
|
413
|
-
// description:
|
|
414
|
-
// "Optional array of subtasks to create under this parent task. Each will be automatically linked to the parent.",
|
|
415
|
-
// },
|
|
416
|
-
// },
|
|
417
|
-
// required: ["title", "content"],
|
|
418
|
-
// },
|
|
419
|
-
// {
|
|
420
|
-
// type: "array",
|
|
421
|
-
// items: {
|
|
422
|
-
// type: "object",
|
|
423
|
-
// properties: {
|
|
424
|
-
// title: {
|
|
425
|
-
// type: "string",
|
|
426
|
-
// description: "Task title/summary",
|
|
427
|
-
// },
|
|
428
|
-
// content: {
|
|
429
|
-
// type: "string",
|
|
430
|
-
// description: "Detailed task description",
|
|
431
|
-
// },
|
|
432
|
-
// topics: {
|
|
433
|
-
// type: "array",
|
|
434
|
-
// items: { type: "string" },
|
|
435
|
-
// description: "Optional topics/tags for organization",
|
|
436
|
-
// },
|
|
437
|
-
// status: {
|
|
438
|
-
// type: "string",
|
|
439
|
-
// enum: [
|
|
440
|
-
// "pending",
|
|
441
|
-
// "in_progress",
|
|
442
|
-
// "completed",
|
|
443
|
-
// "invalidated",
|
|
444
|
-
// ],
|
|
445
|
-
// description: "Task status (default: pending)",
|
|
446
|
-
// default: "pending",
|
|
447
|
-
// },
|
|
448
|
-
// priority: {
|
|
449
|
-
// type: "string",
|
|
450
|
-
// enum: ["urgent", "high", "medium", "low"],
|
|
451
|
-
// description:
|
|
452
|
-
// "Task priority level (default: medium). Use 'urgent' for time-sensitive tasks requiring immediate attention, 'high' for important tasks, 'medium' for standard tasks, 'low' for nice-to-have tasks.",
|
|
453
|
-
// default: "medium",
|
|
454
|
-
// },
|
|
455
|
-
// parent_id: {
|
|
456
|
-
// type: "string",
|
|
457
|
-
// description:
|
|
458
|
-
// "Optional parent task ID to create this as a subtask. Use an existing task's ID (format: task_TIMESTAMP_ID) to nest this task under it. Use list_tasks to find parent task IDs. If omitted, creates a top-level task. NOTE: Use 'subtasks' array instead for creating parent+children in one call.",
|
|
459
|
-
// },
|
|
460
|
-
// subtasks: {
|
|
461
|
-
// type: "array",
|
|
462
|
-
// items: {
|
|
463
|
-
// type: "object",
|
|
464
|
-
// properties: {
|
|
465
|
-
// title: {
|
|
466
|
-
// type: "string",
|
|
467
|
-
// description: "Subtask title",
|
|
468
|
-
// },
|
|
469
|
-
// content: {
|
|
470
|
-
// type: "string",
|
|
471
|
-
// description: "Subtask description/details",
|
|
472
|
-
// },
|
|
473
|
-
// topics: {
|
|
474
|
-
// type: "array",
|
|
475
|
-
// items: { type: "string" },
|
|
476
|
-
// description: "Topics/tags for this subtask",
|
|
477
|
-
// },
|
|
478
|
-
// status: {
|
|
479
|
-
// type: "string",
|
|
480
|
-
// enum: [
|
|
481
|
-
// "pending",
|
|
482
|
-
// "in_progress",
|
|
483
|
-
// "completed",
|
|
484
|
-
// "invalidated",
|
|
485
|
-
// ],
|
|
486
|
-
// description: "Subtask status (default: pending)",
|
|
487
|
-
// default: "pending",
|
|
488
|
-
// },
|
|
489
|
-
// priority: {
|
|
490
|
-
// type: "string",
|
|
491
|
-
// enum: ["urgent", "high", "medium", "low"],
|
|
492
|
-
// description:
|
|
493
|
-
// "Subtask priority level (default: medium)",
|
|
494
|
-
// default: "medium",
|
|
495
|
-
// },
|
|
496
|
-
// },
|
|
497
|
-
// required: ["title", "content"],
|
|
498
|
-
// },
|
|
499
|
-
// description:
|
|
500
|
-
// "Optional array of subtasks to create under this parent task. Each will be automatically linked to the parent.",
|
|
501
|
-
// },
|
|
502
|
-
// },
|
|
503
|
-
// required: ["title", "content"],
|
|
504
|
-
// },
|
|
505
|
-
// },
|
|
506
|
-
// ],
|
|
507
|
-
// description: "Single task object or array of task objects to create",
|
|
508
|
-
// },
|
|
509
|
-
// },
|
|
510
|
-
// required: ["space_id", "tasks"],
|
|
511
|
-
// },
|
|
512
|
-
// },
|
|
513
218
|
{
|
|
514
219
|
name: "update_memory",
|
|
515
220
|
description: "Unified tool for ALL memory operations: add, update, or delete context and tasks. Supports any combination of operations in a single call. Context = general information/knowledge (Memory nodes). Tasks = actionable workflow items (Task nodes). Max 50 operations per call. At least one operation (add/update/delete) required.",
|
|
@@ -667,92 +372,6 @@ const TOOLS = [
|
|
|
667
372
|
required: ["space_id"],
|
|
668
373
|
},
|
|
669
374
|
},
|
|
670
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
671
|
-
// {
|
|
672
|
-
// name: "update_task_status",
|
|
673
|
-
// description:
|
|
674
|
-
// "Change a task's status (pending/in_progress/completed/invalidated)",
|
|
675
|
-
// inputSchema: {
|
|
676
|
-
// type: "object",
|
|
677
|
-
// properties: {
|
|
678
|
-
// task_id: {
|
|
679
|
-
// type: "string",
|
|
680
|
-
// description: "Task ID to update",
|
|
681
|
-
// },
|
|
682
|
-
// status: {
|
|
683
|
-
// type: "string",
|
|
684
|
-
// enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
685
|
-
// description: "New status",
|
|
686
|
-
// },
|
|
687
|
-
// },
|
|
688
|
-
// required: ["task_id", "status"],
|
|
689
|
-
// },
|
|
690
|
-
// },
|
|
691
|
-
{
|
|
692
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
693
|
-
// name: "update_task",
|
|
694
|
-
// description:
|
|
695
|
-
// "Update one or more TASKS (not context/memories - use add_memory to update context by creating new versions). Accepts a single update object or an array of update objects for batch updates. Each update must include task_id.",
|
|
696
|
-
// inputSchema: {
|
|
697
|
-
// type: "object",
|
|
698
|
-
// properties: {
|
|
699
|
-
// updates: {
|
|
700
|
-
// oneOf: [
|
|
701
|
-
// {
|
|
702
|
-
// type: "object",
|
|
703
|
-
// properties: {
|
|
704
|
-
// task_id: {
|
|
705
|
-
// type: "string",
|
|
706
|
-
// description: "Task ID to update",
|
|
707
|
-
// },
|
|
708
|
-
// title: {
|
|
709
|
-
// type: "string",
|
|
710
|
-
// description: "New title (optional)",
|
|
711
|
-
// },
|
|
712
|
-
// content: {
|
|
713
|
-
// type: "string",
|
|
714
|
-
// description: "New content (optional)",
|
|
715
|
-
// },
|
|
716
|
-
// topics: {
|
|
717
|
-
// type: "array",
|
|
718
|
-
// items: { type: "string" },
|
|
719
|
-
// description: "New topics array (optional)",
|
|
720
|
-
// },
|
|
721
|
-
// },
|
|
722
|
-
// required: ["task_id"],
|
|
723
|
-
// },
|
|
724
|
-
// {
|
|
725
|
-
// type: "array",
|
|
726
|
-
// items: {
|
|
727
|
-
// type: "object",
|
|
728
|
-
// properties: {
|
|
729
|
-
// task_id: {
|
|
730
|
-
// type: "string",
|
|
731
|
-
// description: "Task ID to update",
|
|
732
|
-
// },
|
|
733
|
-
// title: {
|
|
734
|
-
// type: "string",
|
|
735
|
-
// description: "New title (optional)",
|
|
736
|
-
// },
|
|
737
|
-
// content: {
|
|
738
|
-
// type: "string",
|
|
739
|
-
// description: "New content (optional)",
|
|
740
|
-
// },
|
|
741
|
-
// topics: {
|
|
742
|
-
// type: "array",
|
|
743
|
-
// items: { type: "string" },
|
|
744
|
-
// description: "New topics array (optional)",
|
|
745
|
-
// },
|
|
746
|
-
// },
|
|
747
|
-
// required: ["task_id"],
|
|
748
|
-
// },
|
|
749
|
-
// },
|
|
750
|
-
// ],
|
|
751
|
-
// description: "Single update object or array of update objects",
|
|
752
|
-
// },
|
|
753
|
-
// },
|
|
754
|
-
// required: ["updates"],
|
|
755
|
-
},
|
|
756
375
|
{
|
|
757
376
|
name: "list_tasks",
|
|
758
377
|
description: "List tasks in a space with optional filtering",
|
|
@@ -782,50 +401,10 @@ const TOOLS = [
|
|
|
782
401
|
required: ["space_id"],
|
|
783
402
|
},
|
|
784
403
|
},
|
|
785
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
786
|
-
// {
|
|
787
|
-
// name: "delete_task",
|
|
788
|
-
// description:
|
|
789
|
-
// "Delete one or more tasks in a single transaction. Accepts a single task ID or an array of task IDs for batch deletion.",
|
|
790
|
-
// inputSchema: {
|
|
791
|
-
// type: "object",
|
|
792
|
-
// properties: {
|
|
793
|
-
// task_ids: {
|
|
794
|
-
// oneOf: [
|
|
795
|
-
// {
|
|
796
|
-
// type: "string",
|
|
797
|
-
// description: "Single task ID to delete",
|
|
798
|
-
// },
|
|
799
|
-
// {
|
|
800
|
-
// type: "array",
|
|
801
|
-
// items: { type: "string" },
|
|
802
|
-
// description: "Array of task IDs to delete",
|
|
803
|
-
// },
|
|
804
|
-
// ],
|
|
805
|
-
// description: "Single task ID or array of task IDs to delete",
|
|
806
|
-
// },
|
|
807
|
-
// },
|
|
808
|
-
// required: ["task_ids"],
|
|
809
|
-
// },
|
|
810
|
-
// },
|
|
811
404
|
];
|
|
812
405
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
813
406
|
tools: TOOLS,
|
|
814
407
|
}));
|
|
815
|
-
async function handleAddMemory(args) {
|
|
816
|
-
// Require space_id to be provided
|
|
817
|
-
if (!args.space_id) {
|
|
818
|
-
throw new Error("space_id is required. Use list_spaces to see available options.");
|
|
819
|
-
}
|
|
820
|
-
if (!args.memories) {
|
|
821
|
-
throw new Error("memories parameter is required (single object or array)");
|
|
822
|
-
}
|
|
823
|
-
// Pass through to API
|
|
824
|
-
return makeApiCall("add-memory", {
|
|
825
|
-
space_id: args.space_id,
|
|
826
|
-
memories: args.memories,
|
|
827
|
-
});
|
|
828
|
-
}
|
|
829
408
|
async function handleSearchMemories(args) {
|
|
830
409
|
const { space_id, query, topics, max_results = 10, } = args;
|
|
831
410
|
// Require space_id
|
|
@@ -856,13 +435,6 @@ async function handleFetch(args) {
|
|
|
856
435
|
const { id, ids } = args;
|
|
857
436
|
return makeApiCall("fetch", { id, ids });
|
|
858
437
|
}
|
|
859
|
-
/* async function handleDeleteMemory(args: any) {
|
|
860
|
-
const { memory_ids } = args as {
|
|
861
|
-
memory_ids: string | string[];
|
|
862
|
-
};
|
|
863
|
-
|
|
864
|
-
return makeApiCall("delete-memory", { memory_ids });
|
|
865
|
-
} */
|
|
866
438
|
async function handleListSpaces() {
|
|
867
439
|
return makeApiCall("list-spaces", {});
|
|
868
440
|
}
|
|
@@ -877,24 +449,6 @@ async function handleStart(args) {
|
|
|
877
449
|
const { space_id } = args;
|
|
878
450
|
return makeApiCall("start", { space_id });
|
|
879
451
|
}
|
|
880
|
-
/*
|
|
881
|
-
async function handleAddTask(args: any) {
|
|
882
|
-
if (!args.space_id) {
|
|
883
|
-
throw new Error(
|
|
884
|
-
"space_id is required. Use list_spaces to see available options.",
|
|
885
|
-
);
|
|
886
|
-
}
|
|
887
|
-
|
|
888
|
-
if (!args.tasks) {
|
|
889
|
-
throw new Error("tasks parameter is required (single object or array)");
|
|
890
|
-
}
|
|
891
|
-
|
|
892
|
-
// Pass through to API
|
|
893
|
-
return makeApiCall("add-task", {
|
|
894
|
-
space_id: args.space_id,
|
|
895
|
-
tasks: args.tasks,
|
|
896
|
-
});
|
|
897
|
-
} */
|
|
898
452
|
async function handleUpdateMemory(args) {
|
|
899
453
|
if (!args.space_id) {
|
|
900
454
|
throw new Error("space_id is required. Use list_spaces to see available options.");
|
|
@@ -910,33 +464,14 @@ async function handleUpdateMemory(args) {
|
|
|
910
464
|
delete: args.delete,
|
|
911
465
|
});
|
|
912
466
|
}
|
|
913
|
-
async function handleUpdateTaskStatus(args) {
|
|
914
|
-
return makeApiCall("update-task-status", args);
|
|
915
|
-
}
|
|
916
|
-
async function handleUpdateTask(args) {
|
|
917
|
-
if (!args.updates) {
|
|
918
|
-
throw new Error("updates parameter is required (single object or array)");
|
|
919
|
-
}
|
|
920
|
-
// Pass through to API
|
|
921
|
-
return makeApiCall("update-task", {
|
|
922
|
-
updates: args.updates,
|
|
923
|
-
});
|
|
924
|
-
}
|
|
925
467
|
async function handleListTasks(args) {
|
|
926
468
|
return makeApiCall("list-tasks", args);
|
|
927
469
|
}
|
|
928
|
-
async function handleDeleteTask(args) {
|
|
929
|
-
const { task_ids } = args;
|
|
930
|
-
return makeApiCall("delete-task", { task_ids });
|
|
931
|
-
}
|
|
932
470
|
server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
933
471
|
const { name, arguments: args } = request.params;
|
|
934
472
|
try {
|
|
935
473
|
let result;
|
|
936
474
|
switch (name) {
|
|
937
|
-
// DEPRECATED: case "add_memory":
|
|
938
|
-
// DEPRECATED: result = await handleAddMemory(args);
|
|
939
|
-
// DEPRECATED: break;
|
|
940
475
|
case "search_memories":
|
|
941
476
|
result = await handleSearchMemories(args);
|
|
942
477
|
break;
|
|
@@ -946,13 +481,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
946
481
|
case "fetch":
|
|
947
482
|
result = await handleFetch(args);
|
|
948
483
|
break;
|
|
949
|
-
// DISABLED: get_entities handler - not useful in current form
|
|
950
|
-
// case "get_entities":
|
|
951
|
-
// result = await handleGetEntities(args);
|
|
952
|
-
// break;
|
|
953
|
-
// DEPRECATED: case "delete_memory":
|
|
954
|
-
// DEPRECATED: result = await handleDeleteMemory(args);
|
|
955
|
-
// DEPRECATED: break;
|
|
956
484
|
case "list_spaces":
|
|
957
485
|
result = await handleListSpaces();
|
|
958
486
|
break;
|
|
@@ -965,24 +493,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
965
493
|
case "start":
|
|
966
494
|
result = await handleStart(args);
|
|
967
495
|
break;
|
|
968
|
-
// DEPRECATED: case "add_task":
|
|
969
|
-
// DEPRECATED: result = await handleAddTask(args);
|
|
970
|
-
// DEPRECATED: break;
|
|
971
496
|
case "update_memory":
|
|
972
497
|
result = await handleUpdateMemory(args);
|
|
973
498
|
break;
|
|
974
|
-
// DEPRECATED: case "update_task_status":
|
|
975
|
-
// DEPRECATED: result = await handleUpdateTaskStatus(args);
|
|
976
|
-
// DEPRECATED: break;
|
|
977
|
-
// DEPRECATED: case "update_task":
|
|
978
|
-
// DEPRECATED: result = await handleUpdateTask(args);
|
|
979
|
-
// DEPRECATED: break;
|
|
980
499
|
case "list_tasks":
|
|
981
500
|
result = await handleListTasks(args);
|
|
982
501
|
break;
|
|
983
|
-
// DEPRECATED: case "delete_task":
|
|
984
|
-
// DEPRECATED: result = await handleDeleteTask(args);
|
|
985
|
-
// DEPRECATED: break;
|
|
986
502
|
default:
|
|
987
503
|
throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
988
504
|
}
|
package/index.ts
CHANGED
|
@@ -108,72 +108,6 @@ const server = new Server(
|
|
|
108
108
|
);
|
|
109
109
|
|
|
110
110
|
const TOOLS = [
|
|
111
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
112
|
-
// {
|
|
113
|
-
// name: "add_memory",
|
|
114
|
-
// description:
|
|
115
|
-
// "Store CONTEXT (general information and knowledge) in the user's memory system. For actionable workflow items with status tracking, use add_task instead. Accepts a single context item or an array of context items for batch creation. REQUIRES space_id parameter.",
|
|
116
|
-
// inputSchema: {
|
|
117
|
-
// type: "object",
|
|
118
|
-
// properties: {
|
|
119
|
-
// space_id: {
|
|
120
|
-
// type: "string",
|
|
121
|
-
// description:
|
|
122
|
-
// "REQUIRED: Space to store memory/memories in (use list_spaces to see available options)",
|
|
123
|
-
// },
|
|
124
|
-
// memories: {
|
|
125
|
-
// oneOf: [
|
|
126
|
-
// {
|
|
127
|
-
// type: "object",
|
|
128
|
-
// properties: {
|
|
129
|
-
// title: {
|
|
130
|
-
// type: "string",
|
|
131
|
-
// description: "Title/summary of the memory",
|
|
132
|
-
// },
|
|
133
|
-
// content: {
|
|
134
|
-
// type: "string",
|
|
135
|
-
// description: "Detailed content of the memory",
|
|
136
|
-
// },
|
|
137
|
-
// topics: {
|
|
138
|
-
// type: "array",
|
|
139
|
-
// items: { type: "string" },
|
|
140
|
-
// description:
|
|
141
|
-
// "Flexible topics/tags for organization (e.g., ['coding', 'react'])",
|
|
142
|
-
// },
|
|
143
|
-
// },
|
|
144
|
-
// required: ["title", "content"],
|
|
145
|
-
// },
|
|
146
|
-
// {
|
|
147
|
-
// type: "array",
|
|
148
|
-
// items: {
|
|
149
|
-
// type: "object",
|
|
150
|
-
// properties: {
|
|
151
|
-
// title: {
|
|
152
|
-
// type: "string",
|
|
153
|
-
// description: "Title/summary of the memory",
|
|
154
|
-
// },
|
|
155
|
-
// content: {
|
|
156
|
-
// type: "string",
|
|
157
|
-
// description: "Detailed content of the memory",
|
|
158
|
-
// },
|
|
159
|
-
// topics: {
|
|
160
|
-
// type: "array",
|
|
161
|
-
// items: { type: "string" },
|
|
162
|
-
// description:
|
|
163
|
-
// "Flexible topics/tags for organization (e.g., ['coding', 'react'])",
|
|
164
|
-
// },
|
|
165
|
-
// },
|
|
166
|
-
// required: ["title", "content"],
|
|
167
|
-
// },
|
|
168
|
-
// },
|
|
169
|
-
// ],
|
|
170
|
-
// description:
|
|
171
|
-
// "Single memory object or array of memory objects to create",
|
|
172
|
-
// },
|
|
173
|
-
// },
|
|
174
|
-
// required: ["space_id", "memories"],
|
|
175
|
-
// },
|
|
176
|
-
// },
|
|
177
111
|
{
|
|
178
112
|
name: "search_memories",
|
|
179
113
|
description:
|
|
@@ -251,48 +185,6 @@ const TOOLS = [
|
|
|
251
185
|
},
|
|
252
186
|
},
|
|
253
187
|
},
|
|
254
|
-
// DISABLED: get_entities tool - not useful in current form
|
|
255
|
-
// {
|
|
256
|
-
// name: "get_entities",
|
|
257
|
-
// description:
|
|
258
|
-
// "Get extracted entities (people, places, concepts) from CONTEXT items (general information). If no memory_id provided, returns top 20 most frequently mentioned entities across all context. WARNING: This tool can return large responses - use sparingly and only when entity information is specifically needed.",
|
|
259
|
-
// inputSchema: {
|
|
260
|
-
// type: "object",
|
|
261
|
-
// properties: {
|
|
262
|
-
// memory_id: {
|
|
263
|
-
// type: "string",
|
|
264
|
-
// description:
|
|
265
|
-
// "Memory ID to get entities for. RECOMMENDED: Always provide memory_id to get focused results.",
|
|
266
|
-
// },
|
|
267
|
-
// },
|
|
268
|
-
// },
|
|
269
|
-
// },
|
|
270
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
271
|
-
// {
|
|
272
|
-
// name: "delete_memory",
|
|
273
|
-
// description:
|
|
274
|
-
// "Delete one or more CONTEXT items (general information). For deleting tasks, use delete_task instead. Accepts a single memory ID or an array of memory IDs for batch deletion.",
|
|
275
|
-
// inputSchema: {
|
|
276
|
-
// type: "object",
|
|
277
|
-
// properties: {
|
|
278
|
-
// memory_ids: {
|
|
279
|
-
// oneOf: [
|
|
280
|
-
// {
|
|
281
|
-
// type: "string",
|
|
282
|
-
// description: "Single memory ID to delete",
|
|
283
|
-
// },
|
|
284
|
-
// {
|
|
285
|
-
// type: "array",
|
|
286
|
-
// items: { type: "string" },
|
|
287
|
-
// description: "Array of memory IDs to delete",
|
|
288
|
-
// },
|
|
289
|
-
// ],
|
|
290
|
-
// description: "Single memory ID or array of memory IDs to delete",
|
|
291
|
-
// },
|
|
292
|
-
// },
|
|
293
|
-
// required: ["memory_ids"],
|
|
294
|
-
// },
|
|
295
|
-
// },
|
|
296
188
|
{
|
|
297
189
|
name: "list_spaces",
|
|
298
190
|
description:
|
|
@@ -368,193 +260,6 @@ const TOOLS = [
|
|
|
368
260
|
required: ["space_id"],
|
|
369
261
|
},
|
|
370
262
|
},
|
|
371
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
372
|
-
// {
|
|
373
|
-
// name: "add_task",
|
|
374
|
-
// description:
|
|
375
|
-
// "Create one or more tasks in your space with status tracking and priority levels. Supports BATCH creation and NESTED subtasks. Accepts a single task object or an array of task objects. Tasks have graph relationships like memories (entities, topics, temporal). REQUIRES space_id parameter. Example with subtasks: {tasks: {title: 'Parent', content: 'Main task', subtasks: [{title: 'Subtask 1', content: 'Child task'}]}}",
|
|
376
|
-
// inputSchema: {
|
|
377
|
-
// type: "object",
|
|
378
|
-
// properties: {
|
|
379
|
-
// space_id: {
|
|
380
|
-
// type: "string",
|
|
381
|
-
// description:
|
|
382
|
-
// "REQUIRED: Space to create task/tasks in (use list_spaces to see available options)",
|
|
383
|
-
// },
|
|
384
|
-
// tasks: {
|
|
385
|
-
// oneOf: [
|
|
386
|
-
// {
|
|
387
|
-
// type: "object",
|
|
388
|
-
// properties: {
|
|
389
|
-
// title: {
|
|
390
|
-
// type: "string",
|
|
391
|
-
// description: "Task title/summary",
|
|
392
|
-
// },
|
|
393
|
-
// content: {
|
|
394
|
-
// type: "string",
|
|
395
|
-
// description: "Detailed task description",
|
|
396
|
-
// },
|
|
397
|
-
// topics: {
|
|
398
|
-
// type: "array",
|
|
399
|
-
// items: { type: "string" },
|
|
400
|
-
// description: "Optional topics/tags for organization",
|
|
401
|
-
// },
|
|
402
|
-
// status: {
|
|
403
|
-
// type: "string",
|
|
404
|
-
// enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
405
|
-
// description: "Task status (default: pending)",
|
|
406
|
-
// default: "pending",
|
|
407
|
-
// },
|
|
408
|
-
// priority: {
|
|
409
|
-
// type: "string",
|
|
410
|
-
// enum: ["urgent", "high", "medium", "low"],
|
|
411
|
-
// description:
|
|
412
|
-
// "Task priority level (default: medium). Use 'urgent' for time-sensitive tasks requiring immediate attention, 'high' for important tasks, 'medium' for standard tasks, 'low' for nice-to-have tasks.",
|
|
413
|
-
// default: "medium",
|
|
414
|
-
// },
|
|
415
|
-
// parent_id: {
|
|
416
|
-
// type: "string",
|
|
417
|
-
// description:
|
|
418
|
-
// "Optional parent task ID to create this as a subtask. Use an existing task's ID (format: task_TIMESTAMP_ID) to nest this task under it. Use list_tasks to find parent task IDs. If omitted, creates a top-level task. NOTE: Use 'subtasks' array instead for creating parent+children in one call.",
|
|
419
|
-
// },
|
|
420
|
-
// subtasks: {
|
|
421
|
-
// type: "array",
|
|
422
|
-
// items: {
|
|
423
|
-
// type: "object",
|
|
424
|
-
// properties: {
|
|
425
|
-
// title: {
|
|
426
|
-
// type: "string",
|
|
427
|
-
// description: "Subtask title",
|
|
428
|
-
// },
|
|
429
|
-
// content: {
|
|
430
|
-
// type: "string",
|
|
431
|
-
// description: "Subtask description/details",
|
|
432
|
-
// },
|
|
433
|
-
// topics: {
|
|
434
|
-
// type: "array",
|
|
435
|
-
// items: { type: "string" },
|
|
436
|
-
// description: "Topics/tags for this subtask",
|
|
437
|
-
// },
|
|
438
|
-
// status: {
|
|
439
|
-
// type: "string",
|
|
440
|
-
// enum: [
|
|
441
|
-
// "pending",
|
|
442
|
-
// "in_progress",
|
|
443
|
-
// "completed",
|
|
444
|
-
// "invalidated",
|
|
445
|
-
// ],
|
|
446
|
-
// description: "Subtask status (default: pending)",
|
|
447
|
-
// default: "pending",
|
|
448
|
-
// },
|
|
449
|
-
// priority: {
|
|
450
|
-
// type: "string",
|
|
451
|
-
// enum: ["urgent", "high", "medium", "low"],
|
|
452
|
-
// description: "Subtask priority level (default: medium)",
|
|
453
|
-
// default: "medium",
|
|
454
|
-
// },
|
|
455
|
-
// },
|
|
456
|
-
// required: ["title", "content"],
|
|
457
|
-
// },
|
|
458
|
-
// description:
|
|
459
|
-
// "Optional array of subtasks to create under this parent task. Each will be automatically linked to the parent.",
|
|
460
|
-
// },
|
|
461
|
-
// },
|
|
462
|
-
// required: ["title", "content"],
|
|
463
|
-
// },
|
|
464
|
-
// {
|
|
465
|
-
// type: "array",
|
|
466
|
-
// items: {
|
|
467
|
-
// type: "object",
|
|
468
|
-
// properties: {
|
|
469
|
-
// title: {
|
|
470
|
-
// type: "string",
|
|
471
|
-
// description: "Task title/summary",
|
|
472
|
-
// },
|
|
473
|
-
// content: {
|
|
474
|
-
// type: "string",
|
|
475
|
-
// description: "Detailed task description",
|
|
476
|
-
// },
|
|
477
|
-
// topics: {
|
|
478
|
-
// type: "array",
|
|
479
|
-
// items: { type: "string" },
|
|
480
|
-
// description: "Optional topics/tags for organization",
|
|
481
|
-
// },
|
|
482
|
-
// status: {
|
|
483
|
-
// type: "string",
|
|
484
|
-
// enum: [
|
|
485
|
-
// "pending",
|
|
486
|
-
// "in_progress",
|
|
487
|
-
// "completed",
|
|
488
|
-
// "invalidated",
|
|
489
|
-
// ],
|
|
490
|
-
// description: "Task status (default: pending)",
|
|
491
|
-
// default: "pending",
|
|
492
|
-
// },
|
|
493
|
-
// priority: {
|
|
494
|
-
// type: "string",
|
|
495
|
-
// enum: ["urgent", "high", "medium", "low"],
|
|
496
|
-
// description:
|
|
497
|
-
// "Task priority level (default: medium). Use 'urgent' for time-sensitive tasks requiring immediate attention, 'high' for important tasks, 'medium' for standard tasks, 'low' for nice-to-have tasks.",
|
|
498
|
-
// default: "medium",
|
|
499
|
-
// },
|
|
500
|
-
// parent_id: {
|
|
501
|
-
// type: "string",
|
|
502
|
-
// description:
|
|
503
|
-
// "Optional parent task ID to create this as a subtask. Use an existing task's ID (format: task_TIMESTAMP_ID) to nest this task under it. Use list_tasks to find parent task IDs. If omitted, creates a top-level task. NOTE: Use 'subtasks' array instead for creating parent+children in one call.",
|
|
504
|
-
// },
|
|
505
|
-
// subtasks: {
|
|
506
|
-
// type: "array",
|
|
507
|
-
// items: {
|
|
508
|
-
// type: "object",
|
|
509
|
-
// properties: {
|
|
510
|
-
// title: {
|
|
511
|
-
// type: "string",
|
|
512
|
-
// description: "Subtask title",
|
|
513
|
-
// },
|
|
514
|
-
// content: {
|
|
515
|
-
// type: "string",
|
|
516
|
-
// description: "Subtask description/details",
|
|
517
|
-
// },
|
|
518
|
-
// topics: {
|
|
519
|
-
// type: "array",
|
|
520
|
-
// items: { type: "string" },
|
|
521
|
-
// description: "Topics/tags for this subtask",
|
|
522
|
-
// },
|
|
523
|
-
// status: {
|
|
524
|
-
// type: "string",
|
|
525
|
-
// enum: [
|
|
526
|
-
// "pending",
|
|
527
|
-
// "in_progress",
|
|
528
|
-
// "completed",
|
|
529
|
-
// "invalidated",
|
|
530
|
-
// ],
|
|
531
|
-
// description: "Subtask status (default: pending)",
|
|
532
|
-
// default: "pending",
|
|
533
|
-
// },
|
|
534
|
-
// priority: {
|
|
535
|
-
// type: "string",
|
|
536
|
-
// enum: ["urgent", "high", "medium", "low"],
|
|
537
|
-
// description:
|
|
538
|
-
// "Subtask priority level (default: medium)",
|
|
539
|
-
// default: "medium",
|
|
540
|
-
// },
|
|
541
|
-
// },
|
|
542
|
-
// required: ["title", "content"],
|
|
543
|
-
// },
|
|
544
|
-
// description:
|
|
545
|
-
// "Optional array of subtasks to create under this parent task. Each will be automatically linked to the parent.",
|
|
546
|
-
// },
|
|
547
|
-
// },
|
|
548
|
-
// required: ["title", "content"],
|
|
549
|
-
// },
|
|
550
|
-
// },
|
|
551
|
-
// ],
|
|
552
|
-
// description: "Single task object or array of task objects to create",
|
|
553
|
-
// },
|
|
554
|
-
// },
|
|
555
|
-
// required: ["space_id", "tasks"],
|
|
556
|
-
// },
|
|
557
|
-
// },
|
|
558
263
|
{
|
|
559
264
|
name: "update_memory",
|
|
560
265
|
description:
|
|
@@ -714,92 +419,6 @@ const TOOLS = [
|
|
|
714
419
|
required: ["space_id"],
|
|
715
420
|
},
|
|
716
421
|
},
|
|
717
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
718
|
-
// {
|
|
719
|
-
// name: "update_task_status",
|
|
720
|
-
// description:
|
|
721
|
-
// "Change a task's status (pending/in_progress/completed/invalidated)",
|
|
722
|
-
// inputSchema: {
|
|
723
|
-
// type: "object",
|
|
724
|
-
// properties: {
|
|
725
|
-
// task_id: {
|
|
726
|
-
// type: "string",
|
|
727
|
-
// description: "Task ID to update",
|
|
728
|
-
// },
|
|
729
|
-
// status: {
|
|
730
|
-
// type: "string",
|
|
731
|
-
// enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
732
|
-
// description: "New status",
|
|
733
|
-
// },
|
|
734
|
-
// },
|
|
735
|
-
// required: ["task_id", "status"],
|
|
736
|
-
// },
|
|
737
|
-
// },
|
|
738
|
-
{
|
|
739
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
740
|
-
// name: "update_task",
|
|
741
|
-
// description:
|
|
742
|
-
// "Update one or more TASKS (not context/memories - use add_memory to update context by creating new versions). Accepts a single update object or an array of update objects for batch updates. Each update must include task_id.",
|
|
743
|
-
// inputSchema: {
|
|
744
|
-
// type: "object",
|
|
745
|
-
// properties: {
|
|
746
|
-
// updates: {
|
|
747
|
-
// oneOf: [
|
|
748
|
-
// {
|
|
749
|
-
// type: "object",
|
|
750
|
-
// properties: {
|
|
751
|
-
// task_id: {
|
|
752
|
-
// type: "string",
|
|
753
|
-
// description: "Task ID to update",
|
|
754
|
-
// },
|
|
755
|
-
// title: {
|
|
756
|
-
// type: "string",
|
|
757
|
-
// description: "New title (optional)",
|
|
758
|
-
// },
|
|
759
|
-
// content: {
|
|
760
|
-
// type: "string",
|
|
761
|
-
// description: "New content (optional)",
|
|
762
|
-
// },
|
|
763
|
-
// topics: {
|
|
764
|
-
// type: "array",
|
|
765
|
-
// items: { type: "string" },
|
|
766
|
-
// description: "New topics array (optional)",
|
|
767
|
-
// },
|
|
768
|
-
// },
|
|
769
|
-
// required: ["task_id"],
|
|
770
|
-
// },
|
|
771
|
-
// {
|
|
772
|
-
// type: "array",
|
|
773
|
-
// items: {
|
|
774
|
-
// type: "object",
|
|
775
|
-
// properties: {
|
|
776
|
-
// task_id: {
|
|
777
|
-
// type: "string",
|
|
778
|
-
// description: "Task ID to update",
|
|
779
|
-
// },
|
|
780
|
-
// title: {
|
|
781
|
-
// type: "string",
|
|
782
|
-
// description: "New title (optional)",
|
|
783
|
-
// },
|
|
784
|
-
// content: {
|
|
785
|
-
// type: "string",
|
|
786
|
-
// description: "New content (optional)",
|
|
787
|
-
// },
|
|
788
|
-
// topics: {
|
|
789
|
-
// type: "array",
|
|
790
|
-
// items: { type: "string" },
|
|
791
|
-
// description: "New topics array (optional)",
|
|
792
|
-
// },
|
|
793
|
-
// },
|
|
794
|
-
// required: ["task_id"],
|
|
795
|
-
// },
|
|
796
|
-
// },
|
|
797
|
-
// ],
|
|
798
|
-
// description: "Single update object or array of update objects",
|
|
799
|
-
// },
|
|
800
|
-
// },
|
|
801
|
-
// required: ["updates"],
|
|
802
|
-
},
|
|
803
422
|
{
|
|
804
423
|
name: "list_tasks",
|
|
805
424
|
description: "List tasks in a space with optional filtering",
|
|
@@ -829,57 +448,12 @@ const TOOLS = [
|
|
|
829
448
|
required: ["space_id"],
|
|
830
449
|
},
|
|
831
450
|
},
|
|
832
|
-
// DEPRECATED: Use update_memory instead (Nov 8, 2025)
|
|
833
|
-
// {
|
|
834
|
-
// name: "delete_task",
|
|
835
|
-
// description:
|
|
836
|
-
// "Delete one or more tasks in a single transaction. Accepts a single task ID or an array of task IDs for batch deletion.",
|
|
837
|
-
// inputSchema: {
|
|
838
|
-
// type: "object",
|
|
839
|
-
// properties: {
|
|
840
|
-
// task_ids: {
|
|
841
|
-
// oneOf: [
|
|
842
|
-
// {
|
|
843
|
-
// type: "string",
|
|
844
|
-
// description: "Single task ID to delete",
|
|
845
|
-
// },
|
|
846
|
-
// {
|
|
847
|
-
// type: "array",
|
|
848
|
-
// items: { type: "string" },
|
|
849
|
-
// description: "Array of task IDs to delete",
|
|
850
|
-
// },
|
|
851
|
-
// ],
|
|
852
|
-
// description: "Single task ID or array of task IDs to delete",
|
|
853
|
-
// },
|
|
854
|
-
// },
|
|
855
|
-
// required: ["task_ids"],
|
|
856
|
-
// },
|
|
857
|
-
// },
|
|
858
451
|
];
|
|
859
452
|
|
|
860
453
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
861
454
|
tools: TOOLS,
|
|
862
455
|
}));
|
|
863
456
|
|
|
864
|
-
async function handleAddMemory(args: any) {
|
|
865
|
-
// Require space_id to be provided
|
|
866
|
-
if (!args.space_id) {
|
|
867
|
-
throw new Error(
|
|
868
|
-
"space_id is required. Use list_spaces to see available options.",
|
|
869
|
-
);
|
|
870
|
-
}
|
|
871
|
-
|
|
872
|
-
if (!args.memories) {
|
|
873
|
-
throw new Error("memories parameter is required (single object or array)");
|
|
874
|
-
}
|
|
875
|
-
|
|
876
|
-
// Pass through to API
|
|
877
|
-
return makeApiCall("add-memory", {
|
|
878
|
-
space_id: args.space_id,
|
|
879
|
-
memories: args.memories,
|
|
880
|
-
});
|
|
881
|
-
}
|
|
882
|
-
|
|
883
457
|
async function handleSearchMemories(args: any) {
|
|
884
458
|
const {
|
|
885
459
|
space_id,
|
|
@@ -940,14 +514,6 @@ async function handleFetch(args: any) {
|
|
|
940
514
|
return makeApiCall("fetch", { id, ids });
|
|
941
515
|
}
|
|
942
516
|
|
|
943
|
-
/* async function handleDeleteMemory(args: any) {
|
|
944
|
-
const { memory_ids } = args as {
|
|
945
|
-
memory_ids: string | string[];
|
|
946
|
-
};
|
|
947
|
-
|
|
948
|
-
return makeApiCall("delete-memory", { memory_ids });
|
|
949
|
-
} */
|
|
950
|
-
|
|
951
517
|
async function handleListSpaces() {
|
|
952
518
|
return makeApiCall("list-spaces", {});
|
|
953
519
|
}
|
|
@@ -965,24 +531,6 @@ async function handleStart(args: any) {
|
|
|
965
531
|
const { space_id } = args as { space_id: string };
|
|
966
532
|
return makeApiCall("start", { space_id });
|
|
967
533
|
}
|
|
968
|
-
/*
|
|
969
|
-
async function handleAddTask(args: any) {
|
|
970
|
-
if (!args.space_id) {
|
|
971
|
-
throw new Error(
|
|
972
|
-
"space_id is required. Use list_spaces to see available options.",
|
|
973
|
-
);
|
|
974
|
-
}
|
|
975
|
-
|
|
976
|
-
if (!args.tasks) {
|
|
977
|
-
throw new Error("tasks parameter is required (single object or array)");
|
|
978
|
-
}
|
|
979
|
-
|
|
980
|
-
// Pass through to API
|
|
981
|
-
return makeApiCall("add-task", {
|
|
982
|
-
space_id: args.space_id,
|
|
983
|
-
tasks: args.tasks,
|
|
984
|
-
});
|
|
985
|
-
} */
|
|
986
534
|
|
|
987
535
|
async function handleUpdateMemory(args: any) {
|
|
988
536
|
if (!args.space_id) {
|
|
@@ -1006,33 +554,10 @@ async function handleUpdateMemory(args: any) {
|
|
|
1006
554
|
});
|
|
1007
555
|
}
|
|
1008
556
|
|
|
1009
|
-
async function handleUpdateTaskStatus(args: any) {
|
|
1010
|
-
return makeApiCall("update-task-status", args);
|
|
1011
|
-
}
|
|
1012
|
-
|
|
1013
|
-
async function handleUpdateTask(args: any) {
|
|
1014
|
-
if (!args.updates) {
|
|
1015
|
-
throw new Error("updates parameter is required (single object or array)");
|
|
1016
|
-
}
|
|
1017
|
-
|
|
1018
|
-
// Pass through to API
|
|
1019
|
-
return makeApiCall("update-task", {
|
|
1020
|
-
updates: args.updates,
|
|
1021
|
-
});
|
|
1022
|
-
}
|
|
1023
|
-
|
|
1024
557
|
async function handleListTasks(args: any) {
|
|
1025
558
|
return makeApiCall("list-tasks", args);
|
|
1026
559
|
}
|
|
1027
560
|
|
|
1028
|
-
async function handleDeleteTask(args: any) {
|
|
1029
|
-
const { task_ids } = args as {
|
|
1030
|
-
task_ids: string | string[];
|
|
1031
|
-
};
|
|
1032
|
-
|
|
1033
|
-
return makeApiCall("delete-task", { task_ids });
|
|
1034
|
-
}
|
|
1035
|
-
|
|
1036
561
|
server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
|
|
1037
562
|
const { name, arguments: args } = request.params;
|
|
1038
563
|
|
|
@@ -1040,9 +565,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
|
|
|
1040
565
|
let result: any;
|
|
1041
566
|
|
|
1042
567
|
switch (name) {
|
|
1043
|
-
// DEPRECATED: case "add_memory":
|
|
1044
|
-
// DEPRECATED: result = await handleAddMemory(args);
|
|
1045
|
-
// DEPRECATED: break;
|
|
1046
568
|
case "search_memories":
|
|
1047
569
|
result = await handleSearchMemories(args);
|
|
1048
570
|
break;
|
|
@@ -1052,13 +574,6 @@ server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
|
|
|
1052
574
|
case "fetch":
|
|
1053
575
|
result = await handleFetch(args);
|
|
1054
576
|
break;
|
|
1055
|
-
// DISABLED: get_entities handler - not useful in current form
|
|
1056
|
-
// case "get_entities":
|
|
1057
|
-
// result = await handleGetEntities(args);
|
|
1058
|
-
// break;
|
|
1059
|
-
// DEPRECATED: case "delete_memory":
|
|
1060
|
-
// DEPRECATED: result = await handleDeleteMemory(args);
|
|
1061
|
-
// DEPRECATED: break;
|
|
1062
577
|
case "list_spaces":
|
|
1063
578
|
result = await handleListSpaces();
|
|
1064
579
|
break;
|
|
@@ -1071,24 +586,12 @@ server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
|
|
|
1071
586
|
case "start":
|
|
1072
587
|
result = await handleStart(args);
|
|
1073
588
|
break;
|
|
1074
|
-
// DEPRECATED: case "add_task":
|
|
1075
|
-
// DEPRECATED: result = await handleAddTask(args);
|
|
1076
|
-
// DEPRECATED: break;
|
|
1077
589
|
case "update_memory":
|
|
1078
590
|
result = await handleUpdateMemory(args);
|
|
1079
591
|
break;
|
|
1080
|
-
// DEPRECATED: case "update_task_status":
|
|
1081
|
-
// DEPRECATED: result = await handleUpdateTaskStatus(args);
|
|
1082
|
-
// DEPRECATED: break;
|
|
1083
|
-
// DEPRECATED: case "update_task":
|
|
1084
|
-
// DEPRECATED: result = await handleUpdateTask(args);
|
|
1085
|
-
// DEPRECATED: break;
|
|
1086
592
|
case "list_tasks":
|
|
1087
593
|
result = await handleListTasks(args);
|
|
1088
594
|
break;
|
|
1089
|
-
// DEPRECATED: case "delete_task":
|
|
1090
|
-
// DEPRECATED: result = await handleDeleteTask(args);
|
|
1091
|
-
// DEPRECATED: break;
|
|
1092
595
|
default:
|
|
1093
596
|
throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
1094
597
|
}
|