@chykalophia/clickup-mcp-server 3.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.
Files changed (211) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +467 -0
  3. package/bin/clickup-mcp-server-ai.js +9 -0
  4. package/bin/clickup-mcp-server-basic.js +9 -0
  5. package/bin/clickup-mcp-server-efficiency.js +9 -0
  6. package/bin/clickup-mcp-server-enhanced.js +9 -0
  7. package/build/app.d.ts +1 -0
  8. package/build/app.js +2 -0
  9. package/build/app.js.map +1 -0
  10. package/build/clickup-client/attachments-enhanced.d.ts +128 -0
  11. package/build/clickup-client/attachments-enhanced.js +212 -0
  12. package/build/clickup-client/attachments-enhanced.js.map +1 -0
  13. package/build/clickup-client/auth.d.ts +254 -0
  14. package/build/clickup-client/auth.js +105 -0
  15. package/build/clickup-client/auth.js.map +1 -0
  16. package/build/clickup-client/chat-enhanced.d.ts +141 -0
  17. package/build/clickup-client/chat-enhanced.js +196 -0
  18. package/build/clickup-client/chat-enhanced.js.map +1 -0
  19. package/build/clickup-client/checklists.d.ts +87 -0
  20. package/build/clickup-client/checklists.js +63 -0
  21. package/build/clickup-client/checklists.js.map +1 -0
  22. package/build/clickup-client/comments-enhanced.d.ts +176 -0
  23. package/build/clickup-client/comments-enhanced.js +230 -0
  24. package/build/clickup-client/comments-enhanced.js.map +1 -0
  25. package/build/clickup-client/comments.d.ts +173 -0
  26. package/build/clickup-client/comments.js +312 -0
  27. package/build/clickup-client/comments.js.map +1 -0
  28. package/build/clickup-client/custom-fields-enhanced.d.ts +286 -0
  29. package/build/clickup-client/custom-fields-enhanced.js +416 -0
  30. package/build/clickup-client/custom-fields-enhanced.js.map +1 -0
  31. package/build/clickup-client/dependencies-enhanced.d.ts +144 -0
  32. package/build/clickup-client/dependencies-enhanced.js +142 -0
  33. package/build/clickup-client/dependencies-enhanced.js.map +1 -0
  34. package/build/clickup-client/docs-enhanced.d.ts +176 -0
  35. package/build/clickup-client/docs-enhanced.js +374 -0
  36. package/build/clickup-client/docs-enhanced.js.map +1 -0
  37. package/build/clickup-client/docs.d.ts +84 -0
  38. package/build/clickup-client/docs.js +156 -0
  39. package/build/clickup-client/docs.js.map +1 -0
  40. package/build/clickup-client/folders.d.ts +62 -0
  41. package/build/clickup-client/folders.js +53 -0
  42. package/build/clickup-client/folders.js.map +1 -0
  43. package/build/clickup-client/goals-enhanced.d.ts +163 -0
  44. package/build/clickup-client/goals-enhanced.js +309 -0
  45. package/build/clickup-client/goals-enhanced.js.map +1 -0
  46. package/build/clickup-client/index.d.ts +16 -0
  47. package/build/clickup-client/index.js +61 -0
  48. package/build/clickup-client/index.js.map +1 -0
  49. package/build/clickup-client/lists.d.ts +105 -0
  50. package/build/clickup-client/lists.js +108 -0
  51. package/build/clickup-client/lists.js.map +1 -0
  52. package/build/clickup-client/secure-client.d.ts +88 -0
  53. package/build/clickup-client/secure-client.js +275 -0
  54. package/build/clickup-client/secure-client.js.map +1 -0
  55. package/build/clickup-client/spaces.d.ts +58 -0
  56. package/build/clickup-client/spaces.js +28 -0
  57. package/build/clickup-client/spaces.js.map +1 -0
  58. package/build/clickup-client/tasks.d.ts +161 -0
  59. package/build/clickup-client/tasks.js +99 -0
  60. package/build/clickup-client/tasks.js.map +1 -0
  61. package/build/clickup-client/time-tracking-enhanced.d.ts +153 -0
  62. package/build/clickup-client/time-tracking-enhanced.js +292 -0
  63. package/build/clickup-client/time-tracking-enhanced.js.map +1 -0
  64. package/build/clickup-client/views-enhanced.d.ts +149 -0
  65. package/build/clickup-client/views-enhanced.js +210 -0
  66. package/build/clickup-client/views-enhanced.js.map +1 -0
  67. package/build/clickup-client/webhooks-enhanced.d.ts +119 -0
  68. package/build/clickup-client/webhooks-enhanced.js +169 -0
  69. package/build/clickup-client/webhooks-enhanced.js.map +1 -0
  70. package/build/controllers/lists.controller.d.ts +1 -0
  71. package/build/controllers/lists.controller.js +2 -0
  72. package/build/controllers/lists.controller.js.map +1 -0
  73. package/build/index-efficiency-simple.d.ts +2 -0
  74. package/build/index-efficiency-simple.js +379 -0
  75. package/build/index-efficiency-simple.js.map +1 -0
  76. package/build/index-enhanced-efficiency.d.ts +2 -0
  77. package/build/index-enhanced-efficiency.js +275 -0
  78. package/build/index-enhanced-efficiency.js.map +1 -0
  79. package/build/index-enhanced.d.ts +2 -0
  80. package/build/index-enhanced.js +74 -0
  81. package/build/index-enhanced.js.map +1 -0
  82. package/build/index.d.ts +2 -0
  83. package/build/index.js +77 -0
  84. package/build/index.js.map +1 -0
  85. package/build/resources/checklist-resources.d.ts +2 -0
  86. package/build/resources/checklist-resources.js +102 -0
  87. package/build/resources/checklist-resources.js.map +1 -0
  88. package/build/resources/comment-resources.d.ts +2 -0
  89. package/build/resources/comment-resources.js +152 -0
  90. package/build/resources/comment-resources.js.map +1 -0
  91. package/build/resources/doc-resources.d.ts +2 -0
  92. package/build/resources/doc-resources.js +77 -0
  93. package/build/resources/doc-resources.js.map +1 -0
  94. package/build/resources/folder-resources.d.ts +2 -0
  95. package/build/resources/folder-resources.js +160 -0
  96. package/build/resources/folder-resources.js.map +1 -0
  97. package/build/resources/list-resources.d.ts +2 -0
  98. package/build/resources/list-resources.js +104 -0
  99. package/build/resources/list-resources.js.map +1 -0
  100. package/build/resources/space-resources.d.ts +2 -0
  101. package/build/resources/space-resources.js +104 -0
  102. package/build/resources/space-resources.js.map +1 -0
  103. package/build/resources/task-resources.d.ts +2 -0
  104. package/build/resources/task-resources.js +57 -0
  105. package/build/resources/task-resources.js.map +1 -0
  106. package/build/routes/lists.routes.d.ts +1 -0
  107. package/build/routes/lists.routes.js +2 -0
  108. package/build/routes/lists.routes.js.map +1 -0
  109. package/build/schemas/attachments-schemas.d.ts +201 -0
  110. package/build/schemas/attachments-schemas.js +250 -0
  111. package/build/schemas/attachments-schemas.js.map +1 -0
  112. package/build/schemas/chat-schemas.d.ts +478 -0
  113. package/build/schemas/chat-schemas.js +173 -0
  114. package/build/schemas/chat-schemas.js.map +1 -0
  115. package/build/schemas/custom-field-schemas.d.ts +1617 -0
  116. package/build/schemas/custom-field-schemas.js +384 -0
  117. package/build/schemas/custom-field-schemas.js.map +1 -0
  118. package/build/schemas/dependencies-schemas.d.ts +274 -0
  119. package/build/schemas/dependencies-schemas.js +176 -0
  120. package/build/schemas/dependencies-schemas.js.map +1 -0
  121. package/build/schemas/document-schemas.d.ts +433 -0
  122. package/build/schemas/document-schemas.js +168 -0
  123. package/build/schemas/document-schemas.js.map +1 -0
  124. package/build/schemas/goals-schemas.d.ts +961 -0
  125. package/build/schemas/goals-schemas.js +293 -0
  126. package/build/schemas/goals-schemas.js.map +1 -0
  127. package/build/schemas/time-tracking-schemas.d.ts +741 -0
  128. package/build/schemas/time-tracking-schemas.js +234 -0
  129. package/build/schemas/time-tracking-schemas.js.map +1 -0
  130. package/build/schemas/views-schemas.d.ts +1168 -0
  131. package/build/schemas/views-schemas.js +221 -0
  132. package/build/schemas/views-schemas.js.map +1 -0
  133. package/build/schemas/webhook-schemas.d.ts +1127 -0
  134. package/build/schemas/webhook-schemas.js +137 -0
  135. package/build/schemas/webhook-schemas.js.map +1 -0
  136. package/build/services/lists.service.d.ts +1 -0
  137. package/build/services/lists.service.js +2 -0
  138. package/build/services/lists.service.js.map +1 -0
  139. package/build/tools/attachments-tools-setup.d.ts +2 -0
  140. package/build/tools/attachments-tools-setup.js +387 -0
  141. package/build/tools/attachments-tools-setup.js.map +1 -0
  142. package/build/tools/chat-tools-enhanced.d.ts +5 -0
  143. package/build/tools/chat-tools-enhanced.js +396 -0
  144. package/build/tools/chat-tools-enhanced.js.map +1 -0
  145. package/build/tools/chat-tools.d.ts +2 -0
  146. package/build/tools/chat-tools.js +614 -0
  147. package/build/tools/chat-tools.js.map +1 -0
  148. package/build/tools/checklist-tools.d.ts +2 -0
  149. package/build/tools/checklist-tools.js +139 -0
  150. package/build/tools/checklist-tools.js.map +1 -0
  151. package/build/tools/comment-tools.d.ts +2 -0
  152. package/build/tools/comment-tools.js +295 -0
  153. package/build/tools/comment-tools.js.map +1 -0
  154. package/build/tools/custom-field-tools.d.ts +2 -0
  155. package/build/tools/custom-field-tools.js +578 -0
  156. package/build/tools/custom-field-tools.js.map +1 -0
  157. package/build/tools/dependencies-tools-setup.d.ts +2 -0
  158. package/build/tools/dependencies-tools-setup.js +319 -0
  159. package/build/tools/dependencies-tools-setup.js.map +1 -0
  160. package/build/tools/doc-tools-enhanced.d.ts +2 -0
  161. package/build/tools/doc-tools-enhanced.js +417 -0
  162. package/build/tools/doc-tools-enhanced.js.map +1 -0
  163. package/build/tools/doc-tools.d.ts +2 -0
  164. package/build/tools/doc-tools.js +109 -0
  165. package/build/tools/doc-tools.js.map +1 -0
  166. package/build/tools/goals-tools.d.ts +2 -0
  167. package/build/tools/goals-tools.js +422 -0
  168. package/build/tools/goals-tools.js.map +1 -0
  169. package/build/tools/helper-tools.d.ts +2 -0
  170. package/build/tools/helper-tools.js +363 -0
  171. package/build/tools/helper-tools.js.map +1 -0
  172. package/build/tools/space-tools.d.ts +2 -0
  173. package/build/tools/space-tools.js +45 -0
  174. package/build/tools/space-tools.js.map +1 -0
  175. package/build/tools/task-tools.d.ts +2 -0
  176. package/build/tools/task-tools.js +415 -0
  177. package/build/tools/task-tools.js.map +1 -0
  178. package/build/tools/time-tracking-tools.d.ts +2 -0
  179. package/build/tools/time-tracking-tools.js +329 -0
  180. package/build/tools/time-tracking-tools.js.map +1 -0
  181. package/build/tools/views-tools-setup.d.ts +2 -0
  182. package/build/tools/views-tools-setup.js +358 -0
  183. package/build/tools/views-tools-setup.js.map +1 -0
  184. package/build/tools/webhook-tools-setup.d.ts +2 -0
  185. package/build/tools/webhook-tools-setup.js +304 -0
  186. package/build/tools/webhook-tools-setup.js.map +1 -0
  187. package/build/tools/webhook-tools.d.ts +4 -0
  188. package/build/tools/webhook-tools.js +345 -0
  189. package/build/tools/webhook-tools.js.map +1 -0
  190. package/build/utils/clickup-comment-formatter.d.ts +124 -0
  191. package/build/utils/clickup-comment-formatter.js +504 -0
  192. package/build/utils/clickup-comment-formatter.js.map +1 -0
  193. package/build/utils/context-aware-suggestions.d.ts +45 -0
  194. package/build/utils/context-aware-suggestions.js +360 -0
  195. package/build/utils/context-aware-suggestions.js.map +1 -0
  196. package/build/utils/error-handling.d.ts +140 -0
  197. package/build/utils/error-handling.js +392 -0
  198. package/build/utils/error-handling.js.map +1 -0
  199. package/build/utils/markdown-styling.d.ts +40 -0
  200. package/build/utils/markdown-styling.js +344 -0
  201. package/build/utils/markdown-styling.js.map +1 -0
  202. package/build/utils/markdown.d.ts +54 -0
  203. package/build/utils/markdown.js +243 -0
  204. package/build/utils/markdown.js.map +1 -0
  205. package/build/utils/security.d.ts +79 -0
  206. package/build/utils/security.js +303 -0
  207. package/build/utils/security.js.map +1 -0
  208. package/build/utils/tool-efficiency.d.ts +59 -0
  209. package/build/utils/tool-efficiency.js +247 -0
  210. package/build/utils/tool-efficiency.js.map +1 -0
  211. package/package.json +130 -0
@@ -0,0 +1,396 @@
1
+ import { z } from 'zod';
2
+ import { ChatEnhancedClient } from '../clickup-client/chat-enhanced.js';
3
+ import { CreateChannelSchema, UpdateChannelSchema, GetChannelsFilterSchema, SendMessageSchema, AddChannelMemberSchema, RemoveChannelMemberSchema } from '../schemas/chat-schemas.js';
4
+ // Create enhanced chat client
5
+ const chatClient = new ChatEnhancedClient(process.env.CLICKUP_API_TOKEN);
6
+ /**
7
+ * Enhanced Chat Tools with Efficiency Metadata and Smart Suggestions
8
+ */
9
+ export function setupChatToolsEnhanced(server) {
10
+ // ========================================
11
+ // HIGH EFFICIENCY - DIRECT CHAT OPERATIONS
12
+ // ========================================
13
+ server.tool('create_chat_view_comment', '🚀 MOST EFFICIENT: Create a new comment in a ClickUp chat view. Supports notification settings and GitHub Flavored Markdown. Use this for direct chat posting when you have the view ID.', {
14
+ view_id: z.string().describe('The ID of the chat view to comment on'),
15
+ comment_text: z.string().describe('The text content of the comment (supports GitHub Flavored Markdown including headers, bold, italic, code blocks, links, lists, etc.)'),
16
+ notify_all: z.boolean().optional().describe('Whether to notify all assignees')
17
+ }, async (args) => {
18
+ try {
19
+ const response = await fetch(`https://api.clickup.com/api/v2/view/${args.view_id}/comment`, {
20
+ method: 'POST',
21
+ headers: {
22
+ 'Authorization': process.env.CLICKUP_API_TOKEN,
23
+ 'Content-Type': 'application/json'
24
+ },
25
+ body: JSON.stringify({
26
+ comment_text: args.comment_text,
27
+ notify_all: args.notify_all || false
28
+ })
29
+ });
30
+ if (!response.ok) {
31
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
32
+ }
33
+ const result = await response.json();
34
+ return {
35
+ content: [{
36
+ type: 'text',
37
+ text: `✅ Message posted successfully to chat view!
38
+
39
+ **Message ID**: ${result.id}
40
+ **Posted at**: ${new Date(result.date).toLocaleString()}
41
+
42
+ 💡 **Efficiency Note**: This was the most direct way to post your message. No workspace navigation needed!`
43
+ }]
44
+ };
45
+ }
46
+ catch (error) {
47
+ return {
48
+ content: [{
49
+ type: 'text',
50
+ text: `❌ Error posting to chat view: ${error instanceof Error ? error.message : 'Unknown error'}
51
+
52
+ 💡 **Troubleshooting**:
53
+ - Verify the view_id is correct
54
+ - Ensure the view is a chat/conversation type
55
+ - Check if you have permission to post in this chat
56
+
57
+ 🔧 **Alternative**: Use \`find_chat_channels\` to discover available chat channels.`
58
+ }]
59
+ };
60
+ }
61
+ });
62
+ server.tool('get_chat_view_comments', '🚀 EFFICIENT: Get comments for a ClickUp chat view. Returns comment details with pagination support. Direct access when you have the view ID.', {
63
+ view_id: z.string().describe('The ID of the chat view to get comments for'),
64
+ start: z.number().optional().describe('Pagination start (timestamp)'),
65
+ start_id: z.string().optional().describe('Pagination start ID')
66
+ }, async (args) => {
67
+ try {
68
+ let url = `https://api.clickup.com/api/v2/view/${args.view_id}/comment`;
69
+ const params = new URLSearchParams();
70
+ if (args.start)
71
+ params.append('start', args.start.toString());
72
+ if (args.start_id)
73
+ params.append('start_id', args.start_id);
74
+ if (params.toString()) {
75
+ url += `?${params.toString()}`;
76
+ }
77
+ const response = await fetch(url, {
78
+ headers: {
79
+ 'Authorization': process.env.CLICKUP_API_TOKEN
80
+ }
81
+ });
82
+ if (!response.ok) {
83
+ throw new Error(`HTTP ${response.status}: ${response.statusText}`);
84
+ }
85
+ const result = await response.json();
86
+ return {
87
+ content: [{
88
+ type: 'text',
89
+ text: `## 💬 Chat History (${result.comments?.length || 0} messages)
90
+
91
+ ${result.comments?.map((comment) => `### ${comment.user?.username || 'Unknown User'} - ${new Date(comment.date).toLocaleString()}
92
+ ${comment.comment_text || comment.text || 'No content'}
93
+ ---`).join('\n') || 'No messages found'}
94
+
95
+ 💡 **Efficiency**: Direct chat access - no workspace navigation needed!`
96
+ }]
97
+ };
98
+ }
99
+ catch (error) {
100
+ return {
101
+ content: [{
102
+ type: 'text',
103
+ text: `❌ Error getting chat comments: ${error instanceof Error ? error.message : 'Unknown error'}
104
+
105
+ 🔧 **Alternative**: Use \`find_chat_channels\` to discover available chat channels.`
106
+ }]
107
+ };
108
+ }
109
+ });
110
+ // ========================================
111
+ // MEDIUM EFFICIENCY - DISCOVERY OPERATIONS
112
+ // ========================================
113
+ server.tool('get_chat_channels', '⚡ MEDIUM EFFICIENCY: Retrieve all chat channels in a workspace. Consider using find_chat_channels for more targeted discovery.', {
114
+ workspace_id: z.string().min(1).describe('The ID of the workspace to get channels from'),
115
+ archived: z.boolean().optional().describe('Whether to include archived channels'),
116
+ type: z.enum(['public', 'private', 'direct']).optional().describe('Filter by channel type')
117
+ }, async (args) => {
118
+ try {
119
+ const filter = GetChannelsFilterSchema.parse(args);
120
+ const result = await chatClient.getChannels(filter);
121
+ return {
122
+ content: [{
123
+ type: 'text',
124
+ text: `## 📋 Found ${result.channels.length} channels
125
+
126
+ ${result.channels.map((channel) => `### 💬 ${channel.name}
127
+ - **ID**: \`${channel.id}\`
128
+ - **Type**: ${channel.type}
129
+ - **Members**: ${channel.member_count || 'Unknown'}
130
+
131
+ *Use ID with \`create_chat_view_comment\` to post messages*`).join('\n\n')}
132
+
133
+ 💡 **Efficiency Tip**: For faster chat discovery, use \`find_chat_channels\` instead of this tool.`
134
+ }]
135
+ };
136
+ }
137
+ catch (error) {
138
+ return {
139
+ content: [{
140
+ type: 'text',
141
+ text: `❌ Error getting chat channels: ${error instanceof Error ? error.message : 'Unknown error'}
142
+
143
+ 🔧 **More Efficient Alternative**: Use \`find_chat_channels\` for targeted chat discovery.`
144
+ }],
145
+ isError: true
146
+ };
147
+ }
148
+ });
149
+ // ========================================
150
+ // ADVANCED CHAT OPERATIONS
151
+ // ========================================
152
+ server.tool('create_chat_channel', 'Create a new chat channel in a workspace with specified name, description, and privacy settings.', {
153
+ workspace_id: z.string().min(1).describe('The ID of the workspace to create the channel in'),
154
+ name: z.string().min(1).max(255).describe('The name of the channel'),
155
+ description: z.string().optional().describe('Optional description of the channel'),
156
+ type: z.enum(['public', 'private', 'direct']).default('public').describe('The type of channel'),
157
+ members: z.array(z.number()).optional().describe('Array of user IDs to add as initial members'),
158
+ is_private: z.boolean().optional().describe('Whether the channel is private')
159
+ }, async (args) => {
160
+ try {
161
+ const request = CreateChannelSchema.parse(args);
162
+ const result = await chatClient.createChannel(request);
163
+ return {
164
+ content: [{
165
+ type: 'text',
166
+ text: `✅ Chat channel created successfully!
167
+
168
+ **Channel Name**: ${result.name}
169
+ **Channel ID**: \`${result.id}\`
170
+ **Type**: ${result.type}
171
+
172
+ 🚀 **Next Steps**: Use \`create_chat_view_comment\` with ID \`${result.id}\` to post messages.`
173
+ }]
174
+ };
175
+ }
176
+ catch (error) {
177
+ return {
178
+ content: [{
179
+ type: 'text',
180
+ text: `❌ Error creating chat channel: ${error instanceof Error ? error.message : 'Unknown error'}`
181
+ }],
182
+ isError: true
183
+ };
184
+ }
185
+ });
186
+ server.tool('update_chat_channel', 'Update an existing chat channel\'s properties including name, description, and privacy settings.', {
187
+ channel_id: z.string().min(1).describe('The ID of the channel to update'),
188
+ name: z.string().min(1).max(255).optional().describe('New name for the channel'),
189
+ description: z.string().optional().describe('New description for the channel'),
190
+ is_private: z.boolean().optional().describe('Whether to make the channel private')
191
+ }, async (args) => {
192
+ try {
193
+ const request = UpdateChannelSchema.parse(args);
194
+ const result = await chatClient.updateChannel(request);
195
+ return {
196
+ content: [{
197
+ type: 'text',
198
+ text: `✅ Chat channel updated successfully!\n\n${JSON.stringify(result, null, 2)}`
199
+ }]
200
+ };
201
+ }
202
+ catch (error) {
203
+ return {
204
+ content: [{
205
+ type: 'text',
206
+ text: `❌ Error updating chat channel: ${error instanceof Error ? error.message : 'Unknown error'}`
207
+ }],
208
+ isError: true
209
+ };
210
+ }
211
+ });
212
+ server.tool('archive_chat_channel', 'Archive a chat channel instead of deleting it.', {
213
+ channel_id: z.string().min(1).describe('The ID of the channel to archive')
214
+ }, async (args) => {
215
+ try {
216
+ // Note: This is a placeholder - actual archive functionality would depend on ClickUp API
217
+ return {
218
+ content: [{
219
+ type: 'text',
220
+ text: `⚠️ Archive functionality not yet implemented in ClickUp API. Channel ID: ${args.channel_id}`
221
+ }]
222
+ };
223
+ }
224
+ catch (error) {
225
+ return {
226
+ content: [{
227
+ type: 'text',
228
+ text: `❌ Error archiving chat channel: ${error instanceof Error ? error.message : 'Unknown error'}`
229
+ }],
230
+ isError: true
231
+ };
232
+ }
233
+ });
234
+ // ========================================
235
+ // MESSAGE OPERATIONS
236
+ // ========================================
237
+ server.tool('send_chat_message', 'Send a message to a chat channel. Supports rich formatting and attachments.', {
238
+ channel_id: z.string().min(1).describe('The ID of the channel to send message to'),
239
+ message: z.string().min(1).describe('The message content (supports markdown)'),
240
+ parent_message_id: z.string().optional().describe('ID of message to reply to'),
241
+ attachments: z.array(z.string()).optional().describe('Array of attachment URLs')
242
+ }, async (args) => {
243
+ try {
244
+ const request = SendMessageSchema.parse(args);
245
+ const result = await chatClient.sendMessage(request);
246
+ return {
247
+ content: [{
248
+ type: 'text',
249
+ text: `✅ Message sent successfully!\n\n**Message ID**: ${result.id}\n**Sent at**: ${new Date(result.date_created).toLocaleString()}`
250
+ }]
251
+ };
252
+ }
253
+ catch (error) {
254
+ return {
255
+ content: [{
256
+ type: 'text',
257
+ text: `❌ Error sending message: ${error instanceof Error ? error.message : 'Unknown error'}`
258
+ }],
259
+ isError: true
260
+ };
261
+ }
262
+ });
263
+ server.tool('get_chat_messages', 'Get messages from a chat channel with optional filtering and pagination. Note: Limited by current ClickUp API capabilities.', {
264
+ channel_id: z.string().min(1).describe('The ID of the channel to get messages from'),
265
+ limit: z.number().min(1).max(100).default(50).describe('Maximum number of messages to return'),
266
+ before: z.string().optional().describe('Get messages before this message ID'),
267
+ after: z.string().optional().describe('Get messages after this message ID')
268
+ }, async (args) => {
269
+ try {
270
+ // Note: This functionality may be limited by ClickUp API
271
+ return {
272
+ content: [{
273
+ type: 'text',
274
+ text: `⚠️ Direct message retrieval may be limited by ClickUp API.
275
+
276
+ **Alternative**: Use \`get_chat_view_comments\` for chat view messages.
277
+ **Channel ID**: ${args.channel_id}
278
+ **Requested Limit**: ${args.limit}`
279
+ }]
280
+ };
281
+ }
282
+ catch (error) {
283
+ return {
284
+ content: [{
285
+ type: 'text',
286
+ text: `❌ Error getting messages: ${error instanceof Error ? error.message : 'Unknown error'}
287
+
288
+ 💡 **Alternative**: Use \`get_chat_view_comments\` for reading chat messages.`
289
+ }],
290
+ isError: true
291
+ };
292
+ }
293
+ });
294
+ server.tool('update_chat_message', 'Update an existing chat message content.', {
295
+ message_id: z.string().min(1).describe('The ID of the message to update'),
296
+ new_content: z.string().min(1).describe('The new message content')
297
+ }, async (args) => {
298
+ try {
299
+ const result = await chatClient.updateMessage({
300
+ channel_id: "placeholder", // This would need to be provided
301
+ message_id: args.message_id,
302
+ content: args.new_content
303
+ });
304
+ return {
305
+ content: [{
306
+ type: 'text',
307
+ text: `✅ Message updated successfully!\n\n${JSON.stringify(result, null, 2)}`
308
+ }]
309
+ };
310
+ }
311
+ catch (error) {
312
+ return {
313
+ content: [{
314
+ type: 'text',
315
+ text: `❌ Error updating message: ${error instanceof Error ? error.message : 'Unknown error'}`
316
+ }],
317
+ isError: true
318
+ };
319
+ }
320
+ });
321
+ server.tool('delete_chat_message', 'Delete a chat message. This action cannot be undone.', {
322
+ message_id: z.string().min(1).describe('The ID of the message to delete')
323
+ }, async (args) => {
324
+ try {
325
+ const result = await chatClient.deleteMessage("placeholder_channel_id", args.message_id);
326
+ return {
327
+ content: [{
328
+ type: 'text',
329
+ text: `✅ Message deleted successfully.\n\n${JSON.stringify(result, null, 2)}`
330
+ }]
331
+ };
332
+ }
333
+ catch (error) {
334
+ return {
335
+ content: [{
336
+ type: 'text',
337
+ text: `❌ Error deleting message: ${error instanceof Error ? error.message : 'Unknown error'}`
338
+ }],
339
+ isError: true
340
+ };
341
+ }
342
+ });
343
+ // ========================================
344
+ // MEMBER MANAGEMENT
345
+ // ========================================
346
+ server.tool('add_chat_member', 'Add a member to a chat channel.', {
347
+ channel_id: z.string().min(1).describe('The ID of the channel'),
348
+ user_id: z.number().describe('The ID of the user to add'),
349
+ role: z.enum(['member', 'admin']).default('member').describe('The role to assign to the user')
350
+ }, async (args) => {
351
+ try {
352
+ const request = AddChannelMemberSchema.parse(args);
353
+ const result = await chatClient.addChannelMember(request);
354
+ return {
355
+ content: [{
356
+ type: 'text',
357
+ text: `✅ Member added to channel successfully!\n\n${JSON.stringify(result, null, 2)}`
358
+ }]
359
+ };
360
+ }
361
+ catch (error) {
362
+ return {
363
+ content: [{
364
+ type: 'text',
365
+ text: `❌ Error adding member: ${error instanceof Error ? error.message : 'Unknown error'}`
366
+ }],
367
+ isError: true
368
+ };
369
+ }
370
+ });
371
+ server.tool('remove_chat_member', 'Remove a member from a chat channel.', {
372
+ channel_id: z.string().min(1).describe('The ID of the channel'),
373
+ user_id: z.number().describe('The ID of the user to remove')
374
+ }, async (args) => {
375
+ try {
376
+ const request = RemoveChannelMemberSchema.parse(args);
377
+ const result = await chatClient.removeChannelMember(request);
378
+ return {
379
+ content: [{
380
+ type: 'text',
381
+ text: `✅ Member removed from channel successfully!\n\n${JSON.stringify(result, null, 2)}`
382
+ }]
383
+ };
384
+ }
385
+ catch (error) {
386
+ return {
387
+ content: [{
388
+ type: 'text',
389
+ text: `❌ Error removing member: ${error instanceof Error ? error.message : 'Unknown error'}`
390
+ }],
391
+ isError: true
392
+ };
393
+ }
394
+ });
395
+ }
396
+ //# sourceMappingURL=chat-tools-enhanced.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-tools-enhanced.js","sourceRoot":"","sources":["../../src/tools/chat-tools-enhanced.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function setupChatTools(server: McpServer): void;