@d4works/mcp-clickup 0.1.0 → 0.2.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.
package/README.md CHANGED
@@ -49,7 +49,7 @@ Then configure `.mcp.json` to source this file before running the server:
49
49
  "command": "bash",
50
50
  "args": [
51
51
  "-c",
52
- "source .claude/.env.local && npx -y @d4works/mcp-clickup"
52
+ "export $(cat .claude/.env.local | xargs) && npx -y @d4works/mcp-clickup"
53
53
  ],
54
54
  "env": {
55
55
  "CLICKUP_TEAM_ID": "your_team_id",
@@ -129,6 +129,16 @@ Set the Release dropdown value on a ClickUp task. Only used with explicit user c
129
129
  - `release` (string, required): Release value to set (must match one of the available options)
130
130
  - `fieldName` (string, optional): Name of the dropdown field (default: "Release")
131
131
 
132
+ ### `add-task-comment`
133
+
134
+ Add a comment to a ClickUp task. Only used with explicit user confirmation.
135
+
136
+ **Parameters:**
137
+
138
+ - `taskId` (string, required): Task URL, custom ID (ABC-123), or number
139
+ - `comment` (string, required): The comment text to add to the task
140
+ - `notifyAll` (boolean, optional): Notify all task members about the comment (default: false)
141
+
132
142
  ## License
133
143
 
134
144
  MIT
package/dist/clickup.d.ts CHANGED
@@ -135,6 +135,12 @@ export declare class ClickUpClient {
135
135
  * Update custom field value on a task
136
136
  */
137
137
  updateCustomField(taskId: string, fieldId: string, value: unknown, isCustomId?: boolean): Promise<void>;
138
+ /**
139
+ * Add a comment to a task
140
+ */
141
+ addTaskComment(taskId: string, commentText: string, notifyAll?: boolean, isCustomId?: boolean): Promise<{
142
+ id: string;
143
+ }>;
138
144
  /**
139
145
  * Get dropdown custom field options (e.g., for Release field)
140
146
  */
package/dist/clickup.js CHANGED
@@ -126,6 +126,18 @@ export class ClickUpClient {
126
126
  body: JSON.stringify({ value }),
127
127
  });
128
128
  }
129
+ /**
130
+ * Add a comment to a task
131
+ */
132
+ async addTaskComment(taskId, commentText, notifyAll = false, isCustomId = false) {
133
+ const endpoint = isCustomId
134
+ ? `/task/${taskId}/comment?custom_task_ids=true&team_id=${this.teamId}`
135
+ : `/task/${taskId}/comment`;
136
+ return this.request(endpoint, {
137
+ method: "POST",
138
+ body: JSON.stringify({ comment_text: commentText, notify_all: notifyAll }),
139
+ });
140
+ }
129
141
  /**
130
142
  * Get dropdown custom field options (e.g., for Release field)
131
143
  */
package/dist/index.js CHANGED
@@ -122,6 +122,28 @@ server.setRequestHandler(ListToolsRequestSchema, async () => {
122
122
  required: ["taskId", "release"],
123
123
  },
124
124
  },
125
+ {
126
+ name: "add-task-comment",
127
+ description: "Add a comment to a ClickUp task. IMPORTANT: Only use with explicit user confirmation!",
128
+ inputSchema: {
129
+ type: "object",
130
+ properties: {
131
+ taskId: {
132
+ type: "string",
133
+ description: "Task identifier: URL, custom ID (ABC-123), or number",
134
+ },
135
+ comment: {
136
+ type: "string",
137
+ description: "The comment text to add to the task",
138
+ },
139
+ notifyAll: {
140
+ type: "boolean",
141
+ description: "Notify all task members about the comment (default: false)",
142
+ },
143
+ },
144
+ required: ["taskId", "comment"],
145
+ },
146
+ },
125
147
  ],
126
148
  };
127
149
  });
@@ -395,6 +417,32 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
395
417
  };
396
418
  }
397
419
  }
420
+ if (name === "add-task-comment") {
421
+ const { taskId: rawTaskId, comment, notifyAll = false } = args;
422
+ const taskId = parseTaskId(rawTaskId);
423
+ try {
424
+ const result = await clickup.addTaskComment(taskId, comment, notifyAll, isCustomTaskId(taskId));
425
+ return {
426
+ content: [
427
+ {
428
+ type: "text",
429
+ text: `Comment added to task ${taskId} (comment ID: ${result.id})`,
430
+ },
431
+ ],
432
+ };
433
+ }
434
+ catch (error) {
435
+ return {
436
+ content: [
437
+ {
438
+ type: "text",
439
+ text: `Error adding comment: ${error}`,
440
+ },
441
+ ],
442
+ isError: true,
443
+ };
444
+ }
445
+ }
398
446
  throw new Error(`Unknown tool: ${name}`);
399
447
  });
400
448
  // Start the server
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@d4works/mcp-clickup",
3
- "version": "0.1.0",
3
+ "version": "0.2.0",
4
4
  "description": "MCP server for ClickUp task management",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",