@tenonhq/dovetail-mcp 0.0.21 → 0.0.23

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.
@@ -11,10 +11,16 @@ export declare var clickupListTasksSchema: z.ZodObject<{
11
11
  }>;
12
12
  export declare var clickupGetTaskSchema: z.ZodObject<{
13
13
  taskId: z.ZodString;
14
+ customTaskIds: z.ZodOptional<z.ZodBoolean>;
15
+ teamId: z.ZodOptional<z.ZodString>;
14
16
  }, "strict", z.ZodTypeAny, {
15
17
  taskId: string;
18
+ teamId?: string | undefined;
19
+ customTaskIds?: boolean | undefined;
16
20
  }, {
17
21
  taskId: string;
22
+ teamId?: string | undefined;
23
+ customTaskIds?: boolean | undefined;
18
24
  }>;
19
25
  export declare var clickupSearchTasksSchema: z.ZodObject<{
20
26
  query: z.ZodString;
@@ -59,8 +65,8 @@ export declare var clickupUpdateTaskSchema: z.ZodObject<{
59
65
  status?: string | undefined;
60
66
  confirm?: boolean | undefined;
61
67
  teamId?: string | undefined;
62
- markdownContent?: string | undefined;
63
68
  customTaskIds?: boolean | undefined;
69
+ markdownContent?: string | undefined;
64
70
  }, {
65
71
  taskId: string;
66
72
  name?: string | undefined;
@@ -68,8 +74,8 @@ export declare var clickupUpdateTaskSchema: z.ZodObject<{
68
74
  status?: string | undefined;
69
75
  confirm?: boolean | undefined;
70
76
  teamId?: string | undefined;
71
- markdownContent?: string | undefined;
72
77
  customTaskIds?: boolean | undefined;
78
+ markdownContent?: string | undefined;
73
79
  }>;
74
80
  export declare var clickupSetCustomFieldSchema: z.ZodObject<{
75
81
  taskId: z.ZodString;
@@ -6,8 +6,14 @@ exports.clickupListTasksSchema = zod_1.z.object({
6
6
  teamId: zod_1.z.string().min(1).optional(),
7
7
  statuses: zod_1.z.array(zod_1.z.string()).optional()
8
8
  }).strict();
9
+ // taskId may be a ClickUp internal id (e.g. "86e1xmmpp") OR a custom id
10
+ // (e.g. "DEV-506"). Custom-id lookups require custom_task_ids=true + a team_id;
11
+ // the tool auto-detects the custom-id shape and defaults the team, so callers
12
+ // normally pass only taskId. customTaskIds overrides the auto-detection.
9
13
  exports.clickupGetTaskSchema = zod_1.z.object({
10
- taskId: zod_1.z.string().min(1)
14
+ taskId: zod_1.z.string().min(1),
15
+ customTaskIds: zod_1.z.boolean().optional(),
16
+ teamId: zod_1.z.string().min(1).optional()
11
17
  }).strict();
12
18
  exports.clickupSearchTasksSchema = zod_1.z.object({
13
19
  query: zod_1.z.string().min(1),
@@ -41,9 +41,25 @@ async function clickupListTasks(args, deps) {
41
41
  total: result.total
42
42
  };
43
43
  }
44
+ // A ClickUp custom id looks like "DEV-506": a letter-led prefix, a hyphen, then
45
+ // digits. Internal ids (e.g. "86e1xmmpp") are hyphen-free lowercase alphanumerics,
46
+ // so a match is an unambiguous signal to take the custom-id path.
47
+ var CUSTOM_TASK_ID_PATTERN = /^[A-Za-z][A-Za-z0-9]*-\d+$/;
44
48
  async function clickupGetTask(args, deps) {
45
49
  var client = resolveClient(deps);
46
- return await (0, dovetail_clickup_1.getTask)({ client: client, taskId: args.taskId });
50
+ // Explicit customTaskIds wins; otherwise infer from the id shape. Without this,
51
+ // a custom id like "DEV-506" hits ClickUp's internal-id endpoint and 401s —
52
+ // which the client used to mislabel as an auth failure.
53
+ var useCustomId = args.customTaskIds !== undefined
54
+ ? args.customTaskIds
55
+ : CUSTOM_TASK_ID_PATTERN.test(args.taskId);
56
+ var teamId = useCustomId ? requireTeamId(deps, args.teamId) : args.teamId;
57
+ return await (0, dovetail_clickup_1.getTask)({
58
+ client: client,
59
+ taskId: args.taskId,
60
+ customTaskIds: useCustomId,
61
+ teamId: teamId
62
+ });
47
63
  }
48
64
  async function clickupSearchTasks(args, deps) {
49
65
  var client = resolveClient(deps);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tenonhq/dovetail-mcp",
3
- "version": "0.0.21",
3
+ "version": "0.0.23",
4
4
  "description": "MCP server exposing read tools for ClickUp / Gmail / Calendar / ServiceNow plus gated ClickUp writes, backed by the Dovetail integration packages.",
5
5
  "main": "./dist/index.js",
6
6
  "bin": {
@@ -17,12 +17,12 @@
17
17
  "license": "GPL-3.0",
18
18
  "dependencies": {
19
19
  "@modelcontextprotocol/sdk": "^1.29.0",
20
- "@tenonhq/dovetail-clickup": "~0.0.12",
20
+ "@tenonhq/dovetail-clickup": "~0.0.13",
21
21
  "@tenonhq/dovetail-gmail": "~0.0.11",
22
22
  "@tenonhq/dovetail-google-auth": "~0.0.12",
23
23
  "@tenonhq/dovetail-google-calendar": "~0.0.11",
24
24
  "@tenonhq/dovetail-mcp-kit": "~0.0.1",
25
- "@tenonhq/dovetail-servicenow": "~0.0.25",
25
+ "@tenonhq/dovetail-servicenow": "~0.0.26",
26
26
  "dotenv": "^16.3.1",
27
27
  "zod": "^3.23.0"
28
28
  },