@doist/todoist-ai 3.0.0 → 4.1.0

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 (77) hide show
  1. package/README.md +2 -18
  2. package/dist/index.d.ts +296 -30
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +20 -6
  5. package/dist/main.js +2 -1
  6. package/dist/mcp-server.d.ts.map +1 -1
  7. package/dist/mcp-server.js +16 -4
  8. package/dist/tools/__tests__/add-comments.test.d.ts +2 -0
  9. package/dist/tools/__tests__/add-comments.test.d.ts.map +1 -0
  10. package/dist/tools/__tests__/add-comments.test.js +241 -0
  11. package/dist/tools/__tests__/add-projects.test.d.ts +2 -0
  12. package/dist/tools/__tests__/add-projects.test.d.ts.map +1 -0
  13. package/dist/tools/__tests__/add-projects.test.js +152 -0
  14. package/dist/tools/__tests__/add-sections.test.d.ts +2 -0
  15. package/dist/tools/__tests__/add-sections.test.d.ts.map +1 -0
  16. package/dist/tools/__tests__/add-sections.test.js +181 -0
  17. package/dist/tools/__tests__/add-tasks.test.js +16 -10
  18. package/dist/tools/__tests__/find-comments.test.d.ts +2 -0
  19. package/dist/tools/__tests__/find-comments.test.d.ts.map +1 -0
  20. package/dist/tools/__tests__/find-comments.test.js +242 -0
  21. package/dist/tools/__tests__/find-sections.test.js +2 -2
  22. package/dist/tools/__tests__/update-comments.test.d.ts +2 -0
  23. package/dist/tools/__tests__/update-comments.test.d.ts.map +1 -0
  24. package/dist/tools/__tests__/update-comments.test.js +296 -0
  25. package/dist/tools/__tests__/update-projects.test.d.ts +2 -0
  26. package/dist/tools/__tests__/update-projects.test.d.ts.map +1 -0
  27. package/dist/tools/__tests__/update-projects.test.js +205 -0
  28. package/dist/tools/__tests__/update-sections.test.d.ts +2 -0
  29. package/dist/tools/__tests__/update-sections.test.d.ts.map +1 -0
  30. package/dist/tools/__tests__/update-sections.test.js +156 -0
  31. package/dist/tools/add-comments.d.ts +51 -0
  32. package/dist/tools/add-comments.d.ts.map +1 -0
  33. package/dist/tools/add-comments.js +79 -0
  34. package/dist/tools/add-projects.d.ts +50 -0
  35. package/dist/tools/add-projects.d.ts.map +1 -0
  36. package/dist/tools/add-projects.js +59 -0
  37. package/dist/tools/{manage-sections.d.ts → add-sections.d.ts} +21 -13
  38. package/dist/tools/add-sections.d.ts.map +1 -0
  39. package/dist/tools/add-sections.js +61 -0
  40. package/dist/tools/add-tasks.d.ts +15 -8
  41. package/dist/tools/add-tasks.d.ts.map +1 -1
  42. package/dist/tools/add-tasks.js +46 -37
  43. package/dist/tools/delete-object.d.ts +3 -3
  44. package/dist/tools/delete-object.d.ts.map +1 -1
  45. package/dist/tools/delete-object.js +13 -3
  46. package/dist/tools/find-comments.d.ts +46 -0
  47. package/dist/tools/find-comments.d.ts.map +1 -0
  48. package/dist/tools/find-comments.js +143 -0
  49. package/dist/tools/find-projects.js +2 -2
  50. package/dist/tools/find-sections.js +4 -4
  51. package/dist/tools/update-comments.d.ts +50 -0
  52. package/dist/tools/update-comments.d.ts.map +1 -0
  53. package/dist/tools/update-comments.js +82 -0
  54. package/dist/tools/update-projects.d.ts +59 -0
  55. package/dist/tools/update-projects.d.ts.map +1 -0
  56. package/dist/tools/update-projects.js +84 -0
  57. package/dist/tools/update-sections.d.ts +47 -0
  58. package/dist/tools/update-sections.d.ts.map +1 -0
  59. package/dist/tools/update-sections.js +70 -0
  60. package/dist/utils/constants.d.ts +4 -0
  61. package/dist/utils/constants.d.ts.map +1 -1
  62. package/dist/utils/constants.js +4 -0
  63. package/dist/utils/tool-names.d.ts +7 -2
  64. package/dist/utils/tool-names.d.ts.map +1 -1
  65. package/dist/utils/tool-names.js +8 -2
  66. package/package.json +1 -1
  67. package/dist/tools/__tests__/manage-projects.test.d.ts +0 -2
  68. package/dist/tools/__tests__/manage-projects.test.d.ts.map +0 -1
  69. package/dist/tools/__tests__/manage-projects.test.js +0 -109
  70. package/dist/tools/__tests__/manage-sections.test.d.ts +0 -2
  71. package/dist/tools/__tests__/manage-sections.test.d.ts.map +0 -1
  72. package/dist/tools/__tests__/manage-sections.test.js +0 -162
  73. package/dist/tools/manage-projects.d.ts +0 -35
  74. package/dist/tools/manage-projects.d.ts.map +0 -1
  75. package/dist/tools/manage-projects.js +0 -63
  76. package/dist/tools/manage-sections.d.ts.map +0 -1
  77. package/dist/tools/manage-sections.js +0 -78
package/README.md CHANGED
@@ -40,17 +40,7 @@ You can run the MCP server directly with npx:
40
40
  npx @doist/todoist-ai
41
41
  ```
42
42
 
43
- For convenience, we also include a function that initializes an MCP Server with all the tools available:
44
-
45
- ```js
46
- import { getMcpServer } from "@doist/todoist-ai";
47
-
48
- async function main() {
49
- const server = getMcpServer({ todoistApiKey: process.env.TODOIST_API_KEY });
50
- const transport = new StdioServerTransport();
51
- await server.connect(transport);
52
- }
53
- ```
43
+ For more details on setting up and using the MCP server, including creating custom servers, see [docs/mcp-server.md](docs/mcp-server.md).
54
44
 
55
45
  ## Features
56
46
 
@@ -60,13 +50,7 @@ This project is in its early stages. Expect more and/or better tools soon.
60
50
 
61
51
  Nevertheless, our goal is to provide a small set of tools that enable complete workflows, rather than just atomic actions, striking a balance between flexibility and efficiency for LLMs.
62
52
 
63
- ### Design Philosophy
64
-
65
- Our tools follow an **intelligent consolidation** approach that reduces cognitive load on LLMs by providing fewer, more powerful tools that handle complete user workflows rather than requiring multiple API calls for common tasks.
66
-
67
- Key principles include workflow-centric design, smart parameter handling, batch operations, and context-aware responses with suggested next steps.
68
-
69
- For detailed design guidelines, examples, and development patterns, see [docs/tool-design.md](docs/tool-design.md).
53
+ For our design philosophy, guidelines, and development patterns, see [docs/tool-design.md](docs/tool-design.md).
70
54
 
71
55
  ### Available Tools
72
56
 
package/dist/index.d.ts CHANGED
@@ -5,10 +5,15 @@ import { findCompletedTasks } from './tools/find-completed-tasks.js';
5
5
  import { findTasksByDate } from './tools/find-tasks-by-date.js';
6
6
  import { findTasks } from './tools/find-tasks.js';
7
7
  import { updateTasks } from './tools/update-tasks.js';
8
+ import { addProjects } from './tools/add-projects.js';
8
9
  import { findProjects } from './tools/find-projects.js';
9
- import { manageProjects } from './tools/manage-projects.js';
10
+ import { updateProjects } from './tools/update-projects.js';
11
+ import { addSections } from './tools/add-sections.js';
10
12
  import { findSections } from './tools/find-sections.js';
11
- import { manageSections } from './tools/manage-sections.js';
13
+ import { updateSections } from './tools/update-sections.js';
14
+ import { addComments } from './tools/add-comments.js';
15
+ import { findComments } from './tools/find-comments.js';
16
+ import { updateComments } from './tools/update-comments.js';
12
17
  import { deleteObject } from './tools/delete-object.js';
13
18
  import { getOverview } from './tools/get-overview.js';
14
19
  declare const tools: {
@@ -16,40 +21,46 @@ declare const tools: {
16
21
  name: "add-tasks";
17
22
  description: string;
18
23
  parameters: {
19
- projectId: import("zod").ZodOptional<import("zod").ZodString>;
20
- sectionId: import("zod").ZodOptional<import("zod").ZodString>;
21
- parentId: import("zod").ZodOptional<import("zod").ZodString>;
22
24
  tasks: import("zod").ZodArray<import("zod").ZodObject<{
23
25
  content: import("zod").ZodString;
24
26
  description: import("zod").ZodOptional<import("zod").ZodString>;
25
27
  priority: import("zod").ZodOptional<import("zod").ZodNumber>;
26
28
  dueString: import("zod").ZodOptional<import("zod").ZodString>;
27
29
  duration: import("zod").ZodOptional<import("zod").ZodString>;
30
+ projectId: import("zod").ZodOptional<import("zod").ZodString>;
31
+ sectionId: import("zod").ZodOptional<import("zod").ZodString>;
32
+ parentId: import("zod").ZodOptional<import("zod").ZodString>;
28
33
  }, "strip", import("zod").ZodTypeAny, {
29
34
  content: string;
30
35
  description?: string | undefined;
36
+ parentId?: string | undefined;
37
+ projectId?: string | undefined;
38
+ sectionId?: string | undefined;
31
39
  priority?: number | undefined;
32
40
  dueString?: string | undefined;
33
41
  duration?: string | undefined;
34
42
  }, {
35
43
  content: string;
36
44
  description?: string | undefined;
45
+ parentId?: string | undefined;
46
+ projectId?: string | undefined;
47
+ sectionId?: string | undefined;
37
48
  priority?: number | undefined;
38
49
  dueString?: string | undefined;
39
50
  duration?: string | undefined;
40
51
  }>, "many">;
41
52
  };
42
- execute(args: {
53
+ execute({ tasks }: {
43
54
  tasks: {
44
55
  content: string;
45
56
  description?: string | undefined;
57
+ parentId?: string | undefined;
58
+ projectId?: string | undefined;
59
+ sectionId?: string | undefined;
46
60
  priority?: number | undefined;
47
61
  dueString?: string | undefined;
48
62
  duration?: string | undefined;
49
63
  }[];
50
- parentId?: string | undefined;
51
- projectId?: string | undefined;
52
- sectionId?: string | undefined;
53
64
  }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
54
65
  content: {
55
66
  type: "text";
@@ -401,6 +412,107 @@ declare const tools: {
401
412
  structuredContent?: undefined;
402
413
  }>;
403
414
  };
415
+ addProjects: {
416
+ name: "add-projects";
417
+ description: string;
418
+ parameters: {
419
+ projects: import("zod").ZodArray<import("zod").ZodObject<{
420
+ name: import("zod").ZodString;
421
+ isFavorite: import("zod").ZodOptional<import("zod").ZodBoolean>;
422
+ viewStyle: import("zod").ZodOptional<import("zod").ZodEnum<["list", "board", "calendar"]>>;
423
+ }, "strip", import("zod").ZodTypeAny, {
424
+ name: string;
425
+ isFavorite?: boolean | undefined;
426
+ viewStyle?: "list" | "board" | "calendar" | undefined;
427
+ }, {
428
+ name: string;
429
+ isFavorite?: boolean | undefined;
430
+ viewStyle?: "list" | "board" | "calendar" | undefined;
431
+ }>, "many">;
432
+ };
433
+ execute({ projects }: {
434
+ projects: {
435
+ name: string;
436
+ isFavorite?: boolean | undefined;
437
+ viewStyle?: "list" | "board" | "calendar" | undefined;
438
+ }[];
439
+ }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
440
+ content: {
441
+ type: "text";
442
+ text: string;
443
+ }[];
444
+ structuredContent: {
445
+ projects: (import("@doist/todoist-api-typescript").PersonalProject | import("@doist/todoist-api-typescript").WorkspaceProject)[];
446
+ totalCount: number;
447
+ };
448
+ } | {
449
+ content: ({
450
+ type: "text";
451
+ text: string;
452
+ mimeType?: undefined;
453
+ } | {
454
+ type: "text";
455
+ mimeType: string;
456
+ text: string;
457
+ })[];
458
+ structuredContent?: undefined;
459
+ }>;
460
+ };
461
+ updateProjects: {
462
+ name: "update-projects";
463
+ description: string;
464
+ parameters: {
465
+ projects: import("zod").ZodArray<import("zod").ZodObject<{
466
+ id: import("zod").ZodString;
467
+ name: import("zod").ZodOptional<import("zod").ZodString>;
468
+ isFavorite: import("zod").ZodOptional<import("zod").ZodBoolean>;
469
+ viewStyle: import("zod").ZodOptional<import("zod").ZodEnum<["list", "board", "calendar"]>>;
470
+ }, "strip", import("zod").ZodTypeAny, {
471
+ id: string;
472
+ name?: string | undefined;
473
+ isFavorite?: boolean | undefined;
474
+ viewStyle?: "list" | "board" | "calendar" | undefined;
475
+ }, {
476
+ id: string;
477
+ name?: string | undefined;
478
+ isFavorite?: boolean | undefined;
479
+ viewStyle?: "list" | "board" | "calendar" | undefined;
480
+ }>, "many">;
481
+ };
482
+ execute(args: {
483
+ projects: {
484
+ id: string;
485
+ name?: string | undefined;
486
+ isFavorite?: boolean | undefined;
487
+ viewStyle?: "list" | "board" | "calendar" | undefined;
488
+ }[];
489
+ }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
490
+ content: {
491
+ type: "text";
492
+ text: string;
493
+ }[];
494
+ structuredContent: {
495
+ projects: (import("@doist/todoist-api-typescript").PersonalProject | import("@doist/todoist-api-typescript").WorkspaceProject)[];
496
+ totalCount: number;
497
+ updatedProjectIds: string[];
498
+ appliedOperations: {
499
+ updateCount: number;
500
+ skippedCount: number;
501
+ };
502
+ };
503
+ } | {
504
+ content: ({
505
+ type: "text";
506
+ text: string;
507
+ mimeType?: undefined;
508
+ } | {
509
+ type: "text";
510
+ mimeType: string;
511
+ text: string;
512
+ })[];
513
+ structuredContent?: undefined;
514
+ }>;
515
+ };
404
516
  findProjects: {
405
517
  name: "find-projects";
406
518
  description: string;
@@ -451,24 +563,77 @@ declare const tools: {
451
563
  structuredContent?: undefined;
452
564
  }>;
453
565
  };
454
- manageProjects: {
455
- name: "manage-projects";
566
+ addSections: {
567
+ name: "add-sections";
456
568
  description: string;
457
569
  parameters: {
458
- id: import("zod").ZodOptional<import("zod").ZodString>;
459
- name: import("zod").ZodString;
570
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
571
+ name: import("zod").ZodString;
572
+ projectId: import("zod").ZodString;
573
+ }, "strip", import("zod").ZodTypeAny, {
574
+ name: string;
575
+ projectId: string;
576
+ }, {
577
+ name: string;
578
+ projectId: string;
579
+ }>, "many">;
460
580
  };
461
- execute(args: {
462
- name: string;
463
- id?: string | undefined;
581
+ execute({ sections }: {
582
+ sections: {
583
+ name: string;
584
+ projectId: string;
585
+ }[];
586
+ }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
587
+ content: {
588
+ type: "text";
589
+ text: string;
590
+ }[];
591
+ structuredContent: {
592
+ sections: import("@doist/todoist-api-typescript").Section[];
593
+ totalCount: number;
594
+ };
595
+ } | {
596
+ content: ({
597
+ type: "text";
598
+ text: string;
599
+ mimeType?: undefined;
600
+ } | {
601
+ type: "text";
602
+ mimeType: string;
603
+ text: string;
604
+ })[];
605
+ structuredContent?: undefined;
606
+ }>;
607
+ };
608
+ updateSections: {
609
+ name: "update-sections";
610
+ description: string;
611
+ parameters: {
612
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
613
+ id: import("zod").ZodString;
614
+ name: import("zod").ZodString;
615
+ }, "strip", import("zod").ZodTypeAny, {
616
+ name: string;
617
+ id: string;
618
+ }, {
619
+ name: string;
620
+ id: string;
621
+ }>, "many">;
622
+ };
623
+ execute({ sections }: {
624
+ sections: {
625
+ name: string;
626
+ id: string;
627
+ }[];
464
628
  }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
465
629
  content: {
466
630
  type: "text";
467
631
  text: string;
468
632
  }[];
469
633
  structuredContent: {
470
- project: import("@doist/todoist-api-typescript").PersonalProject | import("@doist/todoist-api-typescript").WorkspaceProject;
471
- operation: string;
634
+ sections: import("@doist/todoist-api-typescript").Section[];
635
+ totalCount: number;
636
+ updatedSectionIds: string[];
472
637
  };
473
638
  } | {
474
639
  content: ({
@@ -522,26 +687,127 @@ declare const tools: {
522
687
  structuredContent?: undefined;
523
688
  }>;
524
689
  };
525
- manageSections: {
526
- name: "manage-sections";
690
+ addComments: {
691
+ name: "add-comments";
692
+ description: string;
693
+ parameters: {
694
+ comments: import("zod").ZodArray<import("zod").ZodObject<{
695
+ taskId: import("zod").ZodOptional<import("zod").ZodString>;
696
+ projectId: import("zod").ZodOptional<import("zod").ZodString>;
697
+ content: import("zod").ZodString;
698
+ }, "strip", import("zod").ZodTypeAny, {
699
+ content: string;
700
+ projectId?: string | undefined;
701
+ taskId?: string | undefined;
702
+ }, {
703
+ content: string;
704
+ projectId?: string | undefined;
705
+ taskId?: string | undefined;
706
+ }>, "many">;
707
+ };
708
+ execute(args: {
709
+ comments: {
710
+ content: string;
711
+ projectId?: string | undefined;
712
+ taskId?: string | undefined;
713
+ }[];
714
+ }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
715
+ content: {
716
+ type: "text";
717
+ text: string;
718
+ }[];
719
+ structuredContent: {
720
+ comments: import("@doist/todoist-api-typescript").Comment[];
721
+ totalCount: number;
722
+ addedCommentIds: string[];
723
+ };
724
+ } | {
725
+ content: ({
726
+ type: "text";
727
+ text: string;
728
+ mimeType?: undefined;
729
+ } | {
730
+ type: "text";
731
+ mimeType: string;
732
+ text: string;
733
+ })[];
734
+ structuredContent?: undefined;
735
+ }>;
736
+ };
737
+ updateComments: {
738
+ name: "update-comments";
739
+ description: string;
740
+ parameters: {
741
+ comments: import("zod").ZodArray<import("zod").ZodObject<{
742
+ id: import("zod").ZodString;
743
+ content: import("zod").ZodString;
744
+ }, "strip", import("zod").ZodTypeAny, {
745
+ content: string;
746
+ id: string;
747
+ }, {
748
+ content: string;
749
+ id: string;
750
+ }>, "many">;
751
+ };
752
+ execute(args: {
753
+ comments: {
754
+ content: string;
755
+ id: string;
756
+ }[];
757
+ }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
758
+ content: {
759
+ type: "text";
760
+ text: string;
761
+ }[];
762
+ structuredContent: {
763
+ comments: import("@doist/todoist-api-typescript").Comment[];
764
+ totalCount: number;
765
+ updatedCommentIds: string[];
766
+ appliedOperations: {
767
+ updateCount: number;
768
+ };
769
+ };
770
+ } | {
771
+ content: ({
772
+ type: "text";
773
+ text: string;
774
+ mimeType?: undefined;
775
+ } | {
776
+ type: "text";
777
+ mimeType: string;
778
+ text: string;
779
+ })[];
780
+ structuredContent?: undefined;
781
+ }>;
782
+ };
783
+ findComments: {
784
+ name: "find-comments";
527
785
  description: string;
528
786
  parameters: {
529
- id: import("zod").ZodOptional<import("zod").ZodString>;
530
- name: import("zod").ZodString;
787
+ taskId: import("zod").ZodOptional<import("zod").ZodString>;
531
788
  projectId: import("zod").ZodOptional<import("zod").ZodString>;
789
+ commentId: import("zod").ZodOptional<import("zod").ZodString>;
790
+ cursor: import("zod").ZodOptional<import("zod").ZodString>;
791
+ limit: import("zod").ZodOptional<import("zod").ZodNumber>;
532
792
  };
533
793
  execute(args: {
534
- name: string;
535
- id?: string | undefined;
536
794
  projectId?: string | undefined;
795
+ limit?: number | undefined;
796
+ cursor?: string | undefined;
797
+ taskId?: string | undefined;
798
+ commentId?: string | undefined;
537
799
  }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
538
800
  content: {
539
801
  type: "text";
540
802
  text: string;
541
803
  }[];
542
804
  structuredContent: {
543
- section: import("@doist/todoist-api-typescript").Section;
544
- operation: string;
805
+ comments: import("@doist/todoist-api-typescript").Comment[];
806
+ searchType: string;
807
+ searchId: string;
808
+ hasMore: boolean;
809
+ nextCursor: string | null;
810
+ totalCount: number;
545
811
  };
546
812
  } | {
547
813
  content: ({
@@ -587,11 +853,11 @@ declare const tools: {
587
853
  name: "delete-object";
588
854
  description: string;
589
855
  parameters: {
590
- type: import("zod").ZodEnum<["project", "section", "task"]>;
856
+ type: import("zod").ZodEnum<["project", "section", "task", "comment"]>;
591
857
  id: import("zod").ZodString;
592
858
  };
593
859
  execute(args: {
594
- type: "task" | "project" | "section";
860
+ type: "task" | "comment" | "project" | "section";
595
861
  id: string;
596
862
  }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
597
863
  content: {
@@ -600,7 +866,7 @@ declare const tools: {
600
866
  }[];
601
867
  structuredContent: {
602
868
  deletedEntity: {
603
- type: "task" | "project" | "section";
869
+ type: "task" | "comment" | "project" | "section";
604
870
  id: string;
605
871
  };
606
872
  success: boolean;
@@ -620,5 +886,5 @@ declare const tools: {
620
886
  };
621
887
  };
622
888
  export { tools, getMcpServer };
623
- export { addTasks, completeTasks, updateTasks, findTasks, findTasksByDate, findCompletedTasks, findProjects, manageProjects, findSections, manageSections, getOverview, deleteObject, };
889
+ export { addTasks, completeTasks, updateTasks, findTasks, findTasksByDate, findCompletedTasks, addProjects, updateProjects, findProjects, addSections, updateSections, findSections, addComments, updateComments, findComments, getOverview, deleteObject, };
624
890
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiBV,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;AAE9B,OAAO,EAEH,QAAQ,EACR,aAAa,EACb,WAAW,EACX,SAAS,EACT,eAAe,EACf,kBAAkB,EAElB,YAAY,EACZ,cAAc,EAEd,YAAY,EACZ,cAAc,EAEd,WAAW,EACX,YAAY,GACf,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,iBAAiB,CAAA;AAG9C,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAC/C,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,iCAAiC,CAAA;AACpE,OAAO,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAC/D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAA;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAGrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAA;AAG3D,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuBV,CAAA;AAED,OAAO,EAAE,KAAK,EAAE,YAAY,EAAE,CAAA;AAE9B,OAAO,EAEH,QAAQ,EACR,aAAa,EACb,WAAW,EACX,SAAS,EACT,eAAe,EACf,kBAAkB,EAElB,WAAW,EACX,cAAc,EACd,YAAY,EAEZ,WAAW,EACX,cAAc,EACd,YAAY,EAEZ,WAAW,EACX,cAAc,EACd,YAAY,EAEZ,WAAW,EACX,YAAY,GACf,CAAA"}
package/dist/index.js CHANGED
@@ -7,11 +7,17 @@ import { findTasksByDate } from './tools/find-tasks-by-date.js';
7
7
  import { findTasks } from './tools/find-tasks.js';
8
8
  import { updateTasks } from './tools/update-tasks.js';
9
9
  // Project management tools
10
+ import { addProjects } from './tools/add-projects.js';
10
11
  import { findProjects } from './tools/find-projects.js';
11
- import { manageProjects } from './tools/manage-projects.js';
12
+ import { updateProjects } from './tools/update-projects.js';
12
13
  // Section management tools
14
+ import { addSections } from './tools/add-sections.js';
13
15
  import { findSections } from './tools/find-sections.js';
14
- import { manageSections } from './tools/manage-sections.js';
16
+ import { updateSections } from './tools/update-sections.js';
17
+ // Comment management tools
18
+ import { addComments } from './tools/add-comments.js';
19
+ import { findComments } from './tools/find-comments.js';
20
+ import { updateComments } from './tools/update-comments.js';
15
21
  // General tools
16
22
  import { deleteObject } from './tools/delete-object.js';
17
23
  import { getOverview } from './tools/get-overview.js';
@@ -24,11 +30,17 @@ const tools = {
24
30
  findTasksByDate,
25
31
  findCompletedTasks,
26
32
  // Project management tools
33
+ addProjects,
34
+ updateProjects,
27
35
  findProjects,
28
- manageProjects,
29
36
  // Section management tools
37
+ addSections,
38
+ updateSections,
30
39
  findSections,
31
- manageSections,
40
+ // Comment management tools
41
+ addComments,
42
+ updateComments,
43
+ findComments,
32
44
  // General tools
33
45
  getOverview,
34
46
  deleteObject,
@@ -38,8 +50,10 @@ export {
38
50
  // Task management tools
39
51
  addTasks, completeTasks, updateTasks, findTasks, findTasksByDate, findCompletedTasks,
40
52
  // Project management tools
41
- findProjects, manageProjects,
53
+ addProjects, updateProjects, findProjects,
42
54
  // Section management tools
43
- findSections, manageSections,
55
+ addSections, updateSections, findSections,
56
+ // Comment management tools
57
+ addComments, updateComments, findComments,
44
58
  // General tools
45
59
  getOverview, deleteObject, };
package/dist/main.js CHANGED
@@ -3,11 +3,12 @@ import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js'
3
3
  import dotenv from 'dotenv';
4
4
  import { getMcpServer } from './mcp-server.js';
5
5
  function main() {
6
+ const baseUrl = process.env.TODOIST_BASE_URL;
6
7
  const todoistApiKey = process.env.TODOIST_API_KEY;
7
8
  if (!todoistApiKey) {
8
9
  throw new Error('TODOIST_API_KEY is not set');
9
10
  }
10
- const server = getMcpServer({ todoistApiKey });
11
+ const server = getMcpServer({ todoistApiKey, baseUrl });
11
12
  const transport = new StdioServerTransport();
12
13
  server
13
14
  .connect(transport)
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AA2BnE;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,aAkC5F;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAkCnE;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE,EAAE;IAAE,aAAa,EAAE,MAAM,CAAC;IAAC,OAAO,CAAC,EAAE,MAAM,CAAA;CAAE,aAyC5F;AAED,OAAO,EAAE,YAAY,EAAE,CAAA"}
@@ -9,11 +9,17 @@ import { findTasksByDate } from './tools/find-tasks-by-date.js';
9
9
  import { findTasks } from './tools/find-tasks.js';
10
10
  import { updateTasks } from './tools/update-tasks.js';
11
11
  // Project management tools
12
+ import { addProjects } from './tools/add-projects.js';
12
13
  import { findProjects } from './tools/find-projects.js';
13
- import { manageProjects } from './tools/manage-projects.js';
14
+ import { updateProjects } from './tools/update-projects.js';
14
15
  // Section management tools
16
+ import { addSections } from './tools/add-sections.js';
15
17
  import { findSections } from './tools/find-sections.js';
16
- import { manageSections } from './tools/manage-sections.js';
18
+ import { updateSections } from './tools/update-sections.js';
19
+ // Comment management tools
20
+ import { addComments } from './tools/add-comments.js';
21
+ import { findComments } from './tools/find-comments.js';
22
+ import { updateComments } from './tools/update-comments.js';
17
23
  // General tools
18
24
  import { deleteObject } from './tools/delete-object.js';
19
25
  import { getOverview } from './tools/get-overview.js';
@@ -42,11 +48,17 @@ function getMcpServer({ todoistApiKey, baseUrl }) {
42
48
  registerTool(findTasksByDate, server, todoist);
43
49
  registerTool(findCompletedTasks, server, todoist);
44
50
  // Project management tools
51
+ registerTool(addProjects, server, todoist);
52
+ registerTool(updateProjects, server, todoist);
45
53
  registerTool(findProjects, server, todoist);
46
- registerTool(manageProjects, server, todoist);
47
54
  // Section management tools
55
+ registerTool(addSections, server, todoist);
56
+ registerTool(updateSections, server, todoist);
48
57
  registerTool(findSections, server, todoist);
49
- registerTool(manageSections, server, todoist);
58
+ // Comment management tools
59
+ registerTool(addComments, server, todoist);
60
+ registerTool(findComments, server, todoist);
61
+ registerTool(updateComments, server, todoist);
50
62
  // General tools
51
63
  registerTool(getOverview, server, todoist);
52
64
  registerTool(deleteObject, server, todoist);
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=add-comments.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"add-comments.test.d.ts","sourceRoot":"","sources":["../../../src/tools/__tests__/add-comments.test.ts"],"names":[],"mappings":""}