@chykalophia/clickup-mcp-server 3.4.0 → 4.1.2
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/build/clickup-client/attachments-enhanced.js +4 -1
- package/build/clickup-client/attachments-enhanced.js.map +1 -1
- package/build/clickup-client/auth.js.map +1 -1
- package/build/clickup-client/chat-enhanced.js +3 -1
- package/build/clickup-client/chat-enhanced.js.map +1 -1
- package/build/clickup-client/checklists.js.map +1 -1
- package/build/clickup-client/comments-enhanced.js +4 -3
- package/build/clickup-client/comments-enhanced.js.map +1 -1
- package/build/clickup-client/comments.js +2 -1
- package/build/clickup-client/comments.js.map +1 -1
- package/build/clickup-client/custom-fields-enhanced.js +7 -7
- package/build/clickup-client/custom-fields-enhanced.js.map +1 -1
- package/build/clickup-client/dependencies-enhanced.js.map +1 -1
- package/build/clickup-client/docs-enhanced.d.ts +1 -1
- package/build/clickup-client/docs-enhanced.js +35 -7
- package/build/clickup-client/docs-enhanced.js.map +1 -1
- package/build/clickup-client/docs.js +6 -6
- package/build/clickup-client/docs.js.map +1 -1
- package/build/clickup-client/folders.js.map +1 -1
- package/build/clickup-client/goals-enhanced.js.map +1 -1
- package/build/clickup-client/index.js +2 -2
- package/build/clickup-client/index.js.map +1 -1
- package/build/clickup-client/lists.js.map +1 -1
- package/build/clickup-client/secure-client.js +7 -6
- package/build/clickup-client/secure-client.js.map +1 -1
- package/build/clickup-client/tasks.d.ts +41 -0
- package/build/clickup-client/tasks.js +128 -2
- package/build/clickup-client/tasks.js.map +1 -1
- package/build/clickup-client/time-tracking-enhanced.js +2 -6
- package/build/clickup-client/time-tracking-enhanced.js.map +1 -1
- package/build/clickup-client/views-enhanced.js.map +1 -1
- package/build/clickup-client/webhooks-enhanced.js +4 -3
- package/build/clickup-client/webhooks-enhanced.js.map +1 -1
- package/build/index-efficiency-simple.js +81 -50
- package/build/index-efficiency-simple.js.map +1 -1
- package/build/index-enhanced.js +1 -0
- package/build/index-enhanced.js.map +1 -1
- package/build/index.js +1 -0
- package/build/index.js.map +1 -1
- package/build/resources/checklist-resources.js +1 -0
- package/build/resources/checklist-resources.js.map +1 -1
- package/build/resources/comment-resources.js +1 -0
- package/build/resources/comment-resources.js.map +1 -1
- package/build/resources/doc-resources.js +1 -0
- package/build/resources/doc-resources.js.map +1 -1
- package/build/resources/folder-resources.js +1 -0
- package/build/resources/folder-resources.js.map +1 -1
- package/build/resources/list-resources.js +1 -0
- package/build/resources/list-resources.js.map +1 -1
- package/build/resources/space-resources.js +1 -0
- package/build/resources/space-resources.js.map +1 -1
- package/build/resources/task-resources.js +1 -0
- package/build/resources/task-resources.js.map +1 -1
- package/build/schemas/attachments-schemas.js +16 -10
- package/build/schemas/attachments-schemas.js.map +1 -1
- package/build/schemas/chat-schemas.d.ts +7 -7
- package/build/schemas/chat-schemas.js +22 -6
- package/build/schemas/chat-schemas.js.map +1 -1
- package/build/schemas/custom-field-schemas.d.ts +80 -80
- package/build/schemas/custom-field-schemas.js +27 -11
- package/build/schemas/custom-field-schemas.js.map +1 -1
- package/build/schemas/dependencies-schemas.d.ts +11 -11
- package/build/schemas/dependencies-schemas.js +14 -11
- package/build/schemas/dependencies-schemas.js.map +1 -1
- package/build/schemas/document-schemas.d.ts +14 -14
- package/build/schemas/document-schemas.js +38 -14
- package/build/schemas/document-schemas.js.map +1 -1
- package/build/schemas/goals-schemas.d.ts +50 -50
- package/build/schemas/goals-schemas.js +4 -1
- package/build/schemas/goals-schemas.js.map +1 -1
- package/build/schemas/task-schemas.d.ts +382 -0
- package/build/schemas/task-schemas.js +115 -0
- package/build/schemas/task-schemas.js.map +1 -0
- package/build/schemas/time-tracking-schemas.d.ts +20 -20
- package/build/schemas/time-tracking-schemas.js +11 -10
- package/build/schemas/time-tracking-schemas.js.map +1 -1
- package/build/schemas/views-schemas.d.ts +2 -2
- package/build/schemas/views-schemas.js +9 -9
- package/build/schemas/views-schemas.js.map +1 -1
- package/build/schemas/webhook-schemas.js +3 -3
- package/build/schemas/webhook-schemas.js.map +1 -1
- package/build/tools/attachments-tools-setup.js +146 -65
- package/build/tools/attachments-tools-setup.js.map +1 -1
- package/build/tools/chat-tools.js +233 -106
- package/build/tools/chat-tools.js.map +1 -1
- package/build/tools/checklist-tools.js +13 -5
- package/build/tools/checklist-tools.js.map +1 -1
- package/build/tools/comment-tools.js +35 -14
- package/build/tools/comment-tools.js.map +1 -1
- package/build/tools/custom-field-tools.js +192 -67
- package/build/tools/custom-field-tools.js.map +1 -1
- package/build/tools/dependencies-tools-setup.js +133 -58
- package/build/tools/dependencies-tools-setup.js.map +1 -1
- package/build/tools/doc-tools-enhanced.js +153 -45
- package/build/tools/doc-tools-enhanced.js.map +1 -1
- package/build/tools/doc-tools.js +4 -1
- package/build/tools/doc-tools.js.map +1 -1
- package/build/tools/goals-tools.js +113 -41
- package/build/tools/goals-tools.js.map +1 -1
- package/build/tools/helper-tools.js +131 -53
- package/build/tools/helper-tools.js.map +1 -1
- package/build/tools/space-tools.js.map +1 -1
- package/build/tools/task-tools.js +501 -21
- package/build/tools/task-tools.js.map +1 -1
- package/build/tools/test-task-update.d.ts +2 -0
- package/build/tools/test-task-update.js +124 -0
- package/build/tools/test-task-update.js.map +1 -0
- package/build/tools/time-tracking-tools.js +105 -36
- package/build/tools/time-tracking-tools.js.map +1 -1
- package/build/tools/views-tools-setup.js +124 -61
- package/build/tools/views-tools-setup.js.map +1 -1
- package/build/tools/webhook-tools-setup.js +175 -72
- package/build/tools/webhook-tools-setup.js.map +1 -1
- package/build/tools/webhook-tools.js +51 -18
- package/build/tools/webhook-tools.js.map +1 -1
- package/build/utils/clickup-comment-formatter.js +55 -25
- package/build/utils/clickup-comment-formatter.js.map +1 -1
- package/build/utils/context-aware-suggestions.js +42 -22
- package/build/utils/context-aware-suggestions.js.map +1 -1
- package/build/utils/error-handling.js +29 -13
- package/build/utils/error-handling.js.map +1 -1
- package/build/utils/markdown-styling.js.map +1 -1
- package/build/utils/markdown.d.ts +5 -4
- package/build/utils/markdown.js +24 -19
- package/build/utils/markdown.js.map +1 -1
- package/build/utils/security.d.ts +76 -0
- package/build/utils/security.js +280 -25
- package/build/utils/security.js.map +1 -1
- package/build/utils/tool-efficiency.js +21 -12
- package/build/utils/tool-efficiency.js.map +1 -1
- package/package.json +5 -5
- package/LICENSE +0 -21
- package/README.md +0 -510
package/build/utils/security.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable no-console */
|
|
1
2
|
import crypto from 'crypto';
|
|
2
3
|
import { z } from 'zod';
|
|
3
4
|
// Default rate limits
|
|
@@ -6,10 +7,42 @@ export const DEFAULT_RATE_LIMITS = {
|
|
|
6
7
|
api: { windowMs: 60000, maxRequests: 1000 }, // 1000 requests per minute
|
|
7
8
|
upload: { windowMs: 60000, maxRequests: 10 } // 10 uploads per minute
|
|
8
9
|
};
|
|
9
|
-
// Rate limiter implementation
|
|
10
|
+
// Rate limiter implementation with memory leak prevention
|
|
10
11
|
class RateLimiter {
|
|
11
12
|
constructor() {
|
|
12
13
|
this.requests = new Map();
|
|
14
|
+
// Only create cleanup interval in non-test environments
|
|
15
|
+
if (process.env.NODE_ENV !== 'test') {
|
|
16
|
+
// Cleanup old entries every 5 minutes to prevent memory leaks
|
|
17
|
+
this.cleanupInterval = setInterval(() => {
|
|
18
|
+
this.cleanup();
|
|
19
|
+
}, 5 * 60 * 1000);
|
|
20
|
+
// Cleanup interval on process exit to prevent Jest hanging
|
|
21
|
+
if (typeof process !== 'undefined') {
|
|
22
|
+
process.on('exit', () => this.destroy());
|
|
23
|
+
process.on('SIGINT', () => this.destroy());
|
|
24
|
+
process.on('SIGTERM', () => this.destroy());
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
destroy() {
|
|
29
|
+
if (this.cleanupInterval) {
|
|
30
|
+
clearInterval(this.cleanupInterval);
|
|
31
|
+
}
|
|
32
|
+
this.requests.clear();
|
|
33
|
+
}
|
|
34
|
+
cleanup() {
|
|
35
|
+
const now = Date.now();
|
|
36
|
+
const maxAge = 60 * 60 * 1000; // 1 hour
|
|
37
|
+
for (const [key, timestamps] of this.requests.entries()) {
|
|
38
|
+
const recentRequests = timestamps.filter(time => now - time < maxAge);
|
|
39
|
+
if (recentRequests.length === 0) {
|
|
40
|
+
this.requests.delete(key);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.requests.set(key, recentRequests);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
13
46
|
}
|
|
14
47
|
isAllowed(key, config) {
|
|
15
48
|
const now = Date.now();
|
|
@@ -37,6 +70,24 @@ class RateLimiter {
|
|
|
37
70
|
}
|
|
38
71
|
}
|
|
39
72
|
export const rateLimiter = new RateLimiter();
|
|
73
|
+
/**
|
|
74
|
+
* Operation-specific rate limits
|
|
75
|
+
*/
|
|
76
|
+
export const OPERATION_RATE_LIMITS = {
|
|
77
|
+
bulk_operations: { windowMs: 60000, maxRequests: 10 }, // 10 per minute
|
|
78
|
+
file_uploads: { windowMs: 60000, maxRequests: 5 }, // 5 per minute
|
|
79
|
+
webhook_processing: { windowMs: 60000, maxRequests: 50 }, // 50 per minute
|
|
80
|
+
search_operations: { windowMs: 60000, maxRequests: 30 }, // 30 per minute
|
|
81
|
+
default: { windowMs: 60000, maxRequests: 100 } // 100 per minute
|
|
82
|
+
};
|
|
83
|
+
/**
|
|
84
|
+
* Check operation-specific rate limit
|
|
85
|
+
*/
|
|
86
|
+
export const checkOperationRateLimit = (operation, identifier) => {
|
|
87
|
+
const limits = OPERATION_RATE_LIMITS[operation] || OPERATION_RATE_LIMITS.default;
|
|
88
|
+
const key = `${operation}_${identifier}`;
|
|
89
|
+
return rateLimiter.isAllowed(key, limits);
|
|
90
|
+
};
|
|
40
91
|
/**
|
|
41
92
|
* Validate and sanitize API token
|
|
42
93
|
*/
|
|
@@ -59,17 +110,50 @@ export const validateApiToken = (token) => {
|
|
|
59
110
|
}
|
|
60
111
|
return { isValid: true };
|
|
61
112
|
};
|
|
113
|
+
/**
|
|
114
|
+
* Remove control characters from string
|
|
115
|
+
*/
|
|
116
|
+
const removeControlCharacters = (str) => {
|
|
117
|
+
return str.split('').filter(char => {
|
|
118
|
+
const code = char.charCodeAt(0);
|
|
119
|
+
return !(code >= 0 && code <= 31) && !(code >= 127 && code <= 159);
|
|
120
|
+
}).join('');
|
|
121
|
+
};
|
|
122
|
+
/**
|
|
123
|
+
* HTML encode user input to prevent XSS attacks
|
|
124
|
+
*/
|
|
125
|
+
export const htmlEncode = (input) => {
|
|
126
|
+
if (typeof input !== 'string') {
|
|
127
|
+
return String(input);
|
|
128
|
+
}
|
|
129
|
+
return input
|
|
130
|
+
.replace(/&/g, '&')
|
|
131
|
+
.replace(/</g, '<')
|
|
132
|
+
.replace(/>/g, '>')
|
|
133
|
+
.replace(/"/g, '"')
|
|
134
|
+
.replace(/'/g, ''')
|
|
135
|
+
.replace(/\//g, '/');
|
|
136
|
+
};
|
|
62
137
|
/**
|
|
63
138
|
* Sanitize user input to prevent injection attacks
|
|
64
139
|
*/
|
|
65
140
|
export const sanitizeInput = (input) => {
|
|
66
141
|
if (typeof input === 'string') {
|
|
67
|
-
// Remove potentially dangerous characters
|
|
68
|
-
|
|
142
|
+
// Remove potentially dangerous characters and patterns
|
|
143
|
+
let sanitized = input
|
|
69
144
|
.replace(/[<>]/g, '') // Remove HTML tags
|
|
70
145
|
.replace(/javascript:/gi, '') // Remove javascript: protocol
|
|
71
146
|
.replace(/on\w+=/gi, '') // Remove event handlers
|
|
72
|
-
.
|
|
147
|
+
.replace(/[\r\n\t]/g, ' ') // Replace newlines/tabs with spaces to prevent log injection
|
|
148
|
+
.replace(/['"`;\\]/g, '') // Remove SQL injection characters
|
|
149
|
+
.replace(/\$\{.*?\}/g, '') // Remove template literals
|
|
150
|
+
.replace(/eval\s*\(/gi, '') // Remove eval calls
|
|
151
|
+
.replace(/Function\s*\(/gi, '') // Remove Function constructor
|
|
152
|
+
.trim()
|
|
153
|
+
.substring(0, 10000); // Limit length to prevent DoS
|
|
154
|
+
// Remove control characters
|
|
155
|
+
sanitized = removeControlCharacters(sanitized);
|
|
156
|
+
return sanitized;
|
|
73
157
|
}
|
|
74
158
|
if (Array.isArray(input)) {
|
|
75
159
|
return input.map(sanitizeInput);
|
|
@@ -77,7 +161,9 @@ export const sanitizeInput = (input) => {
|
|
|
77
161
|
if (input && typeof input === 'object') {
|
|
78
162
|
const sanitized = {};
|
|
79
163
|
for (const [key, value] of Object.entries(input)) {
|
|
80
|
-
|
|
164
|
+
// Sanitize both keys and values
|
|
165
|
+
const sanitizedKey = typeof key === 'string' ? sanitizeInput(key) : key;
|
|
166
|
+
sanitized[sanitizedKey] = sanitizeInput(value);
|
|
81
167
|
}
|
|
82
168
|
return sanitized;
|
|
83
169
|
}
|
|
@@ -129,8 +215,23 @@ export const validateFileUpload = (filename, mimetype, size) => {
|
|
|
129
215
|
}
|
|
130
216
|
// Check for dangerous extensions
|
|
131
217
|
const dangerousExtensions = [
|
|
132
|
-
'.exe',
|
|
133
|
-
'.
|
|
218
|
+
'.exe',
|
|
219
|
+
'.bat',
|
|
220
|
+
'.cmd',
|
|
221
|
+
'.com',
|
|
222
|
+
'.pif',
|
|
223
|
+
'.scr',
|
|
224
|
+
'.vbs',
|
|
225
|
+
'.js',
|
|
226
|
+
'.jar',
|
|
227
|
+
'.php',
|
|
228
|
+
'.asp',
|
|
229
|
+
'.aspx',
|
|
230
|
+
'.jsp',
|
|
231
|
+
'.sh',
|
|
232
|
+
'.ps1',
|
|
233
|
+
'.py',
|
|
234
|
+
'.rb'
|
|
134
235
|
];
|
|
135
236
|
const extension = filename.toLowerCase().split('.').pop();
|
|
136
237
|
if (extension && dangerousExtensions.includes(`.${extension}`)) {
|
|
@@ -149,16 +250,31 @@ export const validateFileUpload = (filename, mimetype, size) => {
|
|
|
149
250
|
if (mimetype) {
|
|
150
251
|
const allowedMimetypes = [
|
|
151
252
|
// Images
|
|
152
|
-
'image/jpeg',
|
|
253
|
+
'image/jpeg',
|
|
254
|
+
'image/png',
|
|
255
|
+
'image/gif',
|
|
256
|
+
'image/webp',
|
|
257
|
+
'image/svg+xml',
|
|
153
258
|
// Documents
|
|
154
|
-
'application/pdf',
|
|
155
|
-
'
|
|
156
|
-
'
|
|
157
|
-
'application/
|
|
259
|
+
'application/pdf',
|
|
260
|
+
'text/plain',
|
|
261
|
+
'text/csv',
|
|
262
|
+
'application/msword',
|
|
263
|
+
'application/vnd.openxmlformats-officedocument.wordprocessingml.document',
|
|
264
|
+
'application/vnd.ms-excel',
|
|
265
|
+
'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
|
|
266
|
+
'application/vnd.ms-powerpoint',
|
|
267
|
+
'application/vnd.openxmlformats-officedocument.presentationml.presentation',
|
|
158
268
|
// Archives
|
|
159
|
-
'application/zip',
|
|
269
|
+
'application/zip',
|
|
270
|
+
'application/x-rar-compressed',
|
|
271
|
+
'application/x-7z-compressed',
|
|
160
272
|
// Media
|
|
161
|
-
'video/mp4',
|
|
273
|
+
'video/mp4',
|
|
274
|
+
'video/webm',
|
|
275
|
+
'audio/mp3',
|
|
276
|
+
'audio/wav',
|
|
277
|
+
'audio/ogg'
|
|
162
278
|
];
|
|
163
279
|
if (!allowedMimetypes.includes(mimetype)) {
|
|
164
280
|
errors.push(`Mimetype '${mimetype}' not allowed`);
|
|
@@ -189,20 +305,19 @@ export const validateUrl = (url) => {
|
|
|
189
305
|
if (!['http:', 'https:'].includes(parsedUrl.protocol)) {
|
|
190
306
|
return { isValid: false, error: 'Only HTTP and HTTPS URLs are allowed' };
|
|
191
307
|
}
|
|
192
|
-
// Block localhost and private IPs for security
|
|
308
|
+
// Block localhost and private IPs for security (complete RFC 1918 ranges)
|
|
193
309
|
const hostname = parsedUrl.hostname.toLowerCase();
|
|
194
310
|
if (hostname === 'localhost' ||
|
|
195
311
|
hostname === '127.0.0.1' ||
|
|
196
312
|
hostname === '::1' ||
|
|
197
313
|
hostname.startsWith('192.168.') ||
|
|
198
314
|
hostname.startsWith('10.') ||
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
hostname.startsWith('
|
|
203
|
-
hostname.startsWith('
|
|
204
|
-
hostname.startsWith('
|
|
205
|
-
hostname.startsWith('172.31.')) {
|
|
315
|
+
// Complete 172.16.0.0/12 range (172.16.0.0 - 172.31.255.255)
|
|
316
|
+
/^172\.(1[6-9]|2[0-9]|3[01])\./.test(hostname) ||
|
|
317
|
+
// IPv6 private ranges
|
|
318
|
+
hostname.startsWith('fc00:') ||
|
|
319
|
+
hostname.startsWith('fd00:') ||
|
|
320
|
+
hostname.startsWith('fe80:')) {
|
|
206
321
|
return { isValid: false, error: 'Private and localhost URLs are not allowed' };
|
|
207
322
|
}
|
|
208
323
|
return { isValid: true };
|
|
@@ -264,6 +379,26 @@ export const getSecurityHeaders = () => {
|
|
|
264
379
|
'Referrer-Policy': 'strict-origin-when-cross-origin'
|
|
265
380
|
};
|
|
266
381
|
};
|
|
382
|
+
/**
|
|
383
|
+
* Secure logging function that prevents log injection
|
|
384
|
+
*/
|
|
385
|
+
export const secureLog = (level, message, data) => {
|
|
386
|
+
// Sanitize message to prevent log injection
|
|
387
|
+
let sanitizedMessage = message
|
|
388
|
+
.replace(/[\r\n\t]/g, ' ') // Replace newlines/tabs with spaces
|
|
389
|
+
.substring(0, 1000); // Limit length
|
|
390
|
+
// Remove control characters
|
|
391
|
+
sanitizedMessage = removeControlCharacters(sanitizedMessage);
|
|
392
|
+
const timestamp = new Date().toISOString();
|
|
393
|
+
const logEntry = {
|
|
394
|
+
timestamp,
|
|
395
|
+
level,
|
|
396
|
+
message: sanitizedMessage,
|
|
397
|
+
data: data ? sanitizeInput(data) : undefined
|
|
398
|
+
};
|
|
399
|
+
// Use structured logging to prevent injection
|
|
400
|
+
console[level](`[${level.toUpperCase()}] ${timestamp}:`, logEntry);
|
|
401
|
+
};
|
|
267
402
|
/**
|
|
268
403
|
* Log security events
|
|
269
404
|
*/
|
|
@@ -271,12 +406,132 @@ export const logSecurityEvent = (event, details, level = 'info') => {
|
|
|
271
406
|
const timestamp = new Date().toISOString();
|
|
272
407
|
const logEntry = {
|
|
273
408
|
timestamp,
|
|
274
|
-
event,
|
|
409
|
+
event: sanitizeInput(event),
|
|
275
410
|
level,
|
|
276
411
|
details: sanitizeInput(details)
|
|
277
412
|
};
|
|
278
|
-
//
|
|
279
|
-
|
|
413
|
+
// Use secure logging to prevent log injection
|
|
414
|
+
secureLog('error', `[SECURITY ${level.toUpperCase()}] ${event}`, logEntry);
|
|
415
|
+
};
|
|
416
|
+
/**
|
|
417
|
+
* Prevent prototype pollution in objects
|
|
418
|
+
*/
|
|
419
|
+
export const sanitizeObject = (obj) => {
|
|
420
|
+
if (obj === null || typeof obj !== 'object') {
|
|
421
|
+
return obj;
|
|
422
|
+
}
|
|
423
|
+
// Remove dangerous properties
|
|
424
|
+
delete obj.__proto__;
|
|
425
|
+
delete obj.constructor;
|
|
426
|
+
delete obj.prototype;
|
|
427
|
+
// Recursively sanitize nested objects
|
|
428
|
+
for (const key in obj) {
|
|
429
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
430
|
+
if (key === '__proto__' || key === 'constructor' || key === 'prototype') {
|
|
431
|
+
delete obj[key];
|
|
432
|
+
}
|
|
433
|
+
else if (typeof obj[key] === 'object' && obj[key] !== null) {
|
|
434
|
+
obj[key] = sanitizeObject(obj[key]);
|
|
435
|
+
}
|
|
436
|
+
}
|
|
437
|
+
}
|
|
438
|
+
return obj;
|
|
439
|
+
};
|
|
440
|
+
/**
|
|
441
|
+
* Safe object merge that prevents prototype pollution
|
|
442
|
+
*/
|
|
443
|
+
export const safeMerge = (target, source) => {
|
|
444
|
+
const sanitizedSource = sanitizeObject(source);
|
|
445
|
+
return { ...target, ...sanitizedSource };
|
|
446
|
+
};
|
|
447
|
+
/**
|
|
448
|
+
* Sanitize error messages for production to prevent information disclosure
|
|
449
|
+
*/
|
|
450
|
+
export const sanitizeErrorMessage = (error) => {
|
|
451
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
452
|
+
if (isProduction) {
|
|
453
|
+
// Generic error messages in production
|
|
454
|
+
if (error?.message?.includes('ENOTFOUND') || error?.message?.includes('ECONNREFUSED')) {
|
|
455
|
+
return 'Network connection failed';
|
|
456
|
+
}
|
|
457
|
+
if (error?.message?.includes('401') || error?.message?.includes('Unauthorized')) {
|
|
458
|
+
return 'Authentication failed';
|
|
459
|
+
}
|
|
460
|
+
if (error?.message?.includes('403') || error?.message?.includes('Forbidden')) {
|
|
461
|
+
return 'Access denied';
|
|
462
|
+
}
|
|
463
|
+
if (error?.message?.includes('404') || error?.message?.includes('Not Found')) {
|
|
464
|
+
return 'Resource not found';
|
|
465
|
+
}
|
|
466
|
+
if (error?.message?.includes('429') || error?.message?.includes('rate limit')) {
|
|
467
|
+
return 'Rate limit exceeded';
|
|
468
|
+
}
|
|
469
|
+
return 'An error occurred';
|
|
470
|
+
}
|
|
471
|
+
// Detailed error messages in development
|
|
472
|
+
return error?.message || 'Unknown error';
|
|
473
|
+
};
|
|
474
|
+
/**
|
|
475
|
+
* Input length limits for security
|
|
476
|
+
*/
|
|
477
|
+
export const INPUT_LIMITS = {
|
|
478
|
+
COMMENT_TEXT: 10000,
|
|
479
|
+
TASK_NAME: 500,
|
|
480
|
+
DESCRIPTION: 50000,
|
|
481
|
+
JSON_PAYLOAD: 100000,
|
|
482
|
+
URL: 2000,
|
|
483
|
+
GENERAL_TEXT: 1000
|
|
484
|
+
};
|
|
485
|
+
/**
|
|
486
|
+
* Validate input length to prevent DoS
|
|
487
|
+
*/
|
|
488
|
+
export const validateInputLength = (input, limit, fieldName) => {
|
|
489
|
+
if (typeof input !== 'string') {
|
|
490
|
+
return; // Non-string inputs are handled elsewhere
|
|
491
|
+
}
|
|
492
|
+
if (input.length > limit) {
|
|
493
|
+
throw new Error(`${fieldName} exceeds maximum length of ${limit} characters (got ${input.length})`);
|
|
494
|
+
}
|
|
495
|
+
};
|
|
496
|
+
/**
|
|
497
|
+
* Production-safe logging that prevents information disclosure
|
|
498
|
+
*/
|
|
499
|
+
export const productionSafeLog = (level, message, data) => {
|
|
500
|
+
const isProduction = process.env.NODE_ENV === 'production';
|
|
501
|
+
if (isProduction) {
|
|
502
|
+
// Only log sanitized, non-sensitive information in production
|
|
503
|
+
const sanitizedMessage = sanitizeInput(message).substring(0, 200);
|
|
504
|
+
const sanitizedData = data ? { type: typeof data, hasData: !!data } : undefined;
|
|
505
|
+
secureLog(level, sanitizedMessage, sanitizedData);
|
|
506
|
+
}
|
|
507
|
+
else {
|
|
508
|
+
// Development logging can be more verbose
|
|
509
|
+
secureLog(level, message, data);
|
|
510
|
+
}
|
|
511
|
+
};
|
|
512
|
+
/**
|
|
513
|
+
* Safe JSON parsing with validation and prototype pollution prevention
|
|
514
|
+
*/
|
|
515
|
+
export const safeJsonParse = (jsonString, maxLength = 100000) => {
|
|
516
|
+
if (typeof jsonString !== 'string') {
|
|
517
|
+
throw new Error('Input must be a string');
|
|
518
|
+
}
|
|
519
|
+
if (jsonString.length > maxLength) {
|
|
520
|
+
throw new Error(`JSON payload too large (${jsonString.length} > ${maxLength})`);
|
|
521
|
+
}
|
|
522
|
+
try {
|
|
523
|
+
const parsed = JSON.parse(jsonString);
|
|
524
|
+
// Prevent prototype pollution
|
|
525
|
+
if (parsed && typeof parsed === 'object') {
|
|
526
|
+
delete parsed.__proto__;
|
|
527
|
+
delete parsed.constructor;
|
|
528
|
+
delete parsed.prototype;
|
|
529
|
+
}
|
|
530
|
+
return parsed;
|
|
531
|
+
}
|
|
532
|
+
catch (error) {
|
|
533
|
+
throw new Error('Invalid JSON format');
|
|
534
|
+
}
|
|
280
535
|
};
|
|
281
536
|
/**
|
|
282
537
|
* Validate MCP tool parameters
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/utils/security.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
/* eslint-disable max-len */
|
|
1
2
|
/**
|
|
2
3
|
* Tool Efficiency and Metadata System
|
|
3
4
|
* Provides intelligent tool suggestions and efficiency hints for better AI decision making
|
|
@@ -29,7 +30,7 @@ export const TOOL_CATEGORIES = {
|
|
|
29
30
|
*/
|
|
30
31
|
export const TOOL_METADATA = {
|
|
31
32
|
// Chat Tools
|
|
32
|
-
|
|
33
|
+
create_chat_view_comment: {
|
|
33
34
|
name: 'create_chat_view_comment',
|
|
34
35
|
category: 'core',
|
|
35
36
|
efficiency: 'direct',
|
|
@@ -40,7 +41,7 @@ export const TOOL_METADATA = {
|
|
|
40
41
|
related_tools: ['get_chat_view_comments', 'find_chat_channels'],
|
|
41
42
|
performance_impact: 'low'
|
|
42
43
|
},
|
|
43
|
-
|
|
44
|
+
get_chat_view_comments: {
|
|
44
45
|
name: 'get_chat_view_comments',
|
|
45
46
|
category: 'core',
|
|
46
47
|
efficiency: 'direct',
|
|
@@ -52,7 +53,7 @@ export const TOOL_METADATA = {
|
|
|
52
53
|
performance_impact: 'low'
|
|
53
54
|
},
|
|
54
55
|
// Navigation Tools (less efficient)
|
|
55
|
-
|
|
56
|
+
get_workspaces: {
|
|
56
57
|
name: 'get_workspaces',
|
|
57
58
|
category: 'core',
|
|
58
59
|
efficiency: 'hierarchical',
|
|
@@ -61,7 +62,7 @@ export const TOOL_METADATA = {
|
|
|
61
62
|
efficiency_hint: 'Use only when you need to discover workspaces. Avoid if you already know workspace structure.',
|
|
62
63
|
performance_impact: 'medium'
|
|
63
64
|
},
|
|
64
|
-
|
|
65
|
+
get_spaces: {
|
|
65
66
|
name: 'get_spaces',
|
|
66
67
|
category: 'core',
|
|
67
68
|
efficiency: 'hierarchical',
|
|
@@ -72,7 +73,7 @@ export const TOOL_METADATA = {
|
|
|
72
73
|
related_tools: ['get_views', 'get_lists'],
|
|
73
74
|
performance_impact: 'medium'
|
|
74
75
|
},
|
|
75
|
-
|
|
76
|
+
get_views: {
|
|
76
77
|
name: 'get_views',
|
|
77
78
|
category: 'core',
|
|
78
79
|
efficiency: 'hierarchical',
|
|
@@ -84,7 +85,7 @@ export const TOOL_METADATA = {
|
|
|
84
85
|
performance_impact: 'medium'
|
|
85
86
|
},
|
|
86
87
|
// Search Tools (most efficient for discovery)
|
|
87
|
-
|
|
88
|
+
search_docs: {
|
|
88
89
|
name: 'search_docs',
|
|
89
90
|
category: 'search',
|
|
90
91
|
efficiency: 'search',
|
|
@@ -95,7 +96,7 @@ export const TOOL_METADATA = {
|
|
|
95
96
|
performance_impact: 'low'
|
|
96
97
|
},
|
|
97
98
|
// Task Tools
|
|
98
|
-
|
|
99
|
+
get_task_details: {
|
|
99
100
|
name: 'get_task_details',
|
|
100
101
|
category: 'core',
|
|
101
102
|
efficiency: 'direct',
|
|
@@ -106,7 +107,7 @@ export const TOOL_METADATA = {
|
|
|
106
107
|
related_tools: ['update_task', 'create_task_comment'],
|
|
107
108
|
performance_impact: 'low'
|
|
108
109
|
},
|
|
109
|
-
|
|
110
|
+
get_tasks: {
|
|
110
111
|
name: 'get_tasks',
|
|
111
112
|
category: 'core',
|
|
112
113
|
efficiency: 'hierarchical',
|
|
@@ -124,8 +125,12 @@ export const TOOL_METADATA = {
|
|
|
124
125
|
export function suggestToolsForTask(request) {
|
|
125
126
|
const lowerRequest = request.toLowerCase();
|
|
126
127
|
// Chat-related requests
|
|
127
|
-
if (lowerRequest.includes('chat') ||
|
|
128
|
-
|
|
128
|
+
if (lowerRequest.includes('chat') ||
|
|
129
|
+
lowerRequest.includes('message') ||
|
|
130
|
+
lowerRequest.includes('post')) {
|
|
131
|
+
if (lowerRequest.includes('send') ||
|
|
132
|
+
lowerRequest.includes('post') ||
|
|
133
|
+
lowerRequest.includes('create')) {
|
|
129
134
|
return {
|
|
130
135
|
primary_tools: ['create_chat_view_comment'],
|
|
131
136
|
alternative_tools: ['create_list_comment', 'create_task_comment'],
|
|
@@ -137,7 +142,9 @@ export function suggestToolsForTask(request) {
|
|
|
137
142
|
workflow_hint: 'If you have chat_view_id → create_chat_view_comment. If not → find_chat_channels → create_chat_view_comment'
|
|
138
143
|
};
|
|
139
144
|
}
|
|
140
|
-
if (lowerRequest.includes('read') ||
|
|
145
|
+
if (lowerRequest.includes('read') ||
|
|
146
|
+
lowerRequest.includes('get') ||
|
|
147
|
+
lowerRequest.includes('history')) {
|
|
141
148
|
return {
|
|
142
149
|
primary_tools: ['get_chat_view_comments'],
|
|
143
150
|
alternative_tools: ['find_chat_channels'],
|
|
@@ -159,7 +166,9 @@ export function suggestToolsForTask(request) {
|
|
|
159
166
|
workflow_hint: 'create_task with list_id'
|
|
160
167
|
};
|
|
161
168
|
}
|
|
162
|
-
if (lowerRequest.includes('get') ||
|
|
169
|
+
if (lowerRequest.includes('get') ||
|
|
170
|
+
lowerRequest.includes('details') ||
|
|
171
|
+
lowerRequest.includes('info')) {
|
|
163
172
|
return {
|
|
164
173
|
primary_tools: ['get_task_details'],
|
|
165
174
|
alternative_tools: ['get_tasks'],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tool-efficiency.js","sourceRoot":"","sources":["../../src/utils/tool-efficiency.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAqBH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,0DAA0D;IAC1D,MAAM,EAAE;QACN,IAAI,EAAE,CAAC,0BAA0B,EAAE,wBAAwB,CAAC;QAC5D,KAAK,EAAE,CAAC,kBAAkB,EAAE,aAAa,EAAE,aAAa,CAAC;QACzD,MAAM,EAAE,CAAC,aAAa,EAAE,oBAAoB,CAAC;QAC7C,IAAI,EAAE,CAAC,8BAA8B,EAAE,4BAA4B,CAAC;KACrE;IAED,yEAAyE;IACzE,YAAY,EAAE;QACZ,UAAU,EAAE,CAAC,gBAAgB,EAAE,YAAY,EAAE,WAAW,EAAE,WAAW,CAAC;QACtE,SAAS,EAAE,CAAC,aAAa,EAAE,sBAAsB,CAAC;KACnD;IAED,qCAAqC;IACrC,OAAO,EAAE;QACP,WAAW,EAAE,CAAC,wBAAwB,EAAE,oBAAoB,EAAE,sBAAsB,CAAC;QACrF,UAAU,EAAE,CAAC,6BAA6B,EAAE,4BAA4B,CAAC;KAC1E;CACF,CAAC;AAEF;;GAEG;AACH,MAAM,CAAC,MAAM,aAAa,GAAiC;IACzD,aAAa;IACb,
|
|
1
|
+
{"version":3,"file":"tool-efficiency.js","sourceRoot":"","sources":["../../src/utils/tool-efficiency.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chykalophia/clickup-mcp-server",
|
|
3
|
-
"version": "
|
|
4
|
-
"description": "An intelligent Model Context Protocol server for ClickUp API integration with
|
|
3
|
+
"version": "4.1.2",
|
|
4
|
+
"description": "An intelligent Model Context Protocol server for ClickUp API integration with 177+ tools, AI-powered efficiency optimization, smart tool suggestions, and context-aware workflow recommendations",
|
|
5
5
|
"main": "build/index-enhanced.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"clickup-mcp-server": "build/index-enhanced.js",
|
|
@@ -39,7 +39,7 @@
|
|
|
39
39
|
},
|
|
40
40
|
"repository": {
|
|
41
41
|
"type": "git",
|
|
42
|
-
"url": "git+https://github.com/
|
|
42
|
+
"url": "git+https://github.com/Chykalophia/ClickUp-MCP-Server---Enhanced.git"
|
|
43
43
|
},
|
|
44
44
|
"keywords": [
|
|
45
45
|
"clickup",
|
|
@@ -79,9 +79,9 @@
|
|
|
79
79
|
],
|
|
80
80
|
"license": "MIT",
|
|
81
81
|
"bugs": {
|
|
82
|
-
"url": "https://github.com/
|
|
82
|
+
"url": "https://github.com/Chykalophia/ClickUp-MCP-Server---Enhanced/issues"
|
|
83
83
|
},
|
|
84
|
-
"homepage": "https://github.com/
|
|
84
|
+
"homepage": "https://github.com/Chykalophia/ClickUp-MCP-Server---Enhanced#readme",
|
|
85
85
|
"engines": {
|
|
86
86
|
"node": ">=18.0.0"
|
|
87
87
|
},
|
package/LICENSE
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2025 David Whatley and ClickUp MCP Server Contributors
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|