@intangle/mcp-server 1.1.6 → 1.1.7

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 (3) hide show
  1. package/dist/index.js +437 -397
  2. package/index.ts +429 -415
  3. package/package.json +51 -50
package/dist/index.js CHANGED
@@ -78,66 +78,72 @@ const server = new Server({
78
78
  },
79
79
  });
80
80
  const TOOLS = [
81
- {
82
- name: "add_memory",
83
- description: "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.",
84
- inputSchema: {
85
- type: "object",
86
- properties: {
87
- space_id: {
88
- type: "string",
89
- description: "REQUIRED: Space to store memory/memories in (use list_spaces to see available options)",
90
- },
91
- memories: {
92
- oneOf: [
93
- {
94
- type: "object",
95
- properties: {
96
- title: {
97
- type: "string",
98
- description: "Title/summary of the memory",
99
- },
100
- content: {
101
- type: "string",
102
- description: "Detailed content of the memory",
103
- },
104
- topics: {
105
- type: "array",
106
- items: { type: "string" },
107
- description: "Flexible topics/tags for organization (e.g., ['coding', 'react'])",
108
- },
109
- },
110
- required: ["title", "content"],
111
- },
112
- {
113
- type: "array",
114
- items: {
115
- type: "object",
116
- properties: {
117
- title: {
118
- type: "string",
119
- description: "Title/summary of the memory",
120
- },
121
- content: {
122
- type: "string",
123
- description: "Detailed content of the memory",
124
- },
125
- topics: {
126
- type: "array",
127
- items: { type: "string" },
128
- description: "Flexible topics/tags for organization (e.g., ['coding', 'react'])",
129
- },
130
- },
131
- required: ["title", "content"],
132
- },
133
- },
134
- ],
135
- description: "Single memory object or array of memory objects to create",
136
- },
137
- },
138
- required: ["space_id", "memories"],
139
- },
140
- },
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
+ // },
141
147
  {
142
148
  name: "search_memories",
143
149
  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.",
@@ -224,30 +230,32 @@ const TOOLS = [
224
230
  // },
225
231
  // },
226
232
  // },
227
- {
228
- name: "delete_memory",
229
- description: "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.",
230
- inputSchema: {
231
- type: "object",
232
- properties: {
233
- memory_ids: {
234
- oneOf: [
235
- {
236
- type: "string",
237
- description: "Single memory ID to delete",
238
- },
239
- {
240
- type: "array",
241
- items: { type: "string" },
242
- description: "Array of memory IDs to delete",
243
- },
244
- ],
245
- description: "Single memory ID or array of memory IDs to delete",
246
- },
247
- },
248
- required: ["memory_ids"],
249
- },
250
- },
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
+ // },
251
259
  {
252
260
  name: "list_spaces",
253
261
  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).",
@@ -315,183 +323,193 @@ const TOOLS = [
315
323
  required: ["space_id"],
316
324
  },
317
325
  },
318
- {
319
- name: "add_task",
320
- description: "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'}]}}",
321
- inputSchema: {
322
- type: "object",
323
- properties: {
324
- space_id: {
325
- type: "string",
326
- description: "REQUIRED: Space to create task/tasks in (use list_spaces to see available options)",
327
- },
328
- tasks: {
329
- oneOf: [
330
- {
331
- type: "object",
332
- properties: {
333
- title: {
334
- type: "string",
335
- description: "Task title/summary",
336
- },
337
- content: {
338
- type: "string",
339
- description: "Detailed task description",
340
- },
341
- topics: {
342
- type: "array",
343
- items: { type: "string" },
344
- description: "Optional topics/tags for organization",
345
- },
346
- status: {
347
- type: "string",
348
- enum: ["pending", "in_progress", "completed", "invalidated"],
349
- description: "Task status (default: pending)",
350
- default: "pending",
351
- },
352
- priority: {
353
- type: "string",
354
- enum: ["urgent", "high", "medium", "low"],
355
- description: "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.",
356
- default: "medium",
357
- },
358
- parent_id: {
359
- type: "string",
360
- description: "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.",
361
- },
362
- subtasks: {
363
- type: "array",
364
- items: {
365
- type: "object",
366
- properties: {
367
- title: {
368
- type: "string",
369
- description: "Subtask title",
370
- },
371
- content: {
372
- type: "string",
373
- description: "Subtask description/details",
374
- },
375
- topics: {
376
- type: "array",
377
- items: { type: "string" },
378
- description: "Topics/tags for this subtask",
379
- },
380
- status: {
381
- type: "string",
382
- enum: [
383
- "pending",
384
- "in_progress",
385
- "completed",
386
- "invalidated",
387
- ],
388
- description: "Subtask status (default: pending)",
389
- default: "pending",
390
- },
391
- priority: {
392
- type: "string",
393
- enum: ["urgent", "high", "medium", "low"],
394
- description: "Subtask priority level (default: medium)",
395
- default: "medium",
396
- },
397
- },
398
- required: ["title", "content"],
399
- },
400
- description: "Optional array of subtasks to create under this parent task. Each will be automatically linked to the parent.",
401
- },
402
- },
403
- required: ["title", "content"],
404
- },
405
- {
406
- type: "array",
407
- items: {
408
- type: "object",
409
- properties: {
410
- title: {
411
- type: "string",
412
- description: "Task title/summary",
413
- },
414
- content: {
415
- type: "string",
416
- description: "Detailed task description",
417
- },
418
- topics: {
419
- type: "array",
420
- items: { type: "string" },
421
- description: "Optional topics/tags for organization",
422
- },
423
- status: {
424
- type: "string",
425
- enum: [
426
- "pending",
427
- "in_progress",
428
- "completed",
429
- "invalidated",
430
- ],
431
- description: "Task status (default: pending)",
432
- default: "pending",
433
- },
434
- priority: {
435
- type: "string",
436
- enum: ["urgent", "high", "medium", "low"],
437
- description: "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.",
438
- default: "medium",
439
- },
440
- parent_id: {
441
- type: "string",
442
- description: "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.",
443
- },
444
- subtasks: {
445
- type: "array",
446
- items: {
447
- type: "object",
448
- properties: {
449
- title: {
450
- type: "string",
451
- description: "Subtask title",
452
- },
453
- content: {
454
- type: "string",
455
- description: "Subtask description/details",
456
- },
457
- topics: {
458
- type: "array",
459
- items: { type: "string" },
460
- description: "Topics/tags for this subtask",
461
- },
462
- status: {
463
- type: "string",
464
- enum: [
465
- "pending",
466
- "in_progress",
467
- "completed",
468
- "invalidated",
469
- ],
470
- description: "Subtask status (default: pending)",
471
- default: "pending",
472
- },
473
- priority: {
474
- type: "string",
475
- enum: ["urgent", "high", "medium", "low"],
476
- description: "Subtask priority level (default: medium)",
477
- default: "medium",
478
- },
479
- },
480
- required: ["title", "content"],
481
- },
482
- description: "Optional array of subtasks to create under this parent task. Each will be automatically linked to the parent.",
483
- },
484
- },
485
- required: ["title", "content"],
486
- },
487
- },
488
- ],
489
- description: "Single task object or array of task objects to create",
490
- },
491
- },
492
- required: ["space_id", "tasks"],
493
- },
494
- },
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
+ // },
495
513
  {
496
514
  name: "update_memory",
497
515
  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.",
@@ -540,7 +558,12 @@ const TOOLS = [
540
558
  },
541
559
  status: {
542
560
  type: "string",
543
- enum: ["pending", "in_progress", "completed", "invalidated"],
561
+ enum: [
562
+ "pending",
563
+ "in_progress",
564
+ "completed",
565
+ "invalidated",
566
+ ],
544
567
  description: "Task status (default: pending)",
545
568
  },
546
569
  priority: {
@@ -604,7 +627,12 @@ const TOOLS = [
604
627
  },
605
628
  status: {
606
629
  type: "string",
607
- enum: ["pending", "in_progress", "completed", "invalidated"],
630
+ enum: [
631
+ "pending",
632
+ "in_progress",
633
+ "completed",
634
+ "invalidated",
635
+ ],
608
636
  description: "New status (optional)",
609
637
  },
610
638
  priority: {
@@ -639,88 +667,91 @@ const TOOLS = [
639
667
  required: ["space_id"],
640
668
  },
641
669
  },
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
+ // },
642
691
  {
643
- name: "update_task_status",
644
- description: "Change a task's status (pending/in_progress/completed/invalidated)",
645
- inputSchema: {
646
- type: "object",
647
- properties: {
648
- task_id: {
649
- type: "string",
650
- description: "Task ID to update",
651
- },
652
- status: {
653
- type: "string",
654
- enum: ["pending", "in_progress", "completed", "invalidated"],
655
- description: "New status",
656
- },
657
- },
658
- required: ["task_id", "status"],
659
- },
660
- },
661
- {
662
- name: "update_task",
663
- description: "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.",
664
- inputSchema: {
665
- type: "object",
666
- properties: {
667
- updates: {
668
- oneOf: [
669
- {
670
- type: "object",
671
- properties: {
672
- task_id: {
673
- type: "string",
674
- description: "Task ID to update",
675
- },
676
- title: {
677
- type: "string",
678
- description: "New title (optional)",
679
- },
680
- content: {
681
- type: "string",
682
- description: "New content (optional)",
683
- },
684
- topics: {
685
- type: "array",
686
- items: { type: "string" },
687
- description: "New topics array (optional)",
688
- },
689
- },
690
- required: ["task_id"],
691
- },
692
- {
693
- type: "array",
694
- items: {
695
- type: "object",
696
- properties: {
697
- task_id: {
698
- type: "string",
699
- description: "Task ID to update",
700
- },
701
- title: {
702
- type: "string",
703
- description: "New title (optional)",
704
- },
705
- content: {
706
- type: "string",
707
- description: "New content (optional)",
708
- },
709
- topics: {
710
- type: "array",
711
- items: { type: "string" },
712
- description: "New topics array (optional)",
713
- },
714
- },
715
- required: ["task_id"],
716
- },
717
- },
718
- ],
719
- description: "Single update object or array of update objects",
720
- },
721
- },
722
- required: ["updates"],
723
- },
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"],
724
755
  },
725
756
  {
726
757
  name: "list_tasks",
@@ -751,30 +782,32 @@ const TOOLS = [
751
782
  required: ["space_id"],
752
783
  },
753
784
  },
754
- {
755
- name: "delete_task",
756
- description: "Delete one or more tasks in a single transaction. Accepts a single task ID or an array of task IDs for batch deletion.",
757
- inputSchema: {
758
- type: "object",
759
- properties: {
760
- task_ids: {
761
- oneOf: [
762
- {
763
- type: "string",
764
- description: "Single task ID to delete",
765
- },
766
- {
767
- type: "array",
768
- items: { type: "string" },
769
- description: "Array of task IDs to delete",
770
- },
771
- ],
772
- description: "Single task ID or array of task IDs to delete",
773
- },
774
- },
775
- required: ["task_ids"],
776
- },
777
- },
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
+ // },
778
811
  ];
779
812
  server.setRequestHandler(ListToolsRequestSchema, async () => ({
780
813
  tools: TOOLS,
@@ -823,14 +856,13 @@ async function handleFetch(args) {
823
856
  const { id, ids } = args;
824
857
  return makeApiCall("fetch", { id, ids });
825
858
  }
826
- async function handleGetEntities(args) {
827
- const { memory_id } = args;
828
- return makeApiCall("get-entities", { memory_id });
829
- }
830
- async function handleDeleteMemory(args) {
831
- const { memory_ids } = args;
859
+ /* async function handleDeleteMemory(args: any) {
860
+ const { memory_ids } = args as {
861
+ memory_ids: string | string[];
862
+ };
863
+
832
864
  return makeApiCall("delete-memory", { memory_ids });
833
- }
865
+ } */
834
866
  async function handleListSpaces() {
835
867
  return makeApiCall("list-spaces", {});
836
868
  }
@@ -845,19 +877,24 @@ async function handleStart(args) {
845
877
  const { space_id } = args;
846
878
  return makeApiCall("start", { space_id });
847
879
  }
848
- async function handleAddTask(args) {
880
+ /*
881
+ async function handleAddTask(args: any) {
849
882
  if (!args.space_id) {
850
- throw new Error("space_id is required. Use list_spaces to see available options.");
883
+ throw new Error(
884
+ "space_id is required. Use list_spaces to see available options.",
885
+ );
851
886
  }
887
+
852
888
  if (!args.tasks) {
853
889
  throw new Error("tasks parameter is required (single object or array)");
854
890
  }
891
+
855
892
  // Pass through to API
856
893
  return makeApiCall("add-task", {
857
894
  space_id: args.space_id,
858
895
  tasks: args.tasks,
859
896
  });
860
- }
897
+ } */
861
898
  async function handleUpdateMemory(args) {
862
899
  if (!args.space_id) {
863
900
  throw new Error("space_id is required. Use list_spaces to see available options.");
@@ -897,9 +934,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
897
934
  try {
898
935
  let result;
899
936
  switch (name) {
900
- case "add_memory":
901
- result = await handleAddMemory(args);
902
- break;
937
+ // DEPRECATED: case "add_memory":
938
+ // DEPRECATED: result = await handleAddMemory(args);
939
+ // DEPRECATED: break;
903
940
  case "search_memories":
904
941
  result = await handleSearchMemories(args);
905
942
  break;
@@ -913,9 +950,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
913
950
  // case "get_entities":
914
951
  // result = await handleGetEntities(args);
915
952
  // break;
916
- case "delete_memory":
917
- result = await handleDeleteMemory(args);
918
- break;
953
+ // DEPRECATED: case "delete_memory":
954
+ // DEPRECATED: result = await handleDeleteMemory(args);
955
+ // DEPRECATED: break;
919
956
  case "list_spaces":
920
957
  result = await handleListSpaces();
921
958
  break;
@@ -928,30 +965,33 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
928
965
  case "start":
929
966
  result = await handleStart(args);
930
967
  break;
931
- case "add_task":
932
- result = await handleAddTask(args);
933
- break;
968
+ // DEPRECATED: case "add_task":
969
+ // DEPRECATED: result = await handleAddTask(args);
970
+ // DEPRECATED: break;
934
971
  case "update_memory":
935
972
  result = await handleUpdateMemory(args);
936
973
  break;
937
- case "update_task_status":
938
- result = await handleUpdateTaskStatus(args);
939
- break;
940
- case "update_task":
941
- result = await handleUpdateTask(args);
942
- 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;
943
980
  case "list_tasks":
944
981
  result = await handleListTasks(args);
945
982
  break;
946
- case "delete_task":
947
- result = await handleDeleteTask(args);
948
- break;
983
+ // DEPRECATED: case "delete_task":
984
+ // DEPRECATED: result = await handleDeleteTask(args);
985
+ // DEPRECATED: break;
949
986
  default:
950
987
  throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
951
988
  }
952
989
  // Extract response field for Layer 2 compressed tools, otherwise stringify full result
953
990
  let responseText;
954
- if (result && typeof result === 'object' && 'response' in result && typeof result.response === 'string') {
991
+ if (result &&
992
+ typeof result === "object" &&
993
+ "response" in result &&
994
+ typeof result.response === "string") {
955
995
  // Tool has Layer 2 compression - use the formatted response field
956
996
  responseText = result.response;
957
997
  }