@delorenj/mcp-server-trello 1.6.1 → 1.7.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,491 +0,0 @@
1
- import { TrelloHealthMonitor, HealthStatus } from './health-monitor.js';
2
- /**
3
- * THE MAGNIFICENT HEALTH ENDPOINTS COLLECTION! 🏥
4
- *
5
- * This class provides all the cardiovascular monitoring APIs that keep
6
- * our Trello MCP organism in peak condition. It's like having a team of
7
- * world-class physicians monitoring your API 24/7!
8
- *
9
- * Available endpoints:
10
- * - /health - Quick health check
11
- * - /health/detailed - Comprehensive diagnostic report
12
- * - /health/metadata - Metadata consistency verification
13
- * - /health/performance - Performance metrics analysis
14
- * - /admin/repair - Automated repair capabilities (when available)
15
- */
16
- export class TrelloHealthEndpoints {
17
- constructor(trelloClient) {
18
- this.trelloClient = trelloClient;
19
- this.healthMonitor = new TrelloHealthMonitor(trelloClient);
20
- }
21
- /**
22
- * GET /health
23
- * Quick health status check - the digital pulse check!
24
- * Perfect for load balancers and monitoring systems.
25
- */
26
- async getBasicHealth() {
27
- try {
28
- const healthReport = await this.healthMonitor.getSystemHealth(false);
29
- const quickReport = {
30
- status: healthReport.overall_status,
31
- timestamp: healthReport.timestamp,
32
- uptime_ms: healthReport.uptime_ms,
33
- checks_passed: healthReport.checks.filter(c => c.status === HealthStatus.HEALTHY).length,
34
- total_checks: healthReport.checks.length,
35
- response_time_ms: Math.round(healthReport.performance_metrics.avg_response_time_ms),
36
- success_rate: `${healthReport.performance_metrics.success_rate_percent}%`,
37
- };
38
- return {
39
- content: [
40
- {
41
- type: 'text',
42
- text: JSON.stringify(quickReport, null, 2),
43
- },
44
- ],
45
- isError: healthReport.overall_status === HealthStatus.CRITICAL,
46
- };
47
- }
48
- catch (error) {
49
- return this.createErrorResponse('Health check failed', error);
50
- }
51
- }
52
- /**
53
- * GET /health/detailed
54
- * Comprehensive health diagnostic - the full medical examination!
55
- * Includes all subsystem checks, performance metrics, and recommendations.
56
- */
57
- async getDetailedHealth() {
58
- try {
59
- const healthReport = await this.healthMonitor.getSystemHealth(true);
60
- return {
61
- content: [
62
- {
63
- type: 'text',
64
- text: JSON.stringify(healthReport, null, 2),
65
- },
66
- ],
67
- isError: healthReport.overall_status === HealthStatus.CRITICAL,
68
- };
69
- }
70
- catch (error) {
71
- return this.createErrorResponse('Detailed health check failed', error);
72
- }
73
- }
74
- /**
75
- * GET /health/metadata
76
- * Metadata consistency verification - the data integrity scanner!
77
- * Checks for consistency between boards, lists, cards, and checklists.
78
- */
79
- async getMetadataHealth() {
80
- try {
81
- const startTime = Date.now();
82
- const metadataReport = await this.performMetadataConsistencyCheck();
83
- const duration = Date.now() - startTime;
84
- const result = {
85
- status: metadataReport.consistent ? HealthStatus.HEALTHY : HealthStatus.DEGRADED,
86
- timestamp: new Date().toISOString(),
87
- duration_ms: duration,
88
- metadata_consistency: metadataReport,
89
- recommendations: this.generateMetadataRecommendations(metadataReport),
90
- };
91
- return {
92
- content: [
93
- {
94
- type: 'text',
95
- text: JSON.stringify(result, null, 2),
96
- },
97
- ],
98
- isError: !metadataReport.consistent,
99
- };
100
- }
101
- catch (error) {
102
- return this.createErrorResponse('Metadata health check failed', error);
103
- }
104
- }
105
- /**
106
- * GET /health/performance
107
- * Performance metrics analysis - the cardiovascular stress test!
108
- * Deep dive into response times, throughput, and system efficiency.
109
- */
110
- async getPerformanceHealth() {
111
- try {
112
- const healthReport = await this.healthMonitor.getSystemHealth(false);
113
- const performanceAnalysis = this.analyzePerformanceMetrics(healthReport);
114
- return {
115
- content: [
116
- {
117
- type: 'text',
118
- text: JSON.stringify(performanceAnalysis, null, 2),
119
- },
120
- ],
121
- isError: performanceAnalysis.status === HealthStatus.CRITICAL,
122
- };
123
- }
124
- catch (error) {
125
- return this.createErrorResponse('Performance health check failed', error);
126
- }
127
- }
128
- /**
129
- * POST /admin/repair
130
- * Automated system repair - the digital emergency room!
131
- * Attempts to automatically fix common issues when possible.
132
- */
133
- async performRepair() {
134
- try {
135
- const healthReport = await this.healthMonitor.getSystemHealth(true);
136
- if (!healthReport.repair_available) {
137
- return {
138
- content: [
139
- {
140
- type: 'text',
141
- text: JSON.stringify({
142
- repair_attempted: false,
143
- reason: 'No repairable issues detected or system in critical state',
144
- status: healthReport.overall_status,
145
- recommendations: healthReport.recommendations,
146
- }, null, 2),
147
- },
148
- ],
149
- };
150
- }
151
- const repairResult = await this.attemptSystemRepair(healthReport);
152
- return {
153
- content: [
154
- {
155
- type: 'text',
156
- text: JSON.stringify(repairResult, null, 2),
157
- },
158
- ],
159
- isError: !repairResult.success,
160
- };
161
- }
162
- catch (error) {
163
- return this.createErrorResponse('System repair failed', error);
164
- }
165
- }
166
- /**
167
- * Perform comprehensive metadata consistency check
168
- */
169
- async performMetadataConsistencyCheck() {
170
- const results = {
171
- consistent: true,
172
- issues: [],
173
- statistics: {},
174
- last_check: new Date().toISOString(),
175
- };
176
- try {
177
- // Check if we have an active board
178
- const boardId = this.trelloClient.activeBoardId;
179
- if (!boardId) {
180
- results.consistent = false;
181
- results.issues.push('No active board configured');
182
- return results;
183
- }
184
- // Get board information
185
- const board = await this.trelloClient.getBoardById(boardId);
186
- if (board.closed) {
187
- results.consistent = false;
188
- results.issues.push('Active board is closed/archived');
189
- }
190
- // Get lists and check consistency
191
- const lists = await this.trelloClient.getLists();
192
- results.statistics.total_lists = lists.length;
193
- results.statistics.open_lists = lists.filter(l => !l.closed).length;
194
- results.statistics.closed_lists = lists.filter(l => l.closed).length;
195
- // Check for empty board
196
- if (lists.length === 0) {
197
- results.issues.push('Board has no lists');
198
- }
199
- // Get user cards for comparison
200
- const myCards = await this.trelloClient.getMyCards();
201
- results.statistics.total_user_cards = myCards.length;
202
- results.statistics.open_user_cards = myCards.filter(c => !c.closed).length;
203
- // Check workspace consistency
204
- const workspaceId = this.trelloClient.activeWorkspaceId;
205
- if (workspaceId) {
206
- try {
207
- const workspace = await this.trelloClient.getWorkspaceById(workspaceId);
208
- results.statistics.active_workspace = workspace.displayName;
209
- }
210
- catch (error) {
211
- results.consistent = false;
212
- results.issues.push('Active workspace is inaccessible');
213
- }
214
- }
215
- // Check checklist accessibility (non-critical)
216
- try {
217
- const acceptanceCriteria = await this.trelloClient.getAcceptanceCriteria();
218
- results.statistics.acceptance_criteria_items = acceptanceCriteria.length;
219
- }
220
- catch (error) {
221
- // This is not critical for consistency
222
- results.statistics.checklist_note =
223
- 'Acceptance Criteria checklist not found (non-critical)';
224
- }
225
- }
226
- catch (error) {
227
- results.consistent = false;
228
- results.issues.push(`Metadata check error: ${error instanceof Error ? error.message : 'Unknown error'}`);
229
- }
230
- return results;
231
- }
232
- /**
233
- * Generate metadata-specific recommendations
234
- */
235
- generateMetadataRecommendations(metadataReport) {
236
- const recommendations = [];
237
- if (metadataReport.issues.some((issue) => issue.includes('No active board'))) {
238
- recommendations.push('Use set_active_board tool to configure an active board');
239
- }
240
- if (metadataReport.issues.some((issue) => issue.includes('closed/archived'))) {
241
- recommendations.push('Set a different active board that is not closed/archived');
242
- }
243
- if (metadataReport.issues.some((issue) => issue.includes('no lists'))) {
244
- recommendations.push('Create lists in your board using add_list_to_board tool');
245
- }
246
- if (metadataReport.statistics.total_user_cards === 0) {
247
- recommendations.push('Consider assigning yourself to some cards for better workflow tracking');
248
- }
249
- if (recommendations.length === 0) {
250
- recommendations.push('Metadata consistency is excellent - no action required');
251
- }
252
- return recommendations;
253
- }
254
- /**
255
- * Analyze performance metrics in detail
256
- */
257
- analyzePerformanceMetrics(healthReport) {
258
- const metrics = healthReport.performance_metrics;
259
- const performanceGrade = this.calculatePerformanceGrade(metrics);
260
- return {
261
- status: this.getPerformanceStatus(performanceGrade),
262
- timestamp: healthReport.timestamp,
263
- performance_grade: performanceGrade,
264
- metrics: {
265
- ...metrics,
266
- uptime_hours: Math.round((healthReport.uptime_ms / (1000 * 60 * 60)) * 100) / 100,
267
- health_check_duration_ms: healthReport.checks.reduce((sum, c) => sum + c.duration_ms, 0),
268
- },
269
- analysis: {
270
- response_time_rating: this.rateResponseTime(metrics.avg_response_time_ms),
271
- success_rate_rating: this.rateSuccessRate(metrics.success_rate_percent),
272
- throughput_rating: this.rateThroughput(metrics.requests_per_minute),
273
- rate_limit_health: this.rateRateLimitUtilization(metrics.rate_limit_utilization_percent),
274
- },
275
- recommendations: this.generatePerformanceRecommendations(metrics),
276
- };
277
- }
278
- /**
279
- * Calculate overall performance grade
280
- */
281
- calculatePerformanceGrade(metrics) {
282
- let score = 0;
283
- // Response time scoring (40% weight)
284
- if (metrics.avg_response_time_ms < 200)
285
- score += 40;
286
- else if (metrics.avg_response_time_ms < 500)
287
- score += 35;
288
- else if (metrics.avg_response_time_ms < 1000)
289
- score += 25;
290
- else if (metrics.avg_response_time_ms < 2000)
291
- score += 15;
292
- else
293
- score += 5;
294
- // Success rate scoring (35% weight)
295
- if (metrics.success_rate_percent >= 99)
296
- score += 35;
297
- else if (metrics.success_rate_percent >= 95)
298
- score += 30;
299
- else if (metrics.success_rate_percent >= 90)
300
- score += 20;
301
- else if (metrics.success_rate_percent >= 80)
302
- score += 10;
303
- else
304
- score += 5;
305
- // Rate limit utilization scoring (25% weight)
306
- if (metrics.rate_limit_utilization_percent < 50)
307
- score += 25;
308
- else if (metrics.rate_limit_utilization_percent < 70)
309
- score += 20;
310
- else if (metrics.rate_limit_utilization_percent < 85)
311
- score += 15;
312
- else if (metrics.rate_limit_utilization_percent < 95)
313
- score += 10;
314
- else
315
- score += 5;
316
- if (score >= 90)
317
- return 'A+';
318
- if (score >= 80)
319
- return 'A';
320
- if (score >= 70)
321
- return 'B';
322
- if (score >= 60)
323
- return 'C';
324
- if (score >= 50)
325
- return 'D';
326
- return 'F';
327
- }
328
- /**
329
- * Get performance status based on grade
330
- */
331
- getPerformanceStatus(grade) {
332
- if (['A+', 'A', 'B'].includes(grade))
333
- return HealthStatus.HEALTHY;
334
- if (['C', 'D'].includes(grade))
335
- return HealthStatus.DEGRADED;
336
- return HealthStatus.CRITICAL;
337
- }
338
- /**
339
- * Rate individual performance aspects
340
- */
341
- rateResponseTime(avgMs) {
342
- if (avgMs < 200)
343
- return 'excellent';
344
- if (avgMs < 500)
345
- return 'good';
346
- if (avgMs < 1000)
347
- return 'fair';
348
- if (avgMs < 2000)
349
- return 'slow';
350
- return 'very_slow';
351
- }
352
- rateSuccessRate(percent) {
353
- if (percent >= 99)
354
- return 'excellent';
355
- if (percent >= 95)
356
- return 'good';
357
- if (percent >= 90)
358
- return 'fair';
359
- if (percent >= 80)
360
- return 'poor';
361
- return 'critical';
362
- }
363
- rateThroughput(requestsPerMin) {
364
- if (requestsPerMin > 30)
365
- return 'high';
366
- if (requestsPerMin > 15)
367
- return 'moderate';
368
- if (requestsPerMin > 5)
369
- return 'low';
370
- return 'very_low';
371
- }
372
- rateRateLimitUtilization(percent) {
373
- if (percent < 50)
374
- return 'optimal';
375
- if (percent < 70)
376
- return 'moderate';
377
- if (percent < 85)
378
- return 'high';
379
- if (percent < 95)
380
- return 'near_limit';
381
- return 'critical';
382
- }
383
- /**
384
- * Generate performance-specific recommendations
385
- */
386
- generatePerformanceRecommendations(metrics) {
387
- const recommendations = [];
388
- if (metrics.avg_response_time_ms > 1000) {
389
- recommendations.push('High response times detected - check network connectivity and Trello API status');
390
- }
391
- if (metrics.success_rate_percent < 95) {
392
- recommendations.push('Low success rate - investigate error patterns and implement retry logic');
393
- }
394
- if (metrics.rate_limit_utilization_percent > 80) {
395
- recommendations.push('High rate limit utilization - consider implementing request caching or batching');
396
- }
397
- if (metrics.requests_per_minute < 1) {
398
- recommendations.push('Very low API usage - ensure the MCP server is being actively used');
399
- }
400
- if (recommendations.length === 0) {
401
- recommendations.push('Performance is excellent - maintain current usage patterns');
402
- }
403
- return recommendations;
404
- }
405
- /**
406
- * Attempt to repair common system issues
407
- */
408
- async attemptSystemRepair(healthReport) {
409
- const result = {
410
- attempted: true,
411
- success: false,
412
- actions_taken: [],
413
- message: '',
414
- };
415
- try {
416
- // Check for repairable issues
417
- const boardCheck = healthReport.checks.find(c => c.name === 'board_access');
418
- if (boardCheck?.status === HealthStatus.DEGRADED &&
419
- boardCheck.message.includes('No active board configured')) {
420
- // Attempt to set first available board as active
421
- const boards = await this.trelloClient.listBoards();
422
- const openBoards = boards.filter(b => !b.closed);
423
- if (openBoards.length > 0) {
424
- await this.trelloClient.setActiveBoard(openBoards[0].id);
425
- result.actions_taken.push(`Set active board to "${openBoards[0].name}"`);
426
- }
427
- }
428
- // Add more repair logic here as needed
429
- result.success = result.actions_taken.length > 0;
430
- result.message = result.success
431
- ? 'System repair completed successfully'
432
- : 'No repairable issues found';
433
- }
434
- catch (error) {
435
- result.success = false;
436
- result.message = `Repair failed: ${error instanceof Error ? error.message : 'Unknown error'}`;
437
- }
438
- return result;
439
- }
440
- /**
441
- * Create standardized error response
442
- */
443
- createErrorResponse(message, error) {
444
- const errorMessage = error instanceof Error ? error.message : 'Unknown error';
445
- return {
446
- content: [
447
- {
448
- type: 'text',
449
- text: JSON.stringify({
450
- error: message,
451
- details: errorMessage,
452
- timestamp: new Date().toISOString(),
453
- status: HealthStatus.CRITICAL,
454
- }, null, 2),
455
- },
456
- ],
457
- isError: true,
458
- };
459
- }
460
- }
461
- /**
462
- * Zod schemas for health endpoint validation
463
- */
464
- export const HealthEndpointSchemas = {
465
- basicHealth: {
466
- title: 'Get Basic Health',
467
- description: 'Get quick system health status for monitoring and load balancing',
468
- inputSchema: {},
469
- },
470
- detailedHealth: {
471
- title: 'Get Detailed Health',
472
- description: 'Get comprehensive system health diagnostic with all subsystem checks',
473
- inputSchema: {},
474
- },
475
- metadataHealth: {
476
- title: 'Get Metadata Health',
477
- description: 'Verify metadata consistency between boards, lists, cards, and checklists',
478
- inputSchema: {},
479
- },
480
- performanceHealth: {
481
- title: 'Get Performance Health',
482
- description: 'Get detailed performance metrics and analysis',
483
- inputSchema: {},
484
- },
485
- repair: {
486
- title: 'Perform System Repair',
487
- description: 'Attempt to automatically repair common system issues',
488
- inputSchema: {},
489
- },
490
- };
491
- //# sourceMappingURL=health-endpoints.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"health-endpoints.js","sourceRoot":"","sources":["../../src/health/health-endpoints.ts"],"names":[],"mappings":"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"}
@@ -1,136 +0,0 @@
1
- import { TrelloClient } from '../trello-client.js';
2
- /**
3
- * Health status levels for our magnificent Trello organism
4
- */
5
- export declare enum HealthStatus {
6
- HEALTHY = "healthy",
7
- DEGRADED = "degraded",
8
- CRITICAL = "critical",
9
- UNKNOWN = "unknown"
10
- }
11
- /**
12
- * Individual health check result
13
- */
14
- export interface HealthCheck {
15
- name: string;
16
- status: HealthStatus;
17
- message: string;
18
- duration_ms: number;
19
- timestamp: string;
20
- metadata?: Record<string, any>;
21
- }
22
- /**
23
- * Complete system health report
24
- */
25
- export interface SystemHealthReport {
26
- overall_status: HealthStatus;
27
- timestamp: string;
28
- checks: HealthCheck[];
29
- recommendations: string[];
30
- repair_available: boolean;
31
- uptime_ms: number;
32
- performance_metrics: {
33
- avg_response_time_ms: number;
34
- success_rate_percent: number;
35
- rate_limit_utilization_percent: number;
36
- requests_per_minute: number;
37
- };
38
- }
39
- /**
40
- * The magnificent HEALTH MONITORING system for our Trello MCP organism!
41
- *
42
- * This class performs comprehensive cardiovascular diagnostics to ensure
43
- * our digital creature remains healthy and happy. It's like having a
44
- * personal physician for your API! 🩺
45
- *
46
- * Features include:
47
- * - Real-time health status monitoring
48
- * - Performance metrics tracking
49
- * - Rate limit utilization analysis
50
- * - Automatic repair recommendations
51
- * - Detailed diagnostic reporting
52
- */
53
- export declare class TrelloHealthMonitor {
54
- private performanceTracker;
55
- private lastHealthCheck?;
56
- private readonly trelloClient;
57
- private rateLimiter;
58
- constructor(trelloClient: TrelloClient);
59
- /**
60
- * Get comprehensive system health status
61
- * This is the main cardiovascular examination! 🫀
62
- */
63
- getSystemHealth(detailed?: boolean): Promise<SystemHealthReport>;
64
- /**
65
- * Check basic Trello API connectivity
66
- */
67
- private checkTrelloApiConnectivity;
68
- /**
69
- * Check if we can access the active board
70
- */
71
- private checkBoardAccess;
72
- /**
73
- * Check rate limiter health and utilization
74
- */
75
- private checkRateLimitHealth;
76
- /**
77
- * Check performance metrics health
78
- */
79
- private checkPerformanceMetrics;
80
- /**
81
- * Check list operations (detailed check)
82
- */
83
- private checkListOperations;
84
- /**
85
- * Check card operations (detailed check)
86
- */
87
- private checkCardOperations;
88
- /**
89
- * Check checklist operations (detailed check)
90
- */
91
- private checkChecklistOperations;
92
- /**
93
- * Check workspace access (detailed check)
94
- */
95
- private checkWorkspaceAccess;
96
- /**
97
- * Calculate overall system health status
98
- */
99
- private calculateOverallStatus;
100
- /**
101
- * Generate health-based recommendations
102
- */
103
- private generateRecommendations;
104
- /**
105
- * Check if repair functionality is available
106
- */
107
- private isRepairAvailable;
108
- /**
109
- * Create a standardized error check result
110
- */
111
- private createErrorCheck;
112
- /**
113
- * Record performance metrics for tracking
114
- */
115
- private recordPerformanceMetric;
116
- /**
117
- * Calculate comprehensive performance metrics
118
- */
119
- private calculatePerformanceMetrics;
120
- /**
121
- * Calculate rate limit utilization (approximation)
122
- */
123
- private calculateRateLimitUtilization;
124
- /**
125
- * Categorize response times for reporting
126
- */
127
- private categorizeResponseTime;
128
- /**
129
- * Start background performance monitoring
130
- */
131
- private startPerformanceMonitoring;
132
- /**
133
- * Get the last health check result
134
- */
135
- getLastHealthCheck(): SystemHealthReport | undefined;
136
- }