@doist/todoist-ai 3.0.0 → 4.0.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 +175 -47
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +10 -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,12 @@ 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';
12
14
  import { deleteObject } from './tools/delete-object.js';
13
15
  import { getOverview } from './tools/get-overview.js';
14
16
  declare const tools: {
@@ -16,40 +18,46 @@ declare const tools: {
16
18
  name: "add-tasks";
17
19
  description: string;
18
20
  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
21
  tasks: import("zod").ZodArray<import("zod").ZodObject<{
23
22
  content: import("zod").ZodString;
24
23
  description: import("zod").ZodOptional<import("zod").ZodString>;
25
24
  priority: import("zod").ZodOptional<import("zod").ZodNumber>;
26
25
  dueString: import("zod").ZodOptional<import("zod").ZodString>;
27
26
  duration: import("zod").ZodOptional<import("zod").ZodString>;
27
+ projectId: import("zod").ZodOptional<import("zod").ZodString>;
28
+ sectionId: import("zod").ZodOptional<import("zod").ZodString>;
29
+ parentId: import("zod").ZodOptional<import("zod").ZodString>;
28
30
  }, "strip", import("zod").ZodTypeAny, {
29
31
  content: string;
30
32
  description?: string | undefined;
33
+ parentId?: string | undefined;
34
+ projectId?: string | undefined;
35
+ sectionId?: string | undefined;
31
36
  priority?: number | undefined;
32
37
  dueString?: string | undefined;
33
38
  duration?: string | undefined;
34
39
  }, {
35
40
  content: string;
36
41
  description?: string | undefined;
42
+ parentId?: string | undefined;
43
+ projectId?: string | undefined;
44
+ sectionId?: string | undefined;
37
45
  priority?: number | undefined;
38
46
  dueString?: string | undefined;
39
47
  duration?: string | undefined;
40
48
  }>, "many">;
41
49
  };
42
- execute(args: {
50
+ execute({ tasks }: {
43
51
  tasks: {
44
52
  content: string;
45
53
  description?: string | undefined;
54
+ parentId?: string | undefined;
55
+ projectId?: string | undefined;
56
+ sectionId?: string | undefined;
46
57
  priority?: number | undefined;
47
58
  dueString?: string | undefined;
48
59
  duration?: string | undefined;
49
60
  }[];
50
- parentId?: string | undefined;
51
- projectId?: string | undefined;
52
- sectionId?: string | undefined;
53
61
  }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
54
62
  content: {
55
63
  type: "text";
@@ -401,6 +409,107 @@ declare const tools: {
401
409
  structuredContent?: undefined;
402
410
  }>;
403
411
  };
412
+ addProjects: {
413
+ name: "add-projects";
414
+ description: string;
415
+ parameters: {
416
+ projects: import("zod").ZodArray<import("zod").ZodObject<{
417
+ name: import("zod").ZodString;
418
+ isFavorite: import("zod").ZodOptional<import("zod").ZodBoolean>;
419
+ viewStyle: import("zod").ZodOptional<import("zod").ZodEnum<["list", "board", "calendar"]>>;
420
+ }, "strip", import("zod").ZodTypeAny, {
421
+ name: string;
422
+ isFavorite?: boolean | undefined;
423
+ viewStyle?: "list" | "board" | "calendar" | undefined;
424
+ }, {
425
+ name: string;
426
+ isFavorite?: boolean | undefined;
427
+ viewStyle?: "list" | "board" | "calendar" | undefined;
428
+ }>, "many">;
429
+ };
430
+ execute({ projects }: {
431
+ projects: {
432
+ name: string;
433
+ isFavorite?: boolean | undefined;
434
+ viewStyle?: "list" | "board" | "calendar" | undefined;
435
+ }[];
436
+ }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
437
+ content: {
438
+ type: "text";
439
+ text: string;
440
+ }[];
441
+ structuredContent: {
442
+ projects: (import("@doist/todoist-api-typescript").PersonalProject | import("@doist/todoist-api-typescript").WorkspaceProject)[];
443
+ totalCount: number;
444
+ };
445
+ } | {
446
+ content: ({
447
+ type: "text";
448
+ text: string;
449
+ mimeType?: undefined;
450
+ } | {
451
+ type: "text";
452
+ mimeType: string;
453
+ text: string;
454
+ })[];
455
+ structuredContent?: undefined;
456
+ }>;
457
+ };
458
+ updateProjects: {
459
+ name: "update-projects";
460
+ description: string;
461
+ parameters: {
462
+ projects: import("zod").ZodArray<import("zod").ZodObject<{
463
+ id: import("zod").ZodString;
464
+ name: import("zod").ZodOptional<import("zod").ZodString>;
465
+ isFavorite: import("zod").ZodOptional<import("zod").ZodBoolean>;
466
+ viewStyle: import("zod").ZodOptional<import("zod").ZodEnum<["list", "board", "calendar"]>>;
467
+ }, "strip", import("zod").ZodTypeAny, {
468
+ id: string;
469
+ name?: string | undefined;
470
+ isFavorite?: boolean | undefined;
471
+ viewStyle?: "list" | "board" | "calendar" | undefined;
472
+ }, {
473
+ id: string;
474
+ name?: string | undefined;
475
+ isFavorite?: boolean | undefined;
476
+ viewStyle?: "list" | "board" | "calendar" | undefined;
477
+ }>, "many">;
478
+ };
479
+ execute(args: {
480
+ projects: {
481
+ id: string;
482
+ name?: string | undefined;
483
+ isFavorite?: boolean | undefined;
484
+ viewStyle?: "list" | "board" | "calendar" | undefined;
485
+ }[];
486
+ }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
487
+ content: {
488
+ type: "text";
489
+ text: string;
490
+ }[];
491
+ structuredContent: {
492
+ projects: (import("@doist/todoist-api-typescript").PersonalProject | import("@doist/todoist-api-typescript").WorkspaceProject)[];
493
+ totalCount: number;
494
+ updatedProjectIds: string[];
495
+ appliedOperations: {
496
+ updateCount: number;
497
+ skippedCount: number;
498
+ };
499
+ };
500
+ } | {
501
+ content: ({
502
+ type: "text";
503
+ text: string;
504
+ mimeType?: undefined;
505
+ } | {
506
+ type: "text";
507
+ mimeType: string;
508
+ text: string;
509
+ })[];
510
+ structuredContent?: undefined;
511
+ }>;
512
+ };
404
513
  findProjects: {
405
514
  name: "find-projects";
406
515
  description: string;
@@ -451,24 +560,34 @@ declare const tools: {
451
560
  structuredContent?: undefined;
452
561
  }>;
453
562
  };
454
- manageProjects: {
455
- name: "manage-projects";
563
+ addSections: {
564
+ name: "add-sections";
456
565
  description: string;
457
566
  parameters: {
458
- id: import("zod").ZodOptional<import("zod").ZodString>;
459
- name: import("zod").ZodString;
567
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
568
+ name: import("zod").ZodString;
569
+ projectId: import("zod").ZodString;
570
+ }, "strip", import("zod").ZodTypeAny, {
571
+ name: string;
572
+ projectId: string;
573
+ }, {
574
+ name: string;
575
+ projectId: string;
576
+ }>, "many">;
460
577
  };
461
- execute(args: {
462
- name: string;
463
- id?: string | undefined;
578
+ execute({ sections }: {
579
+ sections: {
580
+ name: string;
581
+ projectId: string;
582
+ }[];
464
583
  }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
465
584
  content: {
466
585
  type: "text";
467
586
  text: string;
468
587
  }[];
469
588
  structuredContent: {
470
- project: import("@doist/todoist-api-typescript").PersonalProject | import("@doist/todoist-api-typescript").WorkspaceProject;
471
- operation: string;
589
+ sections: import("@doist/todoist-api-typescript").Section[];
590
+ totalCount: number;
472
591
  };
473
592
  } | {
474
593
  content: ({
@@ -483,31 +602,35 @@ declare const tools: {
483
602
  structuredContent?: undefined;
484
603
  }>;
485
604
  };
486
- findSections: {
487
- name: "find-sections";
605
+ updateSections: {
606
+ name: "update-sections";
488
607
  description: string;
489
608
  parameters: {
490
- projectId: import("zod").ZodString;
491
- search: import("zod").ZodOptional<import("zod").ZodString>;
609
+ sections: import("zod").ZodArray<import("zod").ZodObject<{
610
+ id: import("zod").ZodString;
611
+ name: import("zod").ZodString;
612
+ }, "strip", import("zod").ZodTypeAny, {
613
+ name: string;
614
+ id: string;
615
+ }, {
616
+ name: string;
617
+ id: string;
618
+ }>, "many">;
492
619
  };
493
- execute(args: {
494
- projectId: string;
495
- search?: string | undefined;
620
+ execute({ sections }: {
621
+ sections: {
622
+ name: string;
623
+ id: string;
624
+ }[];
496
625
  }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
497
626
  content: {
498
627
  type: "text";
499
628
  text: string;
500
629
  }[];
501
630
  structuredContent: {
502
- sections: {
503
- id: string;
504
- name: string;
505
- }[];
631
+ sections: import("@doist/todoist-api-typescript").Section[];
506
632
  totalCount: number;
507
- appliedFilters: {
508
- projectId: string;
509
- search?: string | undefined;
510
- };
633
+ updatedSectionIds: string[];
511
634
  };
512
635
  } | {
513
636
  content: ({
@@ -522,26 +645,31 @@ declare const tools: {
522
645
  structuredContent?: undefined;
523
646
  }>;
524
647
  };
525
- manageSections: {
526
- name: "manage-sections";
648
+ findSections: {
649
+ name: "find-sections";
527
650
  description: string;
528
651
  parameters: {
529
- id: import("zod").ZodOptional<import("zod").ZodString>;
530
- name: import("zod").ZodString;
531
- projectId: import("zod").ZodOptional<import("zod").ZodString>;
652
+ projectId: import("zod").ZodString;
653
+ search: import("zod").ZodOptional<import("zod").ZodString>;
532
654
  };
533
655
  execute(args: {
534
- name: string;
535
- id?: string | undefined;
536
- projectId?: string | undefined;
656
+ projectId: string;
657
+ search?: string | undefined;
537
658
  }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
538
659
  content: {
539
660
  type: "text";
540
661
  text: string;
541
662
  }[];
542
663
  structuredContent: {
543
- section: import("@doist/todoist-api-typescript").Section;
544
- operation: string;
664
+ sections: {
665
+ id: string;
666
+ name: string;
667
+ }[];
668
+ totalCount: number;
669
+ appliedFilters: {
670
+ projectId: string;
671
+ search?: string | undefined;
672
+ };
545
673
  };
546
674
  } | {
547
675
  content: ({
@@ -587,11 +715,11 @@ declare const tools: {
587
715
  name: "delete-object";
588
716
  description: string;
589
717
  parameters: {
590
- type: import("zod").ZodEnum<["project", "section", "task"]>;
718
+ type: import("zod").ZodEnum<["project", "section", "task", "comment"]>;
591
719
  id: import("zod").ZodString;
592
720
  };
593
721
  execute(args: {
594
- type: "task" | "project" | "section";
722
+ type: "task" | "comment" | "project" | "section";
595
723
  id: string;
596
724
  }, client: import("@doist/todoist-api-typescript").TodoistApi): Promise<{
597
725
  content: {
@@ -600,7 +728,7 @@ declare const tools: {
600
728
  }[];
601
729
  structuredContent: {
602
730
  deletedEntity: {
603
- type: "task" | "project" | "section";
731
+ type: "task" | "comment" | "project" | "section";
604
732
  id: string;
605
733
  };
606
734
  success: boolean;
@@ -620,5 +748,5 @@ declare const tools: {
620
748
  };
621
749
  };
622
750
  export { tools, getMcpServer };
623
- export { addTasks, completeTasks, updateTasks, findTasks, findTasksByDate, findCompletedTasks, findProjects, manageProjects, findSections, manageSections, getOverview, deleteObject, };
751
+ export { addTasks, completeTasks, updateTasks, findTasks, findTasksByDate, findCompletedTasks, addProjects, updateProjects, findProjects, addSections, updateSections, findSections, getOverview, deleteObject, };
624
752
  //# 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,YAAY,EAAE,MAAM,0BAA0B,CAAA;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAA;AAErD,QAAA,MAAM,KAAK;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmBV,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,YAAY,GACf,CAAA"}
package/dist/index.js CHANGED
@@ -7,11 +7,13 @@ 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';
15
17
  // General tools
16
18
  import { deleteObject } from './tools/delete-object.js';
17
19
  import { getOverview } from './tools/get-overview.js';
@@ -24,11 +26,13 @@ const tools = {
24
26
  findTasksByDate,
25
27
  findCompletedTasks,
26
28
  // Project management tools
29
+ addProjects,
30
+ updateProjects,
27
31
  findProjects,
28
- manageProjects,
29
32
  // Section management tools
33
+ addSections,
34
+ updateSections,
30
35
  findSections,
31
- manageSections,
32
36
  // General tools
33
37
  getOverview,
34
38
  deleteObject,
@@ -38,8 +42,8 @@ export {
38
42
  // Task management tools
39
43
  addTasks, completeTasks, updateTasks, findTasks, findTasksByDate, findCompletedTasks,
40
44
  // Project management tools
41
- findProjects, manageProjects,
45
+ addProjects, updateProjects, findProjects,
42
46
  // Section management tools
43
- findSections, manageSections,
47
+ addSections, updateSections, findSections,
44
48
  // General tools
45
49
  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":""}