@intangle/mcp-server 1.1.1 → 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.
Files changed (3) hide show
  1. package/dist/index.js +167 -0
  2. package/index.ts +176 -0
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -473,6 +473,156 @@ const TOOLS = [
473
473
  required: ["space_id", "tasks"],
474
474
  },
475
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
+ },
476
626
  {
477
627
  name: "update_task_status",
478
628
  description: "Change a task's status (pending/in_progress/completed/invalidated)",
@@ -692,6 +842,20 @@ async function handleAddTask(args) {
692
842
  tasks: args.tasks,
693
843
  });
694
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
+ }
695
859
  async function handleUpdateTaskStatus(args) {
696
860
  return makeApiCall("update-task-status", args);
697
861
  }
@@ -749,6 +913,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
749
913
  case "add_task":
750
914
  result = await handleAddTask(args);
751
915
  break;
916
+ case "update_memory":
917
+ result = await handleUpdateMemory(args);
918
+ break;
752
919
  case "update_task_status":
753
920
  result = await handleUpdateTaskStatus(args);
754
921
  break;
package/index.ts CHANGED
@@ -514,6 +514,158 @@ const TOOLS = [
514
514
  required: ["space_id", "tasks"],
515
515
  },
516
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
+ },
517
669
  {
518
670
  name: "update_task_status",
519
671
  description: "Change a task's status (pending/in_progress/completed/invalidated)",
@@ -785,6 +937,27 @@ async function handleAddTask(args: any) {
785
937
  });
786
938
  }
787
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
+
788
961
  async function handleUpdateTaskStatus(args: any) {
789
962
  return makeApiCall("update-task-status", args);
790
963
  }
@@ -852,6 +1025,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request: any) => {
852
1025
  case "add_task":
853
1026
  result = await handleAddTask(args);
854
1027
  break;
1028
+ case "update_memory":
1029
+ result = await handleUpdateMemory(args);
1030
+ break;
855
1031
  case "update_task_status":
856
1032
  result = await handleUpdateTaskStatus(args);
857
1033
  break;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intangle/mcp-server",
3
- "version": "1.1.1",
3
+ "version": "1.1.2",
4
4
  "description": "Model Context Protocol server for Intangle - AI memory that persists across conversations",
5
5
  "main": "dist/index.js",
6
6
  "type": "module",