@intangle/mcp-server 1.1.5 → 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.
- package/dist/index.js +497 -464
- package/index.ts +491 -485
- 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
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
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
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
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,110 +323,238 @@ const TOOLS = [
|
|
|
315
323
|
required: ["space_id"],
|
|
316
324
|
},
|
|
317
325
|
},
|
|
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
|
+
// },
|
|
318
513
|
{
|
|
319
|
-
name: "
|
|
320
|
-
description: "
|
|
514
|
+
name: "update_memory",
|
|
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.",
|
|
321
516
|
inputSchema: {
|
|
322
517
|
type: "object",
|
|
323
518
|
properties: {
|
|
324
519
|
space_id: {
|
|
325
520
|
type: "string",
|
|
326
|
-
description: "REQUIRED: Space to
|
|
521
|
+
description: "REQUIRED: Space to operate in (use list_spaces to see available options)",
|
|
327
522
|
},
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
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"],
|
|
523
|
+
add: {
|
|
524
|
+
type: "object",
|
|
525
|
+
description: "Add new context and/or tasks to memory",
|
|
526
|
+
properties: {
|
|
527
|
+
context: {
|
|
528
|
+
type: "array",
|
|
529
|
+
items: {
|
|
530
|
+
type: "object",
|
|
531
|
+
properties: {
|
|
532
|
+
title: { type: "string", description: "Context title" },
|
|
533
|
+
content: {
|
|
534
|
+
type: "string",
|
|
535
|
+
description: "Context content (general information)",
|
|
536
|
+
},
|
|
537
|
+
topics: {
|
|
538
|
+
type: "array",
|
|
539
|
+
items: { type: "string" },
|
|
540
|
+
description: "Optional topics/tags",
|
|
399
541
|
},
|
|
400
|
-
description: "Optional array of subtasks to create under this parent task. Each will be automatically linked to the parent.",
|
|
401
542
|
},
|
|
543
|
+
required: ["title", "content"],
|
|
402
544
|
},
|
|
403
|
-
|
|
545
|
+
description: "Array of context items to add",
|
|
404
546
|
},
|
|
405
|
-
{
|
|
547
|
+
tasks: {
|
|
406
548
|
type: "array",
|
|
407
549
|
items: {
|
|
408
550
|
type: "object",
|
|
409
551
|
properties: {
|
|
410
|
-
title: {
|
|
411
|
-
|
|
412
|
-
description: "Task title/summary",
|
|
413
|
-
},
|
|
414
|
-
content: {
|
|
415
|
-
type: "string",
|
|
416
|
-
description: "Detailed task description",
|
|
417
|
-
},
|
|
552
|
+
title: { type: "string", description: "Task title" },
|
|
553
|
+
content: { type: "string", description: "Task description" },
|
|
418
554
|
topics: {
|
|
419
555
|
type: "array",
|
|
420
556
|
items: { type: "string" },
|
|
421
|
-
description: "Optional topics/tags
|
|
557
|
+
description: "Optional topics/tags",
|
|
422
558
|
},
|
|
423
559
|
status: {
|
|
424
560
|
type: "string",
|
|
@@ -429,190 +565,65 @@ const TOOLS = [
|
|
|
429
565
|
"invalidated",
|
|
430
566
|
],
|
|
431
567
|
description: "Task status (default: pending)",
|
|
432
|
-
default: "pending",
|
|
433
568
|
},
|
|
434
569
|
priority: {
|
|
435
570
|
type: "string",
|
|
436
571
|
enum: ["urgent", "high", "medium", "low"],
|
|
437
|
-
description: "
|
|
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.",
|
|
572
|
+
description: "Priority level (default: medium)",
|
|
483
573
|
},
|
|
484
574
|
},
|
|
485
575
|
required: ["title", "content"],
|
|
486
576
|
},
|
|
577
|
+
description: "Array of tasks to add",
|
|
487
578
|
},
|
|
488
|
-
|
|
489
|
-
description: "Single task object or array of task objects to create",
|
|
579
|
+
},
|
|
490
580
|
},
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
name: "update_memory",
|
|
497
|
-
description: "Update memory with new CONTEXT and TASKS. Unified tool for adding new items to the memory system in one call. NOTE: 'Memories' encompasses both context (general information, stored as Memory nodes) and tasks (actionable items, stored as Task nodes). This tool is for ADDING new items to update the memory system, not modifying existing ones. At least one of context or tasks must be provided. REQUIRES space_id parameter.",
|
|
498
|
-
inputSchema: {
|
|
499
|
-
type: "object",
|
|
500
|
-
properties: {
|
|
501
|
-
space_id: {
|
|
502
|
-
type: "string",
|
|
503
|
-
description: "REQUIRED: Space to add items to (use list_spaces to see available options)",
|
|
504
|
-
},
|
|
505
|
-
context: {
|
|
506
|
-
oneOf: [
|
|
507
|
-
{
|
|
508
|
-
type: "object",
|
|
509
|
-
properties: {
|
|
510
|
-
title: {
|
|
511
|
-
type: "string",
|
|
512
|
-
description: "Context item title",
|
|
513
|
-
},
|
|
514
|
-
content: {
|
|
515
|
-
type: "string",
|
|
516
|
-
description: "Context item content (general information/knowledge)",
|
|
517
|
-
},
|
|
518
|
-
topics: {
|
|
519
|
-
type: "array",
|
|
520
|
-
items: { type: "string" },
|
|
521
|
-
description: "Optional topics/tags for organization",
|
|
522
|
-
},
|
|
523
|
-
source: {
|
|
524
|
-
type: "string",
|
|
525
|
-
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
526
|
-
description: "Optional source indicator",
|
|
527
|
-
},
|
|
528
|
-
},
|
|
529
|
-
required: ["title", "content"],
|
|
530
|
-
},
|
|
531
|
-
{
|
|
581
|
+
update: {
|
|
582
|
+
type: "object",
|
|
583
|
+
description: "Update existing context and/or tasks",
|
|
584
|
+
properties: {
|
|
585
|
+
context: {
|
|
532
586
|
type: "array",
|
|
533
587
|
items: {
|
|
534
588
|
type: "object",
|
|
535
589
|
properties: {
|
|
590
|
+
id: { type: "string", description: "Context ID to update" },
|
|
536
591
|
title: {
|
|
537
592
|
type: "string",
|
|
538
|
-
description: "
|
|
593
|
+
description: "New title (optional)",
|
|
539
594
|
},
|
|
540
595
|
content: {
|
|
541
596
|
type: "string",
|
|
542
|
-
description: "
|
|
597
|
+
description: "New content (optional)",
|
|
543
598
|
},
|
|
544
599
|
topics: {
|
|
545
600
|
type: "array",
|
|
546
601
|
items: { type: "string" },
|
|
547
|
-
description: "
|
|
602
|
+
description: "New topics (optional)",
|
|
548
603
|
},
|
|
549
|
-
source: {
|
|
550
|
-
type: "string",
|
|
551
|
-
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
552
|
-
description: "Optional source indicator",
|
|
553
|
-
},
|
|
554
|
-
},
|
|
555
|
-
required: ["title", "content"],
|
|
556
|
-
},
|
|
557
|
-
},
|
|
558
|
-
],
|
|
559
|
-
description: "Optional context items to add (general information/knowledge)",
|
|
560
|
-
},
|
|
561
|
-
tasks: {
|
|
562
|
-
oneOf: [
|
|
563
|
-
{
|
|
564
|
-
type: "object",
|
|
565
|
-
properties: {
|
|
566
|
-
title: {
|
|
567
|
-
type: "string",
|
|
568
|
-
description: "Task title/summary",
|
|
569
|
-
},
|
|
570
|
-
content: {
|
|
571
|
-
type: "string",
|
|
572
|
-
description: "Detailed task description",
|
|
573
|
-
},
|
|
574
|
-
topics: {
|
|
575
|
-
type: "array",
|
|
576
|
-
items: { type: "string" },
|
|
577
|
-
description: "Optional topics/tags for organization",
|
|
578
|
-
},
|
|
579
|
-
status: {
|
|
580
|
-
type: "string",
|
|
581
|
-
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
582
|
-
description: "Task status (default: pending)",
|
|
583
|
-
default: "pending",
|
|
584
|
-
},
|
|
585
|
-
priority: {
|
|
586
|
-
type: "string",
|
|
587
|
-
enum: ["urgent", "high", "medium", "low"],
|
|
588
|
-
description: "Task priority level (default: medium)",
|
|
589
|
-
default: "medium",
|
|
590
|
-
},
|
|
591
|
-
source: {
|
|
592
|
-
type: "string",
|
|
593
|
-
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
594
|
-
description: "Optional source indicator",
|
|
595
604
|
},
|
|
605
|
+
required: ["id"],
|
|
596
606
|
},
|
|
597
|
-
|
|
607
|
+
description: "Array of context updates (must include id)",
|
|
598
608
|
},
|
|
599
|
-
{
|
|
609
|
+
tasks: {
|
|
600
610
|
type: "array",
|
|
601
611
|
items: {
|
|
602
612
|
type: "object",
|
|
603
613
|
properties: {
|
|
614
|
+
task_id: { type: "string", description: "Task ID to update" },
|
|
604
615
|
title: {
|
|
605
616
|
type: "string",
|
|
606
|
-
description: "
|
|
617
|
+
description: "New title (optional)",
|
|
607
618
|
},
|
|
608
619
|
content: {
|
|
609
620
|
type: "string",
|
|
610
|
-
description: "
|
|
621
|
+
description: "New content (optional)",
|
|
611
622
|
},
|
|
612
623
|
topics: {
|
|
613
624
|
type: "array",
|
|
614
625
|
items: { type: "string" },
|
|
615
|
-
description: "
|
|
626
|
+
description: "New topics (optional)",
|
|
616
627
|
},
|
|
617
628
|
status: {
|
|
618
629
|
type: "string",
|
|
@@ -622,114 +633,126 @@ const TOOLS = [
|
|
|
622
633
|
"completed",
|
|
623
634
|
"invalidated",
|
|
624
635
|
],
|
|
625
|
-
description: "
|
|
626
|
-
default: "pending",
|
|
636
|
+
description: "New status (optional)",
|
|
627
637
|
},
|
|
628
638
|
priority: {
|
|
629
639
|
type: "string",
|
|
630
640
|
enum: ["urgent", "high", "medium", "low"],
|
|
631
|
-
description: "
|
|
632
|
-
default: "medium",
|
|
633
|
-
},
|
|
634
|
-
source: {
|
|
635
|
-
type: "string",
|
|
636
|
-
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
637
|
-
description: "Optional source indicator",
|
|
641
|
+
description: "New priority (optional)",
|
|
638
642
|
},
|
|
639
643
|
},
|
|
640
|
-
required: ["
|
|
644
|
+
required: ["task_id"],
|
|
641
645
|
},
|
|
646
|
+
description: "Array of task updates (must include task_id)",
|
|
642
647
|
},
|
|
643
|
-
|
|
644
|
-
description: "Optional tasks to add (actionable workflow items)",
|
|
645
|
-
},
|
|
646
|
-
},
|
|
647
|
-
required: ["space_id"],
|
|
648
|
-
},
|
|
649
|
-
},
|
|
650
|
-
{
|
|
651
|
-
name: "update_task_status",
|
|
652
|
-
description: "Change a task's status (pending/in_progress/completed/invalidated)",
|
|
653
|
-
inputSchema: {
|
|
654
|
-
type: "object",
|
|
655
|
-
properties: {
|
|
656
|
-
task_id: {
|
|
657
|
-
type: "string",
|
|
658
|
-
description: "Task ID to update",
|
|
648
|
+
},
|
|
659
649
|
},
|
|
660
|
-
|
|
661
|
-
type: "
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
},
|
|
669
|
-
{
|
|
670
|
-
name: "update_task",
|
|
671
|
-
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.",
|
|
672
|
-
inputSchema: {
|
|
673
|
-
type: "object",
|
|
674
|
-
properties: {
|
|
675
|
-
updates: {
|
|
676
|
-
oneOf: [
|
|
677
|
-
{
|
|
678
|
-
type: "object",
|
|
679
|
-
properties: {
|
|
680
|
-
task_id: {
|
|
681
|
-
type: "string",
|
|
682
|
-
description: "Task ID to update",
|
|
683
|
-
},
|
|
684
|
-
title: {
|
|
685
|
-
type: "string",
|
|
686
|
-
description: "New title (optional)",
|
|
687
|
-
},
|
|
688
|
-
content: {
|
|
689
|
-
type: "string",
|
|
690
|
-
description: "New content (optional)",
|
|
691
|
-
},
|
|
692
|
-
topics: {
|
|
693
|
-
type: "array",
|
|
694
|
-
items: { type: "string" },
|
|
695
|
-
description: "New topics array (optional)",
|
|
696
|
-
},
|
|
697
|
-
},
|
|
698
|
-
required: ["task_id"],
|
|
650
|
+
delete: {
|
|
651
|
+
type: "object",
|
|
652
|
+
description: "Delete context and/or tasks by ID",
|
|
653
|
+
properties: {
|
|
654
|
+
context_ids: {
|
|
655
|
+
type: "array",
|
|
656
|
+
items: { type: "string" },
|
|
657
|
+
description: "Array of context IDs to delete",
|
|
699
658
|
},
|
|
700
|
-
{
|
|
659
|
+
task_ids: {
|
|
701
660
|
type: "array",
|
|
702
|
-
items: {
|
|
703
|
-
|
|
704
|
-
properties: {
|
|
705
|
-
task_id: {
|
|
706
|
-
type: "string",
|
|
707
|
-
description: "Task ID to update",
|
|
708
|
-
},
|
|
709
|
-
title: {
|
|
710
|
-
type: "string",
|
|
711
|
-
description: "New title (optional)",
|
|
712
|
-
},
|
|
713
|
-
content: {
|
|
714
|
-
type: "string",
|
|
715
|
-
description: "New content (optional)",
|
|
716
|
-
},
|
|
717
|
-
topics: {
|
|
718
|
-
type: "array",
|
|
719
|
-
items: { type: "string" },
|
|
720
|
-
description: "New topics array (optional)",
|
|
721
|
-
},
|
|
722
|
-
},
|
|
723
|
-
required: ["task_id"],
|
|
724
|
-
},
|
|
661
|
+
items: { type: "string" },
|
|
662
|
+
description: "Array of task IDs to delete",
|
|
725
663
|
},
|
|
726
|
-
|
|
727
|
-
description: "Single update object or array of update objects",
|
|
664
|
+
},
|
|
728
665
|
},
|
|
729
666
|
},
|
|
730
|
-
required: ["
|
|
667
|
+
required: ["space_id"],
|
|
731
668
|
},
|
|
732
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
|
+
// },
|
|
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
|
+
},
|
|
733
756
|
{
|
|
734
757
|
name: "list_tasks",
|
|
735
758
|
description: "List tasks in a space with optional filtering",
|
|
@@ -759,30 +782,32 @@ const TOOLS = [
|
|
|
759
782
|
required: ["space_id"],
|
|
760
783
|
},
|
|
761
784
|
},
|
|
762
|
-
|
|
763
|
-
|
|
764
|
-
|
|
765
|
-
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
|
|
772
|
-
|
|
773
|
-
|
|
774
|
-
|
|
775
|
-
|
|
776
|
-
|
|
777
|
-
|
|
778
|
-
|
|
779
|
-
|
|
780
|
-
|
|
781
|
-
|
|
782
|
-
|
|
783
|
-
|
|
784
|
-
|
|
785
|
-
|
|
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
|
+
// },
|
|
786
811
|
];
|
|
787
812
|
server.setRequestHandler(ListToolsRequestSchema, async () => ({
|
|
788
813
|
tools: TOOLS,
|
|
@@ -831,14 +856,13 @@ async function handleFetch(args) {
|
|
|
831
856
|
const { id, ids } = args;
|
|
832
857
|
return makeApiCall("fetch", { id, ids });
|
|
833
858
|
}
|
|
834
|
-
async function
|
|
835
|
-
const {
|
|
836
|
-
|
|
837
|
-
}
|
|
838
|
-
|
|
839
|
-
const { memory_ids } = args;
|
|
859
|
+
/* async function handleDeleteMemory(args: any) {
|
|
860
|
+
const { memory_ids } = args as {
|
|
861
|
+
memory_ids: string | string[];
|
|
862
|
+
};
|
|
863
|
+
|
|
840
864
|
return makeApiCall("delete-memory", { memory_ids });
|
|
841
|
-
}
|
|
865
|
+
} */
|
|
842
866
|
async function handleListSpaces() {
|
|
843
867
|
return makeApiCall("list-spaces", {});
|
|
844
868
|
}
|
|
@@ -853,31 +877,37 @@ async function handleStart(args) {
|
|
|
853
877
|
const { space_id } = args;
|
|
854
878
|
return makeApiCall("start", { space_id });
|
|
855
879
|
}
|
|
856
|
-
|
|
880
|
+
/*
|
|
881
|
+
async function handleAddTask(args: any) {
|
|
857
882
|
if (!args.space_id) {
|
|
858
|
-
throw new Error(
|
|
883
|
+
throw new Error(
|
|
884
|
+
"space_id is required. Use list_spaces to see available options.",
|
|
885
|
+
);
|
|
859
886
|
}
|
|
887
|
+
|
|
860
888
|
if (!args.tasks) {
|
|
861
889
|
throw new Error("tasks parameter is required (single object or array)");
|
|
862
890
|
}
|
|
891
|
+
|
|
863
892
|
// Pass through to API
|
|
864
893
|
return makeApiCall("add-task", {
|
|
865
894
|
space_id: args.space_id,
|
|
866
895
|
tasks: args.tasks,
|
|
867
896
|
});
|
|
868
|
-
}
|
|
897
|
+
} */
|
|
869
898
|
async function handleUpdateMemory(args) {
|
|
870
899
|
if (!args.space_id) {
|
|
871
900
|
throw new Error("space_id is required. Use list_spaces to see available options.");
|
|
872
901
|
}
|
|
873
|
-
if (!args.
|
|
874
|
-
throw new Error("At least one
|
|
902
|
+
if (!args.add && !args.update && !args.delete) {
|
|
903
|
+
throw new Error("At least one operation (add, update, delete) must be provided");
|
|
875
904
|
}
|
|
876
|
-
// Pass through to API
|
|
905
|
+
// Pass through to API with new structure
|
|
877
906
|
return makeApiCall("update-memory", {
|
|
878
907
|
space_id: args.space_id,
|
|
879
|
-
|
|
880
|
-
|
|
908
|
+
add: args.add,
|
|
909
|
+
update: args.update,
|
|
910
|
+
delete: args.delete,
|
|
881
911
|
});
|
|
882
912
|
}
|
|
883
913
|
async function handleUpdateTaskStatus(args) {
|
|
@@ -904,9 +934,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
904
934
|
try {
|
|
905
935
|
let result;
|
|
906
936
|
switch (name) {
|
|
907
|
-
case "add_memory":
|
|
908
|
-
|
|
909
|
-
|
|
937
|
+
// DEPRECATED: case "add_memory":
|
|
938
|
+
// DEPRECATED: result = await handleAddMemory(args);
|
|
939
|
+
// DEPRECATED: break;
|
|
910
940
|
case "search_memories":
|
|
911
941
|
result = await handleSearchMemories(args);
|
|
912
942
|
break;
|
|
@@ -920,9 +950,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
920
950
|
// case "get_entities":
|
|
921
951
|
// result = await handleGetEntities(args);
|
|
922
952
|
// break;
|
|
923
|
-
case "delete_memory":
|
|
924
|
-
|
|
925
|
-
|
|
953
|
+
// DEPRECATED: case "delete_memory":
|
|
954
|
+
// DEPRECATED: result = await handleDeleteMemory(args);
|
|
955
|
+
// DEPRECATED: break;
|
|
926
956
|
case "list_spaces":
|
|
927
957
|
result = await handleListSpaces();
|
|
928
958
|
break;
|
|
@@ -935,30 +965,33 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
935
965
|
case "start":
|
|
936
966
|
result = await handleStart(args);
|
|
937
967
|
break;
|
|
938
|
-
case "add_task":
|
|
939
|
-
|
|
940
|
-
|
|
968
|
+
// DEPRECATED: case "add_task":
|
|
969
|
+
// DEPRECATED: result = await handleAddTask(args);
|
|
970
|
+
// DEPRECATED: break;
|
|
941
971
|
case "update_memory":
|
|
942
972
|
result = await handleUpdateMemory(args);
|
|
943
973
|
break;
|
|
944
|
-
case "update_task_status":
|
|
945
|
-
|
|
946
|
-
|
|
947
|
-
case "update_task":
|
|
948
|
-
|
|
949
|
-
|
|
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;
|
|
950
980
|
case "list_tasks":
|
|
951
981
|
result = await handleListTasks(args);
|
|
952
982
|
break;
|
|
953
|
-
case "delete_task":
|
|
954
|
-
|
|
955
|
-
|
|
983
|
+
// DEPRECATED: case "delete_task":
|
|
984
|
+
// DEPRECATED: result = await handleDeleteTask(args);
|
|
985
|
+
// DEPRECATED: break;
|
|
956
986
|
default:
|
|
957
987
|
throw new McpError(ErrorCode.MethodNotFound, `Unknown tool: ${name}`);
|
|
958
988
|
}
|
|
959
989
|
// Extract response field for Layer 2 compressed tools, otherwise stringify full result
|
|
960
990
|
let responseText;
|
|
961
|
-
if (result &&
|
|
991
|
+
if (result &&
|
|
992
|
+
typeof result === "object" &&
|
|
993
|
+
"response" in result &&
|
|
994
|
+
typeof result.response === "string") {
|
|
962
995
|
// Tool has Layer 2 compression - use the formatted response field
|
|
963
996
|
responseText = result.response;
|
|
964
997
|
}
|