@intangle/mcp-server 1.1.5 → 1.1.6

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 +95 -102
  2. package/index.ts +97 -105
  3. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -494,154 +494,146 @@ const TOOLS = [
494
494
  },
495
495
  {
496
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.",
497
+ 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.",
498
498
  inputSchema: {
499
499
  type: "object",
500
500
  properties: {
501
501
  space_id: {
502
502
  type: "string",
503
- description: "REQUIRED: Space to add items to (use list_spaces to see available options)",
503
+ description: "REQUIRED: Space to operate in (use list_spaces to see available options)",
504
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
- {
505
+ add: {
506
+ type: "object",
507
+ description: "Add new context and/or tasks to memory",
508
+ properties: {
509
+ context: {
532
510
  type: "array",
533
511
  items: {
534
512
  type: "object",
535
513
  properties: {
536
- title: {
537
- type: "string",
538
- description: "Context item title",
539
- },
514
+ title: { type: "string", description: "Context title" },
540
515
  content: {
541
516
  type: "string",
542
- description: "Context item content (general information/knowledge)",
517
+ description: "Context content (general information)",
543
518
  },
544
519
  topics: {
545
520
  type: "array",
546
521
  items: { type: "string" },
547
- description: "Optional topics/tags for organization",
522
+ description: "Optional topics/tags",
548
523
  },
549
- source: {
524
+ },
525
+ required: ["title", "content"],
526
+ },
527
+ description: "Array of context items to add",
528
+ },
529
+ tasks: {
530
+ type: "array",
531
+ items: {
532
+ type: "object",
533
+ properties: {
534
+ title: { type: "string", description: "Task title" },
535
+ content: { type: "string", description: "Task description" },
536
+ topics: {
537
+ type: "array",
538
+ items: { type: "string" },
539
+ description: "Optional topics/tags",
540
+ },
541
+ status: {
550
542
  type: "string",
551
- enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
552
- description: "Optional source indicator",
543
+ enum: ["pending", "in_progress", "completed", "invalidated"],
544
+ description: "Task status (default: pending)",
545
+ },
546
+ priority: {
547
+ type: "string",
548
+ enum: ["urgent", "high", "medium", "low"],
549
+ description: "Priority level (default: medium)",
553
550
  },
554
551
  },
555
552
  required: ["title", "content"],
556
553
  },
554
+ description: "Array of tasks to add",
557
555
  },
558
- ],
559
- description: "Optional context items to add (general information/knowledge)",
556
+ },
560
557
  },
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",
558
+ update: {
559
+ type: "object",
560
+ description: "Update existing context and/or tasks",
561
+ properties: {
562
+ context: {
563
+ type: "array",
564
+ items: {
565
+ type: "object",
566
+ properties: {
567
+ id: { type: "string", description: "Context ID to update" },
568
+ title: {
569
+ type: "string",
570
+ description: "New title (optional)",
571
+ },
572
+ content: {
573
+ type: "string",
574
+ description: "New content (optional)",
575
+ },
576
+ topics: {
577
+ type: "array",
578
+ items: { type: "string" },
579
+ description: "New topics (optional)",
580
+ },
595
581
  },
582
+ required: ["id"],
596
583
  },
597
- required: ["title", "content"],
584
+ description: "Array of context updates (must include id)",
598
585
  },
599
- {
586
+ tasks: {
600
587
  type: "array",
601
588
  items: {
602
589
  type: "object",
603
590
  properties: {
591
+ task_id: { type: "string", description: "Task ID to update" },
604
592
  title: {
605
593
  type: "string",
606
- description: "Task title/summary",
594
+ description: "New title (optional)",
607
595
  },
608
596
  content: {
609
597
  type: "string",
610
- description: "Detailed task description",
598
+ description: "New content (optional)",
611
599
  },
612
600
  topics: {
613
601
  type: "array",
614
602
  items: { type: "string" },
615
- description: "Optional topics/tags for organization",
603
+ description: "New topics (optional)",
616
604
  },
617
605
  status: {
618
606
  type: "string",
619
- enum: [
620
- "pending",
621
- "in_progress",
622
- "completed",
623
- "invalidated",
624
- ],
625
- description: "Task status (default: pending)",
626
- default: "pending",
607
+ enum: ["pending", "in_progress", "completed", "invalidated"],
608
+ description: "New status (optional)",
627
609
  },
628
610
  priority: {
629
611
  type: "string",
630
612
  enum: ["urgent", "high", "medium", "low"],
631
- description: "Task priority level (default: medium)",
632
- default: "medium",
633
- },
634
- source: {
635
- type: "string",
636
- enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
637
- description: "Optional source indicator",
613
+ description: "New priority (optional)",
638
614
  },
639
615
  },
640
- required: ["title", "content"],
616
+ required: ["task_id"],
641
617
  },
618
+ description: "Array of task updates (must include task_id)",
642
619
  },
643
- ],
644
- description: "Optional tasks to add (actionable workflow items)",
620
+ },
621
+ },
622
+ delete: {
623
+ type: "object",
624
+ description: "Delete context and/or tasks by ID",
625
+ properties: {
626
+ context_ids: {
627
+ type: "array",
628
+ items: { type: "string" },
629
+ description: "Array of context IDs to delete",
630
+ },
631
+ task_ids: {
632
+ type: "array",
633
+ items: { type: "string" },
634
+ description: "Array of task IDs to delete",
635
+ },
636
+ },
645
637
  },
646
638
  },
647
639
  required: ["space_id"],
@@ -870,14 +862,15 @@ async function handleUpdateMemory(args) {
870
862
  if (!args.space_id) {
871
863
  throw new Error("space_id is required. Use list_spaces to see available options.");
872
864
  }
873
- if (!args.context && !args.tasks) {
874
- throw new Error("At least one of context or tasks must be provided");
865
+ if (!args.add && !args.update && !args.delete) {
866
+ throw new Error("At least one operation (add, update, delete) must be provided");
875
867
  }
876
- // Pass through to API
868
+ // Pass through to API with new structure
877
869
  return makeApiCall("update-memory", {
878
870
  space_id: args.space_id,
879
- context: args.context,
880
- tasks: args.tasks,
871
+ add: args.add,
872
+ update: args.update,
873
+ delete: args.delete,
881
874
  });
882
875
  }
883
876
  async function handleUpdateTaskStatus(args) {
package/index.ts CHANGED
@@ -555,158 +555,147 @@ const TOOLS = [
555
555
  {
556
556
  name: "update_memory",
557
557
  description:
558
- "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.",
558
+ "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.",
559
559
  inputSchema: {
560
560
  type: "object",
561
561
  properties: {
562
562
  space_id: {
563
563
  type: "string",
564
564
  description:
565
- "REQUIRED: Space to add items to (use list_spaces to see available options)",
565
+ "REQUIRED: Space to operate in (use list_spaces to see available options)",
566
566
  },
567
- context: {
568
- oneOf: [
569
- {
570
- type: "object",
571
- properties: {
572
- title: {
573
- type: "string",
574
- description: "Context item title",
575
- },
576
- content: {
577
- type: "string",
578
- description:
579
- "Context item content (general information/knowledge)",
580
- },
581
- topics: {
582
- type: "array",
583
- items: { type: "string" },
584
- description: "Optional topics/tags for organization",
585
- },
586
- source: {
587
- type: "string",
588
- enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
589
- description: "Optional source indicator",
590
- },
591
- },
592
- required: ["title", "content"],
593
- },
594
- {
567
+ add: {
568
+ type: "object",
569
+ description: "Add new context and/or tasks to memory",
570
+ properties: {
571
+ context: {
595
572
  type: "array",
596
573
  items: {
597
574
  type: "object",
598
575
  properties: {
599
- title: {
600
- type: "string",
601
- description: "Context item title",
602
- },
576
+ title: { type: "string", description: "Context title" },
603
577
  content: {
604
578
  type: "string",
605
- description:
606
- "Context item content (general information/knowledge)",
579
+ description: "Context content (general information)",
607
580
  },
608
581
  topics: {
609
582
  type: "array",
610
583
  items: { type: "string" },
611
- description: "Optional topics/tags for organization",
584
+ description: "Optional topics/tags",
612
585
  },
613
- source: {
586
+ },
587
+ required: ["title", "content"],
588
+ },
589
+ description: "Array of context items to add",
590
+ },
591
+ tasks: {
592
+ type: "array",
593
+ items: {
594
+ type: "object",
595
+ properties: {
596
+ title: { type: "string", description: "Task title" },
597
+ content: { type: "string", description: "Task description" },
598
+ topics: {
599
+ type: "array",
600
+ items: { type: "string" },
601
+ description: "Optional topics/tags",
602
+ },
603
+ status: {
614
604
  type: "string",
615
- enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
616
- description: "Optional source indicator",
605
+ enum: ["pending", "in_progress", "completed", "invalidated"],
606
+ description: "Task status (default: pending)",
607
+ },
608
+ priority: {
609
+ type: "string",
610
+ enum: ["urgent", "high", "medium", "low"],
611
+ description: "Priority level (default: medium)",
617
612
  },
618
613
  },
619
614
  required: ["title", "content"],
620
615
  },
616
+ description: "Array of tasks to add",
621
617
  },
622
- ],
623
- description:
624
- "Optional context items to add (general information/knowledge)",
618
+ },
625
619
  },
626
- tasks: {
627
- oneOf: [
628
- {
629
- type: "object",
630
- properties: {
631
- title: {
632
- type: "string",
633
- description: "Task title/summary",
634
- },
635
- content: {
636
- type: "string",
637
- description: "Detailed task description",
638
- },
639
- topics: {
640
- type: "array",
641
- items: { type: "string" },
642
- description: "Optional topics/tags for organization",
643
- },
644
- status: {
645
- type: "string",
646
- enum: ["pending", "in_progress", "completed", "invalidated"],
647
- description: "Task status (default: pending)",
648
- default: "pending",
649
- },
650
- priority: {
651
- type: "string",
652
- enum: ["urgent", "high", "medium", "low"],
653
- description: "Task priority level (default: medium)",
654
- default: "medium",
655
- },
656
- source: {
657
- type: "string",
658
- enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
659
- description: "Optional source indicator",
620
+ update: {
621
+ type: "object",
622
+ description: "Update existing context and/or tasks",
623
+ properties: {
624
+ context: {
625
+ type: "array",
626
+ items: {
627
+ type: "object",
628
+ properties: {
629
+ id: { type: "string", description: "Context ID to update" },
630
+ title: {
631
+ type: "string",
632
+ description: "New title (optional)",
633
+ },
634
+ content: {
635
+ type: "string",
636
+ description: "New content (optional)",
637
+ },
638
+ topics: {
639
+ type: "array",
640
+ items: { type: "string" },
641
+ description: "New topics (optional)",
642
+ },
660
643
  },
644
+ required: ["id"],
661
645
  },
662
- required: ["title", "content"],
646
+ description: "Array of context updates (must include id)",
663
647
  },
664
- {
648
+ tasks: {
665
649
  type: "array",
666
650
  items: {
667
651
  type: "object",
668
652
  properties: {
653
+ task_id: { type: "string", description: "Task ID to update" },
669
654
  title: {
670
655
  type: "string",
671
- description: "Task title/summary",
656
+ description: "New title (optional)",
672
657
  },
673
658
  content: {
674
659
  type: "string",
675
- description: "Detailed task description",
660
+ description: "New content (optional)",
676
661
  },
677
662
  topics: {
678
663
  type: "array",
679
664
  items: { type: "string" },
680
- description: "Optional topics/tags for organization",
665
+ description: "New topics (optional)",
681
666
  },
682
667
  status: {
683
668
  type: "string",
684
- enum: [
685
- "pending",
686
- "in_progress",
687
- "completed",
688
- "invalidated",
689
- ],
690
- description: "Task status (default: pending)",
691
- default: "pending",
669
+ enum: ["pending", "in_progress", "completed", "invalidated"],
670
+ description: "New status (optional)",
692
671
  },
693
672
  priority: {
694
673
  type: "string",
695
674
  enum: ["urgent", "high", "medium", "low"],
696
- description: "Task priority level (default: medium)",
697
- default: "medium",
698
- },
699
- source: {
700
- type: "string",
701
- enum: ["chatgpt", "claude-app", "claude-code", "intangle"],
702
- description: "Optional source indicator",
675
+ description: "New priority (optional)",
703
676
  },
704
677
  },
705
- required: ["title", "content"],
678
+ required: ["task_id"],
706
679
  },
680
+ description: "Array of task updates (must include task_id)",
707
681
  },
708
- ],
709
- description: "Optional tasks to add (actionable workflow items)",
682
+ },
683
+ },
684
+ delete: {
685
+ type: "object",
686
+ description: "Delete context and/or tasks by ID",
687
+ properties: {
688
+ context_ids: {
689
+ type: "array",
690
+ items: { type: "string" },
691
+ description: "Array of context IDs to delete",
692
+ },
693
+ task_ids: {
694
+ type: "array",
695
+ items: { type: "string" },
696
+ description: "Array of task IDs to delete",
697
+ },
698
+ },
710
699
  },
711
700
  },
712
701
  required: ["space_id"],
@@ -993,15 +982,18 @@ async function handleUpdateMemory(args: any) {
993
982
  );
994
983
  }
995
984
 
996
- if (!args.context && !args.tasks) {
997
- throw new Error("At least one of context or tasks must be provided");
985
+ if (!args.add && !args.update && !args.delete) {
986
+ throw new Error(
987
+ "At least one operation (add, update, delete) must be provided",
988
+ );
998
989
  }
999
990
 
1000
- // Pass through to API
991
+ // Pass through to API with new structure
1001
992
  return makeApiCall("update-memory", {
1002
993
  space_id: args.space_id,
1003
- context: args.context,
1004
- tasks: args.tasks,
994
+ add: args.add,
995
+ update: args.update,
996
+ delete: args.delete,
1005
997
  });
1006
998
  }
1007
999
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@intangle/mcp-server",
3
- "version": "1.1.5",
3
+ "version": "1.1.6",
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",