@doist/todoist-mcp 12.6.0 → 13.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.
@@ -1,4 +1,4 @@
1
- import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
1
+ import { McpServer } from '@modelcontextprotocol/server';
2
2
  import { FEATURE_NAMES, Feature, FeatureName, Features } from './mcp-helpers.js';
3
3
  export declare const instructions = "\n## Todoist Task and Project Management Tools\n\nYou have access to comprehensive Todoist management tools for personal productivity and team collaboration. Use these tools to help users manage tasks, projects, sections, comments, and assignments effectively.\n\n### Core Capabilities:\n- Create, update, complete, and search tasks with rich metadata (priorities, due dates, durations, assignments)\n- Manage projects and sections with flexible organization\n- Handle comments and collaboration features\n- Bulk assignment operations for team workflows\n- Get overviews and insights about workload and progress\n\n### Choosing between tools\n\nWhat each tool does and how to fill its parameters is in the tool's own description and input schema. This section covers only what those cannot: which tool to reach for, and how tools relate to each other.\n\n**Dates**\n\n- To move a task to a different date use **reschedule-tasks**, never **update-tasks**. update-tasks replaces the whole due string, which destroys recurrence on recurring tasks.\n- Never send a task's existing projectId, sectionId or parentId back to **update-tasks** \u2014 those fields are treated as a move.\n- All dates respect the user's timezone.\n\n**Finding things**\n\n- For \"what did I complete?\", call **user-info** for the asker's user ID, then **find-activity** with objectType=\"task\", eventType=\"completed\", initiatorId, and dateFrom/dateTo. Without initiatorId the answer covers every collaborator. find-activity reports completion events, including each occurrence of a recurring task; **find-completed-tasks** lists completed tasks, which is not the same question.\n- To resolve a person's name or email to a user ID, or to answer \"who is X?\", use **find-project-collaborators** with just a searchTerm. It covers every shared project you can access plus yourself, so an empty result means they collaborate on none of them \u2014 not that they do not exist.\n- Before assigning work to someone, call **find-project-collaborators** again with the target projectId. Resolving an ID only proves they collaborate on *some* project you can see; assignment fails unless they collaborate on that one.\n- To find out whether a task hides subtasks, use **fetch-object** with includeChildren rather than a speculative **find-tasks** call.\n- Filter tasks by label **name**. Label IDs are only for **delete-object** and **update-labels**. Shared labels can be renamed but not recoloured, reordered or favourited.\n\n**Comments**\n\n- Comments notify only the people **add-comments** is handed. When a comment mentions someone, name them in `notifyUsers` \u2014 writing \"@Ana\" in the text notifies nobody. Omit `notifyUsers` to notify whoever the Todoist apps would, or pass `[\"none\"]` to stay silent.\n- Notification cannot be sent when editing a comment, only when adding one.\n\n**Deleting and archiving**\n\n- **delete-object** removes every object type; there is no per-type delete tool. Reminders use type \"reminder\", location reminders \"location_reminder\".\n- A workspace project must be archived with **project-management** before it can be deleted. A personal project can be deleted directly.\n\n**Templates**\n\n- Templates cannot be listed through this server, so only use an ID or URL the user gave you. To start a new project from one, call **add-projects** first and import into it. Imports write immediately and cannot be undone.\n\n**Project health**\n\n- Health data may be stale \u2014 check the isStale flag, and call **analyze-project-health** to refresh it before reading again.\n\n**Batches**\n\n- Prefer a batch tool over one call per item.\n- Where a batch tool returns per-item `failures` alongside successes, one failure does not undo the rest: never retry the whole batch, re-send only the items whose failure reason is fixable. **reschedule-tasks** is the exception \u2014 it has no per-item failures and throws if any task fails, so retry it as a whole.\n\nUse the **productivity-analysis** prompt for a combined productivity review \u2014 it pulls together user-info, get-productivity-stats and find-completed-tasks.\n\nAlways provide clear, actionable task titles and descriptions. Use the overview tools to give users context about their workload and project status.\n";
4
4
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAA;AAGnE,OAAO,EACH,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,QAAQ,EAEhB,MAAM,kBAAkB,CAAA;AAKzB,eAAO,MAAM,YAAY,osIAwDxB,CAAA;AAED;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,EAClB,aAAa,EACb,OAAO,EACP,QAAa,GAChB,EAAE;IACC,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB,aA4CA;AAED,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,YAAY,EAAE,CAAA"}
1
+ {"version":3,"file":"mcp-server.d.ts","sourceRoot":"","sources":["../src/mcp-server.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAA;AAExD,OAAO,EACH,aAAa,EACb,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,QAAQ,EAEhB,MAAM,kBAAkB,CAAA;AAKzB,eAAO,MAAM,YAAY,osIAwDxB,CAAA;AAED;;;;;;GAMG;AACH,iBAAS,YAAY,CAAC,EAClB,aAAa,EACb,OAAO,EACP,QAAa,GAChB,EAAE;IACC,aAAa,EAAE,MAAM,CAAA;IACrB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAA;CACtB,aA4CA;AAED,OAAO,EAAE,aAAa,EAAE,KAAK,OAAO,EAAE,KAAK,WAAW,EAAE,KAAK,QAAQ,EAAE,YAAY,EAAE,CAAA"}
@@ -1,6 +1,6 @@
1
- import { GetPromptResult } from '@modelcontextprotocol/sdk/types.js';
1
+ import { GetPromptResult } from '@modelcontextprotocol/server';
2
2
  import { z } from 'zod';
3
- declare const argsSchema: {
3
+ declare const argsSchema: z.ZodObject<{
4
4
  period: z.ZodDefault<z.ZodEnum<{
5
5
  today: "today";
6
6
  "7d": "7d";
@@ -17,8 +17,8 @@ declare const argsSchema: {
17
17
  recommendations: "recommendations";
18
18
  }>>;
19
19
  projectId: z.ZodOptional<z.ZodString>;
20
- };
21
- type PromptArgs = z.infer<z.ZodObject<typeof argsSchema>>;
20
+ }, z.core.$strip>;
21
+ type PromptArgs = z.infer<typeof argsSchema>;
22
22
  /**
23
23
  * Compute the date range (since/until as YYYY-MM-DD) for a given period.
24
24
  * Uses UTC since the prompt instructs the LLM to call user-info for timezone.
@@ -34,7 +34,7 @@ declare const productivityAnalysis: {
34
34
  name: string;
35
35
  title: string;
36
36
  description: string;
37
- argsSchema: {
37
+ argsSchema: z.ZodObject<{
38
38
  period: z.ZodDefault<z.ZodEnum<{
39
39
  today: "today";
40
40
  "7d": "7d";
@@ -51,7 +51,7 @@ declare const productivityAnalysis: {
51
51
  recommendations: "recommendations";
52
52
  }>>;
53
53
  projectId: z.ZodOptional<z.ZodString>;
54
- };
54
+ }, z.core.$strip>;
55
55
  callback: typeof callback;
56
56
  };
57
57
  export { buildPromptText, computeDateRange, productivityAnalysis };
@@ -1 +1 @@
1
- {"version":3,"file":"productivity-analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/productivity-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACzE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;CAiBf,CAAA;AAED,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,OAAO,UAAU,CAAC,CAAC,CAAA;AAEzD;;;GAGG;AACH,iBAAS,gBAAgB,CACrB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC5B,GAAG,GAAE,IAAiB,GACvB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CA0D7D;AAwCD,iBAAS,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkCjD;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAYnD;AAED,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;CAOzB,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAA"}
1
+ {"version":3,"file":"productivity-analysis.d.ts","sourceRoot":"","sources":["../../src/prompts/productivity-analysis.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACnE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAEvB,QAAA,MAAM,UAAU;;;;;;;;;;;;;;;;;iBAiBd,CAAA;AAEF,KAAK,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,UAAU,CAAC,CAAA;AAE5C;;;GAGG;AACH,iBAAS,gBAAgB,CACrB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,EAC5B,GAAG,GAAE,IAAiB,GACvB;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,CA0D7D;AAwCD,iBAAS,eAAe,CAAC,IAAI,EAAE,UAAU,GAAG,MAAM,CAkCjD;AAED,iBAAS,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,eAAe,CAYnD;AAED,QAAA,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;CAOzB,CAAA;AAED,OAAO,EAAE,eAAe,EAAE,gBAAgB,EAAE,oBAAoB,EAAE,CAAA"}
@@ -1,4 +1,4 @@
1
- import { Z as A, _, $ as T } from "./mcp-server-D_To1yun.js";
1
+ import { Z as A, _, $ as T } from "./mcp-server-DmDfXvc6.js";
2
2
  const v = /* @__PURE__ */ new Set([401, 403]);
3
3
  function y(e) {
4
4
  const t = T(e);
@@ -1,5 +1,5 @@
1
1
  import { TodoistApi } from '@doist/todoist-sdk';
2
- import { ContentBlock, ToolAnnotations } from '@modelcontextprotocol/sdk/types.js';
2
+ import { ContentBlock, ToolAnnotations } from '@modelcontextprotocol/server';
3
3
  import { z } from 'zod';
4
4
  type ExecuteResult<Output extends z.ZodRawShape> = Promise<{
5
5
  textContent?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"todoist-tool.d.ts","sourceRoot":"","sources":["../src/todoist-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,oCAAoC,CAAA;AACvF,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,KAAK,aAAa,CAAC,MAAM,SAAS,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAChD,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;CAChC,CAAC,CAAA;AAEF,KAAK,uBAAuB,GAAG,eAAe,GAAG;IAC7C,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED;;GAEG;AACH,KAAK,WAAW,CACZ,MAAM,SAAS,CAAC,CAAC,WAAW,EAC5B,MAAM,SAAS,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IACpD;IACA;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,uBAAuB,CAAA;IAEpC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/B;;;;;;;;OAQG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,KAAK,aAAa,CAAC,MAAM,CAAC,CAAA;CAC7F,CAAA;AAED;;;;;;;;;;;GAWG;AACH,KAAK,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,GAAG;IAC/E,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;CAC7E,CAAA;AAED,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAA"}
1
+ {"version":3,"file":"todoist-tool.d.ts","sourceRoot":"","sources":["../src/todoist-tool.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAA;AACpD,OAAO,KAAK,EAAE,YAAY,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAA;AACjF,OAAO,KAAK,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAE5B,KAAK,aAAa,CAAC,MAAM,SAAS,CAAC,CAAC,WAAW,IAAI,OAAO,CAAC;IACvD,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,iBAAiB,CAAC,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,CAAA;IAChD,YAAY,CAAC,EAAE,YAAY,EAAE,CAAA;CAChC,CAAC,CAAA;AAEF,KAAK,uBAAuB,GAAG,eAAe,GAAG;IAC7C,YAAY,EAAE,OAAO,CAAA;IACrB,eAAe,EAAE,OAAO,CAAA;IACxB,cAAc,EAAE,OAAO,CAAA;CAC1B,CAAA;AAED;;GAEG;AACH,KAAK,WAAW,CACZ,MAAM,SAAS,CAAC,CAAC,WAAW,EAC5B,MAAM,SAAS,CAAC,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IACpD;IACA;;OAEG;IACH,IAAI,EAAE,MAAM,CAAA;IAEZ;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IAEnB;;;;;OAKG;IACH,UAAU,EAAE,MAAM,CAAA;IAElB;;;;OAIG;IACH,YAAY,CAAC,EAAE,MAAM,CAAA;IAErB;;OAEG;IACH,WAAW,EAAE,uBAAuB,CAAA;IAEpC;;;;OAIG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;IAE/B;;;;;;;;OAQG;IACH,OAAO,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,MAAM,EAAE,UAAU,KAAK,aAAa,CAAC,MAAM,CAAC,CAAA;CAC7F,CAAA;AAED;;;;;;;;;;;GAWG;AACH,KAAK,cAAc,GAAG,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,WAAW,CAAC,EAAE,SAAS,CAAC,GAAG;IAC/E,OAAO,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,KAAK,aAAa,CAAC,CAAC,CAAC,WAAW,CAAC,CAAA;CAC7E,CAAA;AAED,YAAY,EAAE,cAAc,EAAE,aAAa,EAAE,uBAAuB,EAAE,WAAW,EAAE,CAAA"}
@@ -411,8 +411,8 @@ declare const toolRegistry: {
411
411
  parameters: {
412
412
  labels: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodString>>;
413
413
  labelsOperator: import('zod').ZodOptional<import('zod').ZodEnum<{
414
- or: "or";
415
414
  and: "and";
415
+ or: "or";
416
416
  }>>;
417
417
  searchText: import('zod').ZodOptional<import('zod').ZodString>;
418
418
  projectId: import('zod').ZodOptional<import('zod').ZodString>;
@@ -468,7 +468,7 @@ declare const toolRegistry: {
468
468
  execute(args: {
469
469
  limit: number;
470
470
  labels?: string[] | undefined;
471
- labelsOperator?: "or" | "and" | undefined;
471
+ labelsOperator?: "and" | "or" | undefined;
472
472
  searchText?: string | undefined;
473
473
  projectId?: string | undefined;
474
474
  sectionId?: string | undefined;
@@ -506,7 +506,7 @@ declare const toolRegistry: {
506
506
  appliedFilters: {
507
507
  limit: number;
508
508
  labels?: string[] | undefined;
509
- labelsOperator?: "or" | "and" | undefined;
509
+ labelsOperator?: "and" | "or" | undefined;
510
510
  searchText?: string | undefined;
511
511
  projectId?: string | undefined;
512
512
  sectionId?: string | undefined;
@@ -531,8 +531,8 @@ declare const toolRegistry: {
531
531
  parameters: {
532
532
  labels: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodString>>;
533
533
  labelsOperator: import('zod').ZodOptional<import('zod').ZodEnum<{
534
- or: "or";
535
534
  and: "and";
535
+ or: "or";
536
536
  }>>;
537
537
  startDate: import('zod').ZodOptional<import('zod').ZodString>;
538
538
  overdueOption: import('zod').ZodOptional<import('zod').ZodEnum<{
@@ -590,7 +590,7 @@ declare const toolRegistry: {
590
590
  daysCount: number;
591
591
  limit: number;
592
592
  labels?: string[] | undefined;
593
- labelsOperator?: "or" | "and" | undefined;
593
+ labelsOperator?: "and" | "or" | undefined;
594
594
  startDate?: string | undefined;
595
595
  overdueOption?: "overdue-only" | "include-overdue" | "exclude-overdue" | undefined;
596
596
  cursor?: string | undefined;
@@ -625,7 +625,7 @@ declare const toolRegistry: {
625
625
  daysCount: number;
626
626
  limit: number;
627
627
  labels?: string[] | undefined;
628
- labelsOperator?: "or" | "and" | undefined;
628
+ labelsOperator?: "and" | "or" | undefined;
629
629
  startDate?: string | undefined;
630
630
  overdueOption?: "overdue-only" | "include-overdue" | "exclude-overdue" | undefined;
631
631
  cursor?: string | undefined;
@@ -641,8 +641,8 @@ declare const toolRegistry: {
641
641
  parameters: {
642
642
  labels: import('zod').ZodOptional<import('zod').ZodArray<import('zod').ZodString>>;
643
643
  labelsOperator: import('zod').ZodOptional<import('zod').ZodEnum<{
644
- or: "or";
645
644
  and: "and";
645
+ or: "or";
646
646
  }>>;
647
647
  getBy: import('zod').ZodDefault<import('zod').ZodEnum<{
648
648
  due: "due";
@@ -698,7 +698,7 @@ declare const toolRegistry: {
698
698
  getBy: "due" | "completion";
699
699
  limit: number;
700
700
  labels?: string[] | undefined;
701
- labelsOperator?: "or" | "and" | undefined;
701
+ labelsOperator?: "and" | "or" | undefined;
702
702
  since?: string | undefined;
703
703
  until?: string | undefined;
704
704
  workspaceId?: string | undefined;
@@ -738,7 +738,7 @@ declare const toolRegistry: {
738
738
  getBy: "due" | "completion";
739
739
  limit: number;
740
740
  labels?: string[] | undefined;
741
- labelsOperator?: "or" | "and" | undefined;
741
+ labelsOperator?: "and" | "or" | undefined;
742
742
  workspaceId?: string | undefined;
743
743
  projectId?: string | undefined;
744
744
  sectionId?: string | undefined;
@@ -2079,7 +2079,7 @@ declare const toolRegistry: {
2079
2079
  contentItems?: undefined;
2080
2080
  } | {
2081
2081
  textContent: string;
2082
- contentItems: import('@modelcontextprotocol/sdk/types.js').ContentBlock[];
2082
+ contentItems: import('@modelcontextprotocol/server').ContentBlock[];
2083
2083
  }>;
2084
2084
  };
2085
2085
  addLabels: {
@@ -5,8 +5,8 @@ declare const findCompletedTasks: {
5
5
  parameters: {
6
6
  labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
7
7
  labelsOperator: z.ZodOptional<z.ZodEnum<{
8
- or: "or";
9
8
  and: "and";
9
+ or: "or";
10
10
  }>>;
11
11
  getBy: z.ZodDefault<z.ZodEnum<{
12
12
  due: "due";
@@ -62,7 +62,7 @@ declare const findCompletedTasks: {
62
62
  getBy: "due" | "completion";
63
63
  limit: number;
64
64
  labels?: string[] | undefined;
65
- labelsOperator?: "or" | "and" | undefined;
65
+ labelsOperator?: "and" | "or" | undefined;
66
66
  since?: string | undefined;
67
67
  until?: string | undefined;
68
68
  workspaceId?: string | undefined;
@@ -102,7 +102,7 @@ declare const findCompletedTasks: {
102
102
  getBy: "due" | "completion";
103
103
  limit: number;
104
104
  labels?: string[] | undefined;
105
- labelsOperator?: "or" | "and" | undefined;
105
+ labelsOperator?: "and" | "or" | undefined;
106
106
  workspaceId?: string | undefined;
107
107
  projectId?: string | undefined;
108
108
  sectionId?: string | undefined;
@@ -2,8 +2,8 @@ import { z } from 'zod';
2
2
  export declare const ArgsSchema: {
3
3
  labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
4
4
  labelsOperator: z.ZodOptional<z.ZodEnum<{
5
- or: "or";
6
5
  and: "and";
6
+ or: "or";
7
7
  }>>;
8
8
  startDate: z.ZodOptional<z.ZodString>;
9
9
  overdueOption: z.ZodOptional<z.ZodEnum<{
@@ -27,8 +27,8 @@ declare const findTasksByDate: {
27
27
  parameters: {
28
28
  labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
29
29
  labelsOperator: z.ZodOptional<z.ZodEnum<{
30
- or: "or";
31
30
  and: "and";
31
+ or: "or";
32
32
  }>>;
33
33
  startDate: z.ZodOptional<z.ZodString>;
34
34
  overdueOption: z.ZodOptional<z.ZodEnum<{
@@ -86,7 +86,7 @@ declare const findTasksByDate: {
86
86
  daysCount: number;
87
87
  limit: number;
88
88
  labels?: string[] | undefined;
89
- labelsOperator?: "or" | "and" | undefined;
89
+ labelsOperator?: "and" | "or" | undefined;
90
90
  startDate?: string | undefined;
91
91
  overdueOption?: "overdue-only" | "include-overdue" | "exclude-overdue" | undefined;
92
92
  cursor?: string | undefined;
@@ -121,7 +121,7 @@ declare const findTasksByDate: {
121
121
  daysCount: number;
122
122
  limit: number;
123
123
  labels?: string[] | undefined;
124
- labelsOperator?: "or" | "and" | undefined;
124
+ labelsOperator?: "and" | "or" | undefined;
125
125
  startDate?: string | undefined;
126
126
  overdueOption?: "overdue-only" | "include-overdue" | "exclude-overdue" | undefined;
127
127
  cursor?: string | undefined;
@@ -5,8 +5,8 @@ declare const findTasks: {
5
5
  parameters: {
6
6
  labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
7
7
  labelsOperator: z.ZodOptional<z.ZodEnum<{
8
- or: "or";
9
8
  and: "and";
9
+ or: "or";
10
10
  }>>;
11
11
  searchText: z.ZodOptional<z.ZodString>;
12
12
  projectId: z.ZodOptional<z.ZodString>;
@@ -62,7 +62,7 @@ declare const findTasks: {
62
62
  execute(args: {
63
63
  limit: number;
64
64
  labels?: string[] | undefined;
65
- labelsOperator?: "or" | "and" | undefined;
65
+ labelsOperator?: "and" | "or" | undefined;
66
66
  searchText?: string | undefined;
67
67
  projectId?: string | undefined;
68
68
  sectionId?: string | undefined;
@@ -100,7 +100,7 @@ declare const findTasks: {
100
100
  appliedFilters: {
101
101
  limit: number;
102
102
  labels?: string[] | undefined;
103
- labelsOperator?: "or" | "and" | undefined;
103
+ labelsOperator?: "and" | "or" | undefined;
104
104
  searchText?: string | undefined;
105
105
  projectId?: string | undefined;
106
106
  sectionId?: string | undefined;
@@ -1,4 +1,4 @@
1
- import { ContentBlock } from '@modelcontextprotocol/sdk/types.js';
1
+ import { ContentBlock } from '@modelcontextprotocol/server';
2
2
  import { z } from 'zod';
3
3
  declare const viewAttachment: {
4
4
  name: "view-attachment";
@@ -1 +1 @@
1
- {"version":3,"file":"view-attachment.d.ts","sourceRoot":"","sources":["../../src/tools/view-attachment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oCAAoC,CAAA;AACtE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAoFvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CAuEsB,CAAA;AAE1C,OAAO,EAAE,cAAc,EAAE,CAAA"}
1
+ {"version":3,"file":"view-attachment.d.ts","sourceRoot":"","sources":["../../src/tools/view-attachment.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAChE,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAA;AAoFvB,QAAA,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;CAuEsB,CAAA;AAE1C,OAAO,EAAE,cAAc,EAAE,CAAA"}
@@ -4,8 +4,8 @@ type LabelsOperator = (typeof LABELS_OPERATORS)[number];
4
4
  export declare const LabelsSchema: {
5
5
  labels: z.ZodOptional<z.ZodArray<z.ZodString>>;
6
6
  labelsOperator: z.ZodOptional<z.ZodEnum<{
7
- or: "or";
8
7
  and: "and";
8
+ or: "or";
9
9
  }>>;
10
10
  };
11
11
  export declare function generateLabelsFilter(labels?: string[], labelsOperator?: LabelsOperator): string;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@doist/todoist-mcp",
3
- "version": "12.6.0",
3
+ "version": "13.0.0",
4
4
  "type": "module",
5
5
  "main": "./dist/index.js",
6
6
  "types": "./dist/index.d.ts",
@@ -74,10 +74,12 @@
74
74
  "zod": "4.3.6"
75
75
  },
76
76
  "peerDependencies": {
77
- "@modelcontextprotocol/sdk": "^1.25.0"
77
+ "@modelcontextprotocol/node": "^2.0.0",
78
+ "@modelcontextprotocol/server": "^2.0.0"
78
79
  },
79
80
  "devDependencies": {
80
81
  "@anthropic-ai/sdk": "0.115.0",
82
+ "@modelcontextprotocol/client": "2.0.0",
81
83
  "@modelcontextprotocol/inspector": "0.22.0",
82
84
  "@semantic-release/changelog": "6.0.3",
83
85
  "@semantic-release/exec": "7.1.0",