@todoist/mcp 0.0.0-stage → 15.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 (197) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +232 -2
  3. package/dist/filter-helpers.d.ts +53 -0
  4. package/dist/filter-helpers.d.ts.map +1 -0
  5. package/dist/http-app.d.ts +28 -0
  6. package/dist/http-app.d.ts.map +1 -0
  7. package/dist/index.d.ts +4347 -0
  8. package/dist/index.d.ts.map +1 -0
  9. package/dist/index.js +61 -0
  10. package/dist/main-http.d.ts +3 -0
  11. package/dist/main-http.d.ts.map +1 -0
  12. package/dist/main-http.js +133 -0
  13. package/dist/main.d.ts +3 -0
  14. package/dist/main.d.ts.map +1 -0
  15. package/dist/main.js +16 -0
  16. package/dist/mcp-apps/index.html +116 -0
  17. package/dist/mcp-helpers.d.ts +62 -0
  18. package/dist/mcp-helpers.d.ts.map +1 -0
  19. package/dist/mcp-server-y4HhlBJW.js +8152 -0
  20. package/dist/mcp-server.d.ts +16 -0
  21. package/dist/mcp-server.d.ts.map +1 -0
  22. package/dist/middleware/require-trusted-host.d.ts +44 -0
  23. package/dist/middleware/require-trusted-host.d.ts.map +1 -0
  24. package/dist/middleware/require-valid-todoist-token.d.ts +39 -0
  25. package/dist/middleware/require-valid-todoist-token.d.ts.map +1 -0
  26. package/dist/prompts/productivity-analysis.d.ts +58 -0
  27. package/dist/prompts/productivity-analysis.d.ts.map +1 -0
  28. package/dist/require-valid-todoist-token-I1jh7sbd.js +63 -0
  29. package/dist/todoist-tool.d.ts +15 -0
  30. package/dist/todoist-tool.d.ts.map +1 -0
  31. package/dist/tool-execution-error.d.ts +27 -0
  32. package/dist/tool-execution-error.d.ts.map +1 -0
  33. package/dist/tool-helpers.d.ts +318 -0
  34. package/dist/tool-helpers.d.ts.map +1 -0
  35. package/dist/tool-registry.d.ts +4307 -0
  36. package/dist/tool-registry.d.ts.map +1 -0
  37. package/dist/tools/add-comments.d.ts +104 -0
  38. package/dist/tools/add-comments.d.ts.map +1 -0
  39. package/dist/tools/add-filters.d.ts +113 -0
  40. package/dist/tools/add-filters.d.ts.map +1 -0
  41. package/dist/tools/add-labels.d.ts +107 -0
  42. package/dist/tools/add-labels.d.ts.map +1 -0
  43. package/dist/tools/add-projects.d.ts +134 -0
  44. package/dist/tools/add-projects.d.ts.map +1 -0
  45. package/dist/tools/add-reminders.d.ts +174 -0
  46. package/dist/tools/add-reminders.d.ts.map +1 -0
  47. package/dist/tools/add-sections.d.ts +61 -0
  48. package/dist/tools/add-sections.d.ts.map +1 -0
  49. package/dist/tools/add-tasks.d.ts +123 -0
  50. package/dist/tools/add-tasks.d.ts.map +1 -0
  51. package/dist/tools/analyze-project-health.d.ts +45 -0
  52. package/dist/tools/analyze-project-health.d.ts.map +1 -0
  53. package/dist/tools/complete-tasks.d.ts +42 -0
  54. package/dist/tools/complete-tasks.d.ts.map +1 -0
  55. package/dist/tools/delete-object.d.ts +54 -0
  56. package/dist/tools/delete-object.d.ts.map +1 -0
  57. package/dist/tools/export-project-template.d.ts +54 -0
  58. package/dist/tools/export-project-template.d.ts.map +1 -0
  59. package/dist/tools/fetch-object.d.ts +243 -0
  60. package/dist/tools/fetch-object.d.ts.map +1 -0
  61. package/dist/tools/fetch.d.ts +41 -0
  62. package/dist/tools/fetch.d.ts.map +1 -0
  63. package/dist/tools/find-activity.d.ts +98 -0
  64. package/dist/tools/find-activity.d.ts.map +1 -0
  65. package/dist/tools/find-comments.d.ts +91 -0
  66. package/dist/tools/find-comments.d.ts.map +1 -0
  67. package/dist/tools/find-completed-tasks.d.ts +119 -0
  68. package/dist/tools/find-completed-tasks.d.ts.map +1 -0
  69. package/dist/tools/find-filters.d.ts +95 -0
  70. package/dist/tools/find-filters.d.ts.map +1 -0
  71. package/dist/tools/find-labels.d.ts +81 -0
  72. package/dist/tools/find-labels.d.ts.map +1 -0
  73. package/dist/tools/find-project-collaborators.d.ts +94 -0
  74. package/dist/tools/find-project-collaborators.d.ts.map +1 -0
  75. package/dist/tools/find-projects.d.ts +98 -0
  76. package/dist/tools/find-projects.d.ts.map +1 -0
  77. package/dist/tools/find-reminders.d.ts +99 -0
  78. package/dist/tools/find-reminders.d.ts.map +1 -0
  79. package/dist/tools/find-sections.d.ts +45 -0
  80. package/dist/tools/find-sections.d.ts.map +1 -0
  81. package/dist/tools/find-tasks-by-date.d.ts +137 -0
  82. package/dist/tools/find-tasks-by-date.d.ts.map +1 -0
  83. package/dist/tools/find-tasks.d.ts +120 -0
  84. package/dist/tools/find-tasks.d.ts.map +1 -0
  85. package/dist/tools/get-overview.d.ts +121 -0
  86. package/dist/tools/get-overview.d.ts.map +1 -0
  87. package/dist/tools/get-productivity-stats.d.ts +160 -0
  88. package/dist/tools/get-productivity-stats.d.ts.map +1 -0
  89. package/dist/tools/get-project-activity-stats.d.ts +48 -0
  90. package/dist/tools/get-project-activity-stats.d.ts.map +1 -0
  91. package/dist/tools/get-project-health.d.ts +104 -0
  92. package/dist/tools/get-project-health.d.ts.map +1 -0
  93. package/dist/tools/get-user-status.d.ts +35 -0
  94. package/dist/tools/get-user-status.d.ts.map +1 -0
  95. package/dist/tools/get-workspace-insights.d.ts +63 -0
  96. package/dist/tools/get-workspace-insights.d.ts.map +1 -0
  97. package/dist/tools/import-project-template.d.ts +148 -0
  98. package/dist/tools/import-project-template.d.ts.map +1 -0
  99. package/dist/tools/list-workspaces.d.ts +54 -0
  100. package/dist/tools/list-workspaces.d.ts.map +1 -0
  101. package/dist/tools/manage-assignments.d.ts +73 -0
  102. package/dist/tools/manage-assignments.d.ts.map +1 -0
  103. package/dist/tools/project-management.d.ts +82 -0
  104. package/dist/tools/project-management.d.ts.map +1 -0
  105. package/dist/tools/project-move.d.ts +92 -0
  106. package/dist/tools/project-move.d.ts.map +1 -0
  107. package/dist/tools/reorder-objects.d.ts +61 -0
  108. package/dist/tools/reorder-objects.d.ts.map +1 -0
  109. package/dist/tools/reschedule-tasks.d.ts +95 -0
  110. package/dist/tools/reschedule-tasks.d.ts.map +1 -0
  111. package/dist/tools/search.d.ts +43 -0
  112. package/dist/tools/search.d.ts.map +1 -0
  113. package/dist/tools/set-user-status.d.ts +51 -0
  114. package/dist/tools/set-user-status.d.ts.map +1 -0
  115. package/dist/tools/uncomplete-tasks.d.ts +42 -0
  116. package/dist/tools/uncomplete-tasks.d.ts.map +1 -0
  117. package/dist/tools/update-comments.d.ts +100 -0
  118. package/dist/tools/update-comments.d.ts.map +1 -0
  119. package/dist/tools/update-filters.d.ts +121 -0
  120. package/dist/tools/update-filters.d.ts.map +1 -0
  121. package/dist/tools/update-labels.d.ts +133 -0
  122. package/dist/tools/update-labels.d.ts.map +1 -0
  123. package/dist/tools/update-projects.d.ts +138 -0
  124. package/dist/tools/update-projects.d.ts.map +1 -0
  125. package/dist/tools/update-reminders.d.ts +176 -0
  126. package/dist/tools/update-reminders.d.ts.map +1 -0
  127. package/dist/tools/update-sections.d.ts +65 -0
  128. package/dist/tools/update-sections.d.ts.map +1 -0
  129. package/dist/tools/update-tasks.d.ts +135 -0
  130. package/dist/tools/update-tasks.d.ts.map +1 -0
  131. package/dist/tools/user-info.d.ts +57 -0
  132. package/dist/tools/user-info.d.ts.map +1 -0
  133. package/dist/tools/view-attachment.d.ts +25 -0
  134. package/dist/tools/view-attachment.d.ts.map +1 -0
  135. package/dist/usage-tracking.d.ts +36 -0
  136. package/dist/usage-tracking.d.ts.map +1 -0
  137. package/dist/utils/assignment-validator.d.ts +69 -0
  138. package/dist/utils/assignment-validator.d.ts.map +1 -0
  139. package/dist/utils/batch-failures.d.ts +25 -0
  140. package/dist/utils/batch-failures.d.ts.map +1 -0
  141. package/dist/utils/children.d.ts +68 -0
  142. package/dist/utils/children.d.ts.map +1 -0
  143. package/dist/utils/colors.d.ts +68 -0
  144. package/dist/utils/colors.d.ts.map +1 -0
  145. package/dist/utils/comment-recipients.d.ts +35 -0
  146. package/dist/utils/comment-recipients.d.ts.map +1 -0
  147. package/dist/utils/concurrency.d.ts +35 -0
  148. package/dist/utils/concurrency.d.ts.map +1 -0
  149. package/dist/utils/constants.d.ts +93 -0
  150. package/dist/utils/constants.d.ts.map +1 -0
  151. package/dist/utils/date.d.ts +18 -0
  152. package/dist/utils/date.d.ts.map +1 -0
  153. package/dist/utils/duration-parser.d.ts +39 -0
  154. package/dist/utils/duration-parser.d.ts.map +1 -0
  155. package/dist/utils/filter-description.d.ts +16 -0
  156. package/dist/utils/filter-description.d.ts.map +1 -0
  157. package/dist/utils/filter-resolver.d.ts +27 -0
  158. package/dist/utils/filter-resolver.d.ts.map +1 -0
  159. package/dist/utils/host.d.ts +6 -0
  160. package/dist/utils/host.d.ts.map +1 -0
  161. package/dist/utils/labels.d.ts +13 -0
  162. package/dist/utils/labels.d.ts.map +1 -0
  163. package/dist/utils/move-planner.d.ts +63 -0
  164. package/dist/utils/move-planner.d.ts.map +1 -0
  165. package/dist/utils/order-keys.d.ts +36 -0
  166. package/dist/utils/order-keys.d.ts.map +1 -0
  167. package/dist/utils/output-schemas.d.ts +209 -0
  168. package/dist/utils/output-schemas.d.ts.map +1 -0
  169. package/dist/utils/personal-project-limit.d.ts +31 -0
  170. package/dist/utils/personal-project-limit.d.ts.map +1 -0
  171. package/dist/utils/priorities.d.ts +14 -0
  172. package/dist/utils/priorities.d.ts.map +1 -0
  173. package/dist/utils/reminder-recipients.d.ts +21 -0
  174. package/dist/utils/reminder-recipients.d.ts.map +1 -0
  175. package/dist/utils/reminder-schemas.d.ts +41 -0
  176. package/dist/utils/reminder-schemas.d.ts.map +1 -0
  177. package/dist/utils/response-builders.d.ts +103 -0
  178. package/dist/utils/response-builders.d.ts.map +1 -0
  179. package/dist/utils/retry.d.ts +39 -0
  180. package/dist/utils/retry.d.ts.map +1 -0
  181. package/dist/utils/schema-helpers.d.ts +10 -0
  182. package/dist/utils/schema-helpers.d.ts.map +1 -0
  183. package/dist/utils/sync-commands.d.ts +21 -0
  184. package/dist/utils/sync-commands.d.ts.map +1 -0
  185. package/dist/utils/test-helpers.d.ts +118 -0
  186. package/dist/utils/test-helpers.d.ts.map +1 -0
  187. package/dist/utils/tool-names.d.ts +60 -0
  188. package/dist/utils/tool-names.d.ts.map +1 -0
  189. package/dist/utils/user-resolver.d.ts +92 -0
  190. package/dist/utils/user-resolver.d.ts.map +1 -0
  191. package/dist/utils/user-status.d.ts +32 -0
  192. package/dist/utils/user-status.d.ts.map +1 -0
  193. package/dist/utils/validate-todoist-token.d.ts +17 -0
  194. package/dist/utils/validate-todoist-token.d.ts.map +1 -0
  195. package/dist/utils/workspace-resolver.d.ts +31 -0
  196. package/dist/utils/workspace-resolver.d.ts.map +1 -0
  197. package/package.json +116 -5
@@ -0,0 +1,62 @@
1
+ import { TodoistApi } from '@doist/todoist-sdk';
2
+ import { McpServer } from '@modelcontextprotocol/server';
3
+ import { AnyTodoistTool } from './todoist-tool.js';
4
+ /**
5
+ * Supported feature names that modify tool behavior.
6
+ *
7
+ * Currently supported:
8
+ * - `'strip_emails'`: Strips email addresses from collaborator tool outputs
9
+ * (affects: find-project-collaborators, find-completed-tasks). Useful for
10
+ * clients like ChatGPT that should not have access to user emails.
11
+ */
12
+ declare const FEATURE_NAMES: {
13
+ /**
14
+ * Strips email addresses from tool outputs that expose user data.
15
+ * Affects: find-project-collaborators, find-completed-tasks
16
+ */
17
+ readonly STRIP_EMAILS: "strip_emails";
18
+ };
19
+ /**
20
+ * Valid feature name values.
21
+ * @see FEATURE_NAMES for available options with documentation.
22
+ */
23
+ type FeatureName = (typeof FEATURE_NAMES)[keyof typeof FEATURE_NAMES];
24
+ /**
25
+ * A feature that modifies tool behavior.
26
+ */
27
+ type Feature = {
28
+ /**
29
+ * The feature name. Use {@link FEATURE_NAMES} for available options with intellisense.
30
+ */
31
+ name: FeatureName;
32
+ };
33
+ /**
34
+ * Array of features to enable when creating the MCP server.
35
+ */
36
+ type Features = Feature[];
37
+ /**
38
+ * Recursively strips email fields from an object structure.
39
+ * Used to remove sensitive email data from tool outputs for certain clients.
40
+ */
41
+ declare function stripEmailsFromObject<T>(obj: T): T;
42
+ /**
43
+ * Strips email patterns from text content.
44
+ * Replaces email addresses with [email hidden] placeholder.
45
+ */
46
+ declare function stripEmailsFromText(text: string): string;
47
+ /**
48
+ * Register Todoist tools in an MCP server.
49
+ *
50
+ * Schema caching, annotations, MCP Apps `_meta`, result shaping and turning a thrown error into
51
+ * an error result come from `@todoist/mcp-core`. What is Todoist's own is wired in here: the API
52
+ * client, retries, usage tracking, `strip_emails`, and the API error formatting. One registrar
53
+ * serves every tool, since none of that depends on the tool.
54
+ */
55
+ declare function registerTools({ tools, server, client, features, }: {
56
+ tools: readonly AnyTodoistTool[];
57
+ server: McpServer;
58
+ client: TodoistApi;
59
+ features?: Features;
60
+ }): void;
61
+ export { FEATURE_NAMES, type Feature, type FeatureName, type Features, registerTools, stripEmailsFromObject, stripEmailsFromText, };
62
+ //# sourceMappingURL=mcp-helpers.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mcp-helpers.d.ts","sourceRoot":"","sources":["../src/mcp-helpers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAE7D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAMvD;;;;;;;GAOG;AACH,QAAA,MAAM,aAAa;IACf;;;OAGG;;CAEG,CAAA;AAEV;;;GAGG;AACH,KAAK,WAAW,GAAG,CAAC,OAAO,aAAa,CAAC,CAAC,MAAM,OAAO,aAAa,CAAC,CAAA;AAErE;;GAEG;AACH,KAAK,OAAO,GAAG;IACX;;OAEG;IACH,IAAI,EAAE,WAAW,CAAA;CACpB,CAAA;AAED;;GAEG;AACH,KAAK,QAAQ,GAAG,OAAO,EAAE,CAAA;AA4CzB;;;GAGG;AACH,iBAAS,qBAAqB,CAAC,CAAC,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,CAsB3C;AAED;;;GAGG;AACH,iBAAS,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQjD;AAMD;;;;;;;GAOG;AACH,iBAAS,aAAa,CAAC,EACnB,KAAK,EACL,MAAM,EACN,MAAM,EACN,QAAa,GAChB,EAAE;IACC,KAAK,EAAE,SAAS,cAAc,EAAE,CAAA;IAChC,MAAM,EAAE,SAAS,CAAA;IACjB,MAAM,EAAE,UAAU,CAAA;IAClB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB,QA8BA;AAED,OAAO,EACH,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,QAAQ,EACb,aAAa,EACb,qBAAqB,EACrB,mBAAmB,GACtB,CAAA"}