@intangle/mcp-server 1.1.0 → 1.1.2
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 +199 -3
- package/index.ts +211 -3
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -7,6 +7,9 @@ import fetch from "node-fetch";
|
|
|
7
7
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
8
8
|
import { StdioServerTransport } from "@modelcontextprotocol/sdk/server/stdio.js";
|
|
9
9
|
import { CallToolRequestSchema, ErrorCode, ListToolsRequestSchema, McpError, } from "@modelcontextprotocol/sdk/types.js";
|
|
10
|
+
import { readFileSync } from 'fs';
|
|
11
|
+
import { fileURLToPath } from 'url';
|
|
12
|
+
import { dirname, join } from 'path';
|
|
10
13
|
// Load environment variables from .env and .env.local
|
|
11
14
|
config({ quiet: true });
|
|
12
15
|
config({ path: ".env.local", quiet: true });
|
|
@@ -20,9 +23,10 @@ if (!MCP_API_KEY) {
|
|
|
20
23
|
process.exit(1);
|
|
21
24
|
}
|
|
22
25
|
console.log("Intangle MCP Server starting - connecting to", API_BASE_URL);
|
|
23
|
-
// Version checking
|
|
24
|
-
|
|
25
|
-
const
|
|
26
|
+
// Version checking - automatically read from package.json
|
|
27
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
28
|
+
const packageJson = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
|
|
29
|
+
const CURRENT_VERSION = packageJson.version;
|
|
26
30
|
let latestVersion = null;
|
|
27
31
|
let versionCheckDone = false;
|
|
28
32
|
async function checkVersion() {
|
|
@@ -185,6 +189,24 @@ const TOOLS = [
|
|
|
185
189
|
required: ["space_id"],
|
|
186
190
|
},
|
|
187
191
|
},
|
|
192
|
+
{
|
|
193
|
+
name: "fetch",
|
|
194
|
+
description: "Fetch complete items (context or tasks) by ID. Accepts single ID or array of IDs. Returns BOTH context (Memory nodes) and tasks (Task nodes) with full content, topics, and metadata. Always returns full content (never summaries). Use this after getting summaries from search/list/start to retrieve full details for specific items.",
|
|
195
|
+
inputSchema: {
|
|
196
|
+
type: "object",
|
|
197
|
+
properties: {
|
|
198
|
+
id: {
|
|
199
|
+
type: "string",
|
|
200
|
+
description: "Single ID to fetch (context or task ID like 'mem_123' or 'task_456')",
|
|
201
|
+
},
|
|
202
|
+
ids: {
|
|
203
|
+
type: "array",
|
|
204
|
+
items: { type: "string" },
|
|
205
|
+
description: "Array of IDs to fetch (mix of context and task IDs). Use this to fetch multiple items in one call.",
|
|
206
|
+
},
|
|
207
|
+
},
|
|
208
|
+
},
|
|
209
|
+
},
|
|
188
210
|
{
|
|
189
211
|
name: "get_entities",
|
|
190
212
|
description: "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.",
|
|
@@ -451,6 +473,156 @@ const TOOLS = [
|
|
|
451
473
|
required: ["space_id", "tasks"],
|
|
452
474
|
},
|
|
453
475
|
},
|
|
476
|
+
{
|
|
477
|
+
name: "update_memory",
|
|
478
|
+
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.",
|
|
479
|
+
inputSchema: {
|
|
480
|
+
type: "object",
|
|
481
|
+
properties: {
|
|
482
|
+
space_id: {
|
|
483
|
+
type: "string",
|
|
484
|
+
description: "REQUIRED: Space to add items to (use list_spaces to see available options)",
|
|
485
|
+
},
|
|
486
|
+
context: {
|
|
487
|
+
oneOf: [
|
|
488
|
+
{
|
|
489
|
+
type: "object",
|
|
490
|
+
properties: {
|
|
491
|
+
title: {
|
|
492
|
+
type: "string",
|
|
493
|
+
description: "Context item title",
|
|
494
|
+
},
|
|
495
|
+
content: {
|
|
496
|
+
type: "string",
|
|
497
|
+
description: "Context item content (general information/knowledge)",
|
|
498
|
+
},
|
|
499
|
+
topics: {
|
|
500
|
+
type: "array",
|
|
501
|
+
items: { type: "string" },
|
|
502
|
+
description: "Optional topics/tags for organization",
|
|
503
|
+
},
|
|
504
|
+
source: {
|
|
505
|
+
type: "string",
|
|
506
|
+
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
507
|
+
description: "Optional source indicator",
|
|
508
|
+
},
|
|
509
|
+
},
|
|
510
|
+
required: ["title", "content"],
|
|
511
|
+
},
|
|
512
|
+
{
|
|
513
|
+
type: "array",
|
|
514
|
+
items: {
|
|
515
|
+
type: "object",
|
|
516
|
+
properties: {
|
|
517
|
+
title: {
|
|
518
|
+
type: "string",
|
|
519
|
+
description: "Context item title",
|
|
520
|
+
},
|
|
521
|
+
content: {
|
|
522
|
+
type: "string",
|
|
523
|
+
description: "Context item content (general information/knowledge)",
|
|
524
|
+
},
|
|
525
|
+
topics: {
|
|
526
|
+
type: "array",
|
|
527
|
+
items: { type: "string" },
|
|
528
|
+
description: "Optional topics/tags for organization",
|
|
529
|
+
},
|
|
530
|
+
source: {
|
|
531
|
+
type: "string",
|
|
532
|
+
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
533
|
+
description: "Optional source indicator",
|
|
534
|
+
},
|
|
535
|
+
},
|
|
536
|
+
required: ["title", "content"],
|
|
537
|
+
},
|
|
538
|
+
},
|
|
539
|
+
],
|
|
540
|
+
description: "Optional context items to add (general information/knowledge)",
|
|
541
|
+
},
|
|
542
|
+
tasks: {
|
|
543
|
+
oneOf: [
|
|
544
|
+
{
|
|
545
|
+
type: "object",
|
|
546
|
+
properties: {
|
|
547
|
+
title: {
|
|
548
|
+
type: "string",
|
|
549
|
+
description: "Task title/summary",
|
|
550
|
+
},
|
|
551
|
+
content: {
|
|
552
|
+
type: "string",
|
|
553
|
+
description: "Detailed task description",
|
|
554
|
+
},
|
|
555
|
+
topics: {
|
|
556
|
+
type: "array",
|
|
557
|
+
items: { type: "string" },
|
|
558
|
+
description: "Optional topics/tags for organization",
|
|
559
|
+
},
|
|
560
|
+
status: {
|
|
561
|
+
type: "string",
|
|
562
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
563
|
+
description: "Task status (default: pending)",
|
|
564
|
+
default: "pending",
|
|
565
|
+
},
|
|
566
|
+
priority: {
|
|
567
|
+
type: "string",
|
|
568
|
+
enum: ["urgent", "high", "medium", "low"],
|
|
569
|
+
description: "Task priority level (default: medium)",
|
|
570
|
+
default: "medium",
|
|
571
|
+
},
|
|
572
|
+
source: {
|
|
573
|
+
type: "string",
|
|
574
|
+
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
575
|
+
description: "Optional source indicator",
|
|
576
|
+
},
|
|
577
|
+
},
|
|
578
|
+
required: ["title", "content"],
|
|
579
|
+
},
|
|
580
|
+
{
|
|
581
|
+
type: "array",
|
|
582
|
+
items: {
|
|
583
|
+
type: "object",
|
|
584
|
+
properties: {
|
|
585
|
+
title: {
|
|
586
|
+
type: "string",
|
|
587
|
+
description: "Task title/summary",
|
|
588
|
+
},
|
|
589
|
+
content: {
|
|
590
|
+
type: "string",
|
|
591
|
+
description: "Detailed task description",
|
|
592
|
+
},
|
|
593
|
+
topics: {
|
|
594
|
+
type: "array",
|
|
595
|
+
items: { type: "string" },
|
|
596
|
+
description: "Optional topics/tags for organization",
|
|
597
|
+
},
|
|
598
|
+
status: {
|
|
599
|
+
type: "string",
|
|
600
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
601
|
+
description: "Task status (default: pending)",
|
|
602
|
+
default: "pending",
|
|
603
|
+
},
|
|
604
|
+
priority: {
|
|
605
|
+
type: "string",
|
|
606
|
+
enum: ["urgent", "high", "medium", "low"],
|
|
607
|
+
description: "Task priority level (default: medium)",
|
|
608
|
+
default: "medium",
|
|
609
|
+
},
|
|
610
|
+
source: {
|
|
611
|
+
type: "string",
|
|
612
|
+
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
613
|
+
description: "Optional source indicator",
|
|
614
|
+
},
|
|
615
|
+
},
|
|
616
|
+
required: ["title", "content"],
|
|
617
|
+
},
|
|
618
|
+
},
|
|
619
|
+
],
|
|
620
|
+
description: "Optional tasks to add (actionable workflow items)",
|
|
621
|
+
},
|
|
622
|
+
},
|
|
623
|
+
required: ["space_id"],
|
|
624
|
+
},
|
|
625
|
+
},
|
|
454
626
|
{
|
|
455
627
|
name: "update_task_status",
|
|
456
628
|
description: "Change a task's status (pending/in_progress/completed/invalidated)",
|
|
@@ -631,6 +803,10 @@ async function handleGetRecentMemories(args) {
|
|
|
631
803
|
limit,
|
|
632
804
|
});
|
|
633
805
|
}
|
|
806
|
+
async function handleFetch(args) {
|
|
807
|
+
const { id, ids } = args;
|
|
808
|
+
return makeApiCall("fetch", { id, ids });
|
|
809
|
+
}
|
|
634
810
|
async function handleGetEntities(args) {
|
|
635
811
|
const { memory_id } = args;
|
|
636
812
|
return makeApiCall("get-entities", { memory_id });
|
|
@@ -666,6 +842,20 @@ async function handleAddTask(args) {
|
|
|
666
842
|
tasks: args.tasks,
|
|
667
843
|
});
|
|
668
844
|
}
|
|
845
|
+
async function handleUpdateMemory(args) {
|
|
846
|
+
if (!args.space_id) {
|
|
847
|
+
throw new Error("space_id is required. Use list_spaces to see available options.");
|
|
848
|
+
}
|
|
849
|
+
if (!args.context && !args.tasks) {
|
|
850
|
+
throw new Error("At least one of context or tasks must be provided");
|
|
851
|
+
}
|
|
852
|
+
// Pass through to API
|
|
853
|
+
return makeApiCall("update-memory", {
|
|
854
|
+
space_id: args.space_id,
|
|
855
|
+
context: args.context,
|
|
856
|
+
tasks: args.tasks,
|
|
857
|
+
});
|
|
858
|
+
}
|
|
669
859
|
async function handleUpdateTaskStatus(args) {
|
|
670
860
|
return makeApiCall("update-task-status", args);
|
|
671
861
|
}
|
|
@@ -699,6 +889,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
699
889
|
case "get_recent_memories":
|
|
700
890
|
result = await handleGetRecentMemories(args);
|
|
701
891
|
break;
|
|
892
|
+
case "fetch":
|
|
893
|
+
result = await handleFetch(args);
|
|
894
|
+
break;
|
|
702
895
|
case "get_entities":
|
|
703
896
|
result = await handleGetEntities(args);
|
|
704
897
|
break;
|
|
@@ -720,6 +913,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
720
913
|
case "add_task":
|
|
721
914
|
result = await handleAddTask(args);
|
|
722
915
|
break;
|
|
916
|
+
case "update_memory":
|
|
917
|
+
result = await handleUpdateMemory(args);
|
|
918
|
+
break;
|
|
723
919
|
case "update_task_status":
|
|
724
920
|
result = await handleUpdateTaskStatus(args);
|
|
725
921
|
break;
|
package/index.ts
CHANGED
|
@@ -14,6 +14,9 @@ import {
|
|
|
14
14
|
ListToolsRequestSchema,
|
|
15
15
|
McpError,
|
|
16
16
|
} from "@modelcontextprotocol/sdk/types.js";
|
|
17
|
+
import { readFileSync } from 'fs';
|
|
18
|
+
import { fileURLToPath } from 'url';
|
|
19
|
+
import { dirname, join } from 'path';
|
|
17
20
|
|
|
18
21
|
// Load environment variables from .env and .env.local
|
|
19
22
|
config({ quiet: true });
|
|
@@ -33,9 +36,10 @@ if (!MCP_API_KEY) {
|
|
|
33
36
|
|
|
34
37
|
console.log("Intangle MCP Server starting - connecting to", API_BASE_URL);
|
|
35
38
|
|
|
36
|
-
// Version checking
|
|
37
|
-
|
|
38
|
-
const
|
|
39
|
+
// Version checking - automatically read from package.json
|
|
40
|
+
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
41
|
+
const packageJson = JSON.parse(readFileSync(join(__dirname, '../package.json'), 'utf-8'));
|
|
42
|
+
const CURRENT_VERSION = packageJson.version;
|
|
39
43
|
let latestVersion: string | null = null;
|
|
40
44
|
let versionCheckDone = false;
|
|
41
45
|
|
|
@@ -217,6 +221,25 @@ const TOOLS = [
|
|
|
217
221
|
required: ["space_id"],
|
|
218
222
|
},
|
|
219
223
|
},
|
|
224
|
+
{
|
|
225
|
+
name: "fetch",
|
|
226
|
+
description:
|
|
227
|
+
"Fetch complete items (context or tasks) by ID. Accepts single ID or array of IDs. Returns BOTH context (Memory nodes) and tasks (Task nodes) with full content, topics, and metadata. Always returns full content (never summaries). Use this after getting summaries from search/list/start to retrieve full details for specific items.",
|
|
228
|
+
inputSchema: {
|
|
229
|
+
type: "object",
|
|
230
|
+
properties: {
|
|
231
|
+
id: {
|
|
232
|
+
type: "string",
|
|
233
|
+
description: "Single ID to fetch (context or task ID like 'mem_123' or 'task_456')",
|
|
234
|
+
},
|
|
235
|
+
ids: {
|
|
236
|
+
type: "array",
|
|
237
|
+
items: { type: "string" },
|
|
238
|
+
description: "Array of IDs to fetch (mix of context and task IDs). Use this to fetch multiple items in one call.",
|
|
239
|
+
},
|
|
240
|
+
},
|
|
241
|
+
},
|
|
242
|
+
},
|
|
220
243
|
{
|
|
221
244
|
name: "get_entities",
|
|
222
245
|
description:
|
|
@@ -491,6 +514,158 @@ const TOOLS = [
|
|
|
491
514
|
required: ["space_id", "tasks"],
|
|
492
515
|
},
|
|
493
516
|
},
|
|
517
|
+
{
|
|
518
|
+
name: "update_memory",
|
|
519
|
+
description:
|
|
520
|
+
"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.",
|
|
521
|
+
inputSchema: {
|
|
522
|
+
type: "object",
|
|
523
|
+
properties: {
|
|
524
|
+
space_id: {
|
|
525
|
+
type: "string",
|
|
526
|
+
description:
|
|
527
|
+
"REQUIRED: Space to add items to (use list_spaces to see available options)",
|
|
528
|
+
},
|
|
529
|
+
context: {
|
|
530
|
+
oneOf: [
|
|
531
|
+
{
|
|
532
|
+
type: "object",
|
|
533
|
+
properties: {
|
|
534
|
+
title: {
|
|
535
|
+
type: "string",
|
|
536
|
+
description: "Context item title",
|
|
537
|
+
},
|
|
538
|
+
content: {
|
|
539
|
+
type: "string",
|
|
540
|
+
description: "Context item content (general information/knowledge)",
|
|
541
|
+
},
|
|
542
|
+
topics: {
|
|
543
|
+
type: "array",
|
|
544
|
+
items: { type: "string" },
|
|
545
|
+
description: "Optional topics/tags for organization",
|
|
546
|
+
},
|
|
547
|
+
source: {
|
|
548
|
+
type: "string",
|
|
549
|
+
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
550
|
+
description: "Optional source indicator",
|
|
551
|
+
},
|
|
552
|
+
},
|
|
553
|
+
required: ["title", "content"],
|
|
554
|
+
},
|
|
555
|
+
{
|
|
556
|
+
type: "array",
|
|
557
|
+
items: {
|
|
558
|
+
type: "object",
|
|
559
|
+
properties: {
|
|
560
|
+
title: {
|
|
561
|
+
type: "string",
|
|
562
|
+
description: "Context item title",
|
|
563
|
+
},
|
|
564
|
+
content: {
|
|
565
|
+
type: "string",
|
|
566
|
+
description: "Context item content (general information/knowledge)",
|
|
567
|
+
},
|
|
568
|
+
topics: {
|
|
569
|
+
type: "array",
|
|
570
|
+
items: { type: "string" },
|
|
571
|
+
description: "Optional topics/tags for organization",
|
|
572
|
+
},
|
|
573
|
+
source: {
|
|
574
|
+
type: "string",
|
|
575
|
+
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
576
|
+
description: "Optional source indicator",
|
|
577
|
+
},
|
|
578
|
+
},
|
|
579
|
+
required: ["title", "content"],
|
|
580
|
+
},
|
|
581
|
+
},
|
|
582
|
+
],
|
|
583
|
+
description: "Optional context items to add (general information/knowledge)",
|
|
584
|
+
},
|
|
585
|
+
tasks: {
|
|
586
|
+
oneOf: [
|
|
587
|
+
{
|
|
588
|
+
type: "object",
|
|
589
|
+
properties: {
|
|
590
|
+
title: {
|
|
591
|
+
type: "string",
|
|
592
|
+
description: "Task title/summary",
|
|
593
|
+
},
|
|
594
|
+
content: {
|
|
595
|
+
type: "string",
|
|
596
|
+
description: "Detailed task description",
|
|
597
|
+
},
|
|
598
|
+
topics: {
|
|
599
|
+
type: "array",
|
|
600
|
+
items: { type: "string" },
|
|
601
|
+
description: "Optional topics/tags for organization",
|
|
602
|
+
},
|
|
603
|
+
status: {
|
|
604
|
+
type: "string",
|
|
605
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
606
|
+
description: "Task status (default: pending)",
|
|
607
|
+
default: "pending",
|
|
608
|
+
},
|
|
609
|
+
priority: {
|
|
610
|
+
type: "string",
|
|
611
|
+
enum: ["urgent", "high", "medium", "low"],
|
|
612
|
+
description: "Task priority level (default: medium)",
|
|
613
|
+
default: "medium",
|
|
614
|
+
},
|
|
615
|
+
source: {
|
|
616
|
+
type: "string",
|
|
617
|
+
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
618
|
+
description: "Optional source indicator",
|
|
619
|
+
},
|
|
620
|
+
},
|
|
621
|
+
required: ["title", "content"],
|
|
622
|
+
},
|
|
623
|
+
{
|
|
624
|
+
type: "array",
|
|
625
|
+
items: {
|
|
626
|
+
type: "object",
|
|
627
|
+
properties: {
|
|
628
|
+
title: {
|
|
629
|
+
type: "string",
|
|
630
|
+
description: "Task title/summary",
|
|
631
|
+
},
|
|
632
|
+
content: {
|
|
633
|
+
type: "string",
|
|
634
|
+
description: "Detailed task description",
|
|
635
|
+
},
|
|
636
|
+
topics: {
|
|
637
|
+
type: "array",
|
|
638
|
+
items: { type: "string" },
|
|
639
|
+
description: "Optional topics/tags for organization",
|
|
640
|
+
},
|
|
641
|
+
status: {
|
|
642
|
+
type: "string",
|
|
643
|
+
enum: ["pending", "in_progress", "completed", "invalidated"],
|
|
644
|
+
description: "Task status (default: pending)",
|
|
645
|
+
default: "pending",
|
|
646
|
+
},
|
|
647
|
+
priority: {
|
|
648
|
+
type: "string",
|
|
649
|
+
enum: ["urgent", "high", "medium", "low"],
|
|
650
|
+
description: "Task priority level (default: medium)",
|
|
651
|
+
default: "medium",
|
|
652
|
+
},
|
|
653
|
+
source: {
|
|
654
|
+
type: "string",
|
|
655
|
+
enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
|
|
656
|
+
description: "Optional source indicator",
|
|
657
|
+
},
|
|
658
|
+
},
|
|
659
|
+
required: ["title", "content"],
|
|
660
|
+
},
|
|
661
|
+
},
|
|
662
|
+
],
|
|
663
|
+
description: "Optional tasks to add (actionable workflow items)",
|
|
664
|
+
},
|
|
665
|
+
},
|
|
666
|
+
required: ["space_id"],
|
|
667
|
+
},
|
|
668
|
+
},
|
|
494
669
|
{
|
|
495
670
|
name: "update_task_status",
|
|
496
671
|
description: "Change a task's status (pending/in_progress/completed/invalidated)",
|
|
@@ -706,6 +881,12 @@ async function handleGetRecentMemories(args: any) {
|
|
|
706
881
|
});
|
|
707
882
|
}
|
|
708
883
|
|
|
884
|
+
async function handleFetch(args: any) {
|
|
885
|
+
const { id, ids } = args as { id?: string; ids?: string[] };
|
|
886
|
+
|
|
887
|
+
return makeApiCall("fetch", { id, ids });
|
|
888
|
+
}
|
|
889
|
+
|
|
709
890
|
async function handleGetEntities(args: any) {
|
|
710
891
|
const { memory_id } = args as { memory_id?: string };
|
|
711
892
|
|
|
@@ -756,6 +937,27 @@ async function handleAddTask(args: any) {
|
|
|
756
937
|
});
|
|
757
938
|
}
|
|
758
939
|
|
|
940
|
+
async function handleUpdateMemory(args: any) {
|
|
941
|
+
if (!args.space_id) {
|
|
942
|
+
throw new Error(
|
|
943
|
+
"space_id is required. Use list_spaces to see available options.",
|
|
944
|
+
);
|
|
945
|
+
}
|
|
946
|
+
|
|
947
|
+
if (!args.context && !args.tasks) {
|
|
948
|
+
throw new Error(
|
|
949
|
+
"At least one of context or tasks must be provided",
|
|
950
|
+
);
|
|
951
|
+
}
|
|
952
|
+
|
|
953
|
+
// Pass through to API
|
|
954
|
+
return makeApiCall("update-memory", {
|
|
955
|
+
space_id: args.space_id,
|
|
956
|
+
context: args.context,
|
|
957
|
+
tasks: args.tasks,
|
|
958
|
+
});
|
|
959
|
+
}
|
|
960
|
+
|
|
759
961
|
async function handleUpdateTaskStatus(args: any) {
|
|
760
962
|
return makeApiCall("update-task-status", args);
|
|
761
963
|
}
|
|
@@ -799,6 +1001,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
|
|
|
799
1001
|
case "get_recent_memories":
|
|
800
1002
|
result = await handleGetRecentMemories(args);
|
|
801
1003
|
break;
|
|
1004
|
+
case "fetch":
|
|
1005
|
+
result = await handleFetch(args);
|
|
1006
|
+
break;
|
|
802
1007
|
case "get_entities":
|
|
803
1008
|
result = await handleGetEntities(args);
|
|
804
1009
|
break;
|
|
@@ -820,6 +1025,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
|
|
|
820
1025
|
case "add_task":
|
|
821
1026
|
result = await handleAddTask(args);
|
|
822
1027
|
break;
|
|
1028
|
+
case "update_memory":
|
|
1029
|
+
result = await handleUpdateMemory(args);
|
|
1030
|
+
break;
|
|
823
1031
|
case "update_task_status":
|
|
824
1032
|
result = await handleUpdateTaskStatus(args);
|
|
825
1033
|
break;
|