@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.
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "@delorenj/mcp-server-trello",
3
3
  "mcpName": "io.github.delorenj/mcp-server-trello",
4
- "version": "1.6.1",
4
+ "version": "1.7.0",
5
5
  "description": "An MCP server for Trello boards, powered by Bun for maximum performance.",
6
6
  "keywords": [
7
7
  "mcp",
@@ -24,29 +24,29 @@
24
24
  },
25
25
  "homepage": "https://github.com/delorenj/mcp-server-trello#readme",
26
26
  "dependencies": {
27
- "@modelcontextprotocol/sdk": "^1.0.4",
28
- "axios": "^1.6.2",
29
- "form-data": "^4.0.4",
27
+ "@modelcontextprotocol/sdk": "^1.24.3",
28
+ "axios": "^1.13.2",
29
+ "form-data": "^4.0.5",
30
30
  "mcp-evals": "^1.0.18",
31
- "zod": "^3.22.4"
31
+ "zod": "^3.25.76"
32
32
  },
33
33
  "devDependencies": {
34
- "@ai-sdk/openai": "^1.3.23",
34
+ "@ai-sdk/openai": "^1.3.24",
35
35
  "bun-types": "latest",
36
- "@typescript-eslint/eslint-plugin": "^6.12.0",
37
- "@typescript-eslint/parser": "^6.12.0",
38
- "eslint": "^8.54.0",
39
- "eslint-config-prettier": "^9.0.0",
40
- "eslint-plugin-prettier": "^5.0.1",
41
- "prettier": "^3.1.0",
42
- "terser": "^5.24.0",
43
- "typescript": "^5.3.2"
36
+ "@typescript-eslint/eslint-plugin": "^6.21.0",
37
+ "@typescript-eslint/parser": "^6.21.0",
38
+ "eslint": "^8.57.1",
39
+ "eslint-config-prettier": "^9.1.2",
40
+ "eslint-plugin-prettier": "^5.5.4",
41
+ "prettier": "^3.7.4",
42
+ "terser": "^5.44.1",
43
+ "typescript": "^5.9.3"
44
44
  },
45
45
  "files": [
46
46
  "build/**/*"
47
47
  ],
48
48
  "bin": {
49
- "mcp-server-trello": "./build/index.js"
49
+ "mcp-server-trello": "build/index.js"
50
50
  },
51
51
  "type": "module",
52
52
  "engines": {
@@ -56,6 +56,14 @@
56
56
  "access": "public"
57
57
  },
58
58
  "scripts": {
59
- "build": "bunx tsc"
59
+ "build": "bun build src/index.ts --outdir ./build --target node --format esm",
60
+ "build:types": "tsc --emitDeclarationOnly || echo 'Warning: Type declarations generation failed, but build succeeded'",
61
+ "build:prod": "npm run build",
62
+ "dev": "bun --watch src/index.ts",
63
+ "versionbump": "bun ./scripts/versionbump.js",
64
+ "versionbump:patch": "bun run versionbump --patch",
65
+ "versionbump:minor": "bun run versionbump --minor",
66
+ "versionbump:major": "bun run versionbump --major",
67
+ "publish": "bun run build && npm publish"
60
68
  }
61
69
  }
@@ -1,5 +0,0 @@
1
- import { EvalConfig } from 'mcp-evals';
2
- import { EvalFunction } from 'mcp-evals';
3
- declare const config: EvalConfig;
4
- export default config;
5
- export declare const evals: EvalFunction[];
@@ -1,72 +0,0 @@
1
- //evals.ts
2
- import { openai } from '@ai-sdk/openai';
3
- import { grade } from 'mcp-evals';
4
- const get_cards_by_list_idEval = {
5
- name: 'get_cards_by_list_id Tool Evaluation',
6
- description: 'Evaluates the get_cards_by_list_id tool functionality',
7
- run: async () => {
8
- const result = await grade(openai('gpt-4'), 'Can you fetch all cards from the Trello list with ID abc123?');
9
- return JSON.parse(result);
10
- },
11
- };
12
- const get_listsEval = {
13
- name: 'get_lists Tool Evaluation',
14
- description: 'Evaluates the get_lists tool by retrieving all lists from a specified board',
15
- run: async () => {
16
- const result = await grade(openai('gpt-4'), 'Please retrieve all lists from the board with ID 12345 and provide their names.');
17
- return JSON.parse(result);
18
- },
19
- };
20
- const get_recent_activityEvalFunction = {
21
- name: 'get_recent_activity Tool Evaluation',
22
- description: 'Evaluates the ability to fetch recent activity on the Trello board',
23
- run: async () => {
24
- const result = await grade(openai('gpt-4'), 'Fetch the recent activity on the Trello board, limit it to 5 items');
25
- return JSON.parse(result);
26
- },
27
- };
28
- const add_card_to_listEval = {
29
- name: 'add_card_to_listEval',
30
- description: 'Evaluates the add_card_to_list tool',
31
- run: async () => {
32
- const result = await grade(openai('gpt-4'), "Please add a new card named 'Demo Card' to the list with ID 'abc123', with a description of 'This is a test card', due date '2023-12-31T12:00:00Z', start date '2025-08-05', and a label 'priority'.");
33
- return JSON.parse(result);
34
- },
35
- };
36
- const update_card_detailsEval = {
37
- name: 'update_card_details Evaluation',
38
- description: 'Evaluates the update_card_details tool functionality',
39
- run: async () => {
40
- const result = await grade(openai('gpt-4'), "Please update the card with ID 'abc123' to have the name 'Updated Card Name', the description 'New description for the card', a due date of '2024-01-01T10:00:00Z', start date '2025-08-05', and labels ['priority','review'].");
41
- return JSON.parse(result);
42
- },
43
- };
44
- const mark_card_completeEval = {
45
- name: 'mark_card_complete Evaluation',
46
- description: 'Evaluates the ability to mark a card as complete using dueComplete',
47
- run: async () => {
48
- const result = await grade(openai('gpt-4'), "Please mark the card with ID 'xyz789' as complete by setting dueComplete to true.");
49
- return JSON.parse(result);
50
- },
51
- };
52
- const config = {
53
- model: openai('gpt-4'),
54
- evals: [
55
- get_cards_by_list_idEval,
56
- get_listsEval,
57
- get_recent_activityEvalFunction,
58
- add_card_to_listEval,
59
- update_card_detailsEval,
60
- mark_card_completeEval,
61
- ],
62
- };
63
- export default config;
64
- export const evals = [
65
- get_cards_by_list_idEval,
66
- get_listsEval,
67
- get_recent_activityEvalFunction,
68
- add_card_to_listEval,
69
- update_card_detailsEval,
70
- mark_card_completeEval,
71
- ];
72
- //# sourceMappingURL=evals.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"evals.js","sourceRoot":"","sources":["../../src/evals/evals.ts"],"names":[],"mappings":"AAAA,UAAU;AAGV,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAgB,MAAM,WAAW,CAAC;AAEhD,MAAM,wBAAwB,GAAiB;IAC7C,IAAI,EAAE,sCAAsC;IAC5C,WAAW,EAAE,uDAAuD;IACpE,GAAG,EAAE,KAAK,IAAI,EAAE;QACd,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,MAAM,CAAC,OAAO,CAAC,EACf,8DAA8D,CAC/D,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF,CAAC;AAEF,MAAM,aAAa,GAAiB;IAClC,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,6EAA6E;IAC1F,GAAG,EAAE,KAAK,IAAI,EAAE;QACd,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,MAAM,CAAC,OAAO,CAAC,EACf,iFAAiF,CAClF,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF,CAAC;AAEF,MAAM,+BAA+B,GAAiB;IACpD,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EAAE,oEAAoE;IACjF,GAAG,EAAE,KAAK,IAAI,EAAE;QACd,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,MAAM,CAAC,OAAO,CAAC,EACf,oEAAoE,CACrE,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF,CAAC;AAEF,MAAM,oBAAoB,GAAiB;IACzC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,qCAAqC;IAClD,GAAG,EAAE,KAAK,IAAI,EAAE;QACd,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,MAAM,CAAC,OAAO,CAAC,EACf,sMAAsM,CACvM,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF,CAAC;AAEF,MAAM,uBAAuB,GAAiB;IAC5C,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,sDAAsD;IACnE,GAAG,EAAE,KAAK,IAAI,EAAE;QACd,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,MAAM,CAAC,OAAO,CAAC,EACf,gOAAgO,CACjO,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF,CAAC;AAEF,MAAM,sBAAsB,GAAiB;IAC3C,IAAI,EAAE,+BAA+B;IACrC,WAAW,EAAE,oEAAoE;IACjF,GAAG,EAAE,KAAK,IAAI,EAAE;QACd,MAAM,MAAM,GAAG,MAAM,KAAK,CACxB,MAAM,CAAC,OAAO,CAAC,EACf,mFAAmF,CACpF,CAAC;QACF,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC5B,CAAC;CACF,CAAC;AAEF,MAAM,MAAM,GAAe;IACzB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtB,KAAK,EAAE;QACL,wBAAwB;QACxB,aAAa;QACb,+BAA+B;QAC/B,oBAAoB;QACpB,uBAAuB;QACvB,sBAAsB;KACvB;CACF,CAAC;AAEF,eAAe,MAAM,CAAC;AAEtB,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,wBAAwB;IACxB,aAAa;IACb,+BAA+B;IAC/B,oBAAoB;IACpB,uBAAuB;IACvB,sBAAsB;CACvB,CAAC"}
@@ -1,131 +0,0 @@
1
- import { TrelloClient } from '../trello-client.js';
2
- /**
3
- * Health endpoint result structure for MCP tools
4
- */
5
- interface HealthEndpointResult {
6
- [x: string]: unknown;
7
- content: Array<{
8
- type: 'text';
9
- text: string;
10
- }>;
11
- isError?: boolean;
12
- }
13
- /**
14
- * THE MAGNIFICENT HEALTH ENDPOINTS COLLECTION! 🏥
15
- *
16
- * This class provides all the cardiovascular monitoring APIs that keep
17
- * our Trello MCP organism in peak condition. It's like having a team of
18
- * world-class physicians monitoring your API 24/7!
19
- *
20
- * Available endpoints:
21
- * - /health - Quick health check
22
- * - /health/detailed - Comprehensive diagnostic report
23
- * - /health/metadata - Metadata consistency verification
24
- * - /health/performance - Performance metrics analysis
25
- * - /admin/repair - Automated repair capabilities (when available)
26
- */
27
- export declare class TrelloHealthEndpoints {
28
- private healthMonitor;
29
- private trelloClient;
30
- constructor(trelloClient: TrelloClient);
31
- /**
32
- * GET /health
33
- * Quick health status check - the digital pulse check!
34
- * Perfect for load balancers and monitoring systems.
35
- */
36
- getBasicHealth(): Promise<HealthEndpointResult>;
37
- /**
38
- * GET /health/detailed
39
- * Comprehensive health diagnostic - the full medical examination!
40
- * Includes all subsystem checks, performance metrics, and recommendations.
41
- */
42
- getDetailedHealth(): Promise<HealthEndpointResult>;
43
- /**
44
- * GET /health/metadata
45
- * Metadata consistency verification - the data integrity scanner!
46
- * Checks for consistency between boards, lists, cards, and checklists.
47
- */
48
- getMetadataHealth(): Promise<HealthEndpointResult>;
49
- /**
50
- * GET /health/performance
51
- * Performance metrics analysis - the cardiovascular stress test!
52
- * Deep dive into response times, throughput, and system efficiency.
53
- */
54
- getPerformanceHealth(): Promise<HealthEndpointResult>;
55
- /**
56
- * POST /admin/repair
57
- * Automated system repair - the digital emergency room!
58
- * Attempts to automatically fix common issues when possible.
59
- */
60
- performRepair(): Promise<HealthEndpointResult>;
61
- /**
62
- * Perform comprehensive metadata consistency check
63
- */
64
- private performMetadataConsistencyCheck;
65
- /**
66
- * Generate metadata-specific recommendations
67
- */
68
- private generateMetadataRecommendations;
69
- /**
70
- * Analyze performance metrics in detail
71
- */
72
- private analyzePerformanceMetrics;
73
- /**
74
- * Calculate overall performance grade
75
- */
76
- private calculatePerformanceGrade;
77
- /**
78
- * Get performance status based on grade
79
- */
80
- private getPerformanceStatus;
81
- /**
82
- * Rate individual performance aspects
83
- */
84
- private rateResponseTime;
85
- private rateSuccessRate;
86
- private rateThroughput;
87
- private rateRateLimitUtilization;
88
- /**
89
- * Generate performance-specific recommendations
90
- */
91
- private generatePerformanceRecommendations;
92
- /**
93
- * Attempt to repair common system issues
94
- */
95
- private attemptSystemRepair;
96
- /**
97
- * Create standardized error response
98
- */
99
- private createErrorResponse;
100
- }
101
- /**
102
- * Zod schemas for health endpoint validation
103
- */
104
- export declare const HealthEndpointSchemas: {
105
- basicHealth: {
106
- title: string;
107
- description: string;
108
- inputSchema: {};
109
- };
110
- detailedHealth: {
111
- title: string;
112
- description: string;
113
- inputSchema: {};
114
- };
115
- metadataHealth: {
116
- title: string;
117
- description: string;
118
- inputSchema: {};
119
- };
120
- performanceHealth: {
121
- title: string;
122
- description: string;
123
- inputSchema: {};
124
- };
125
- repair: {
126
- title: string;
127
- description: string;
128
- inputSchema: {};
129
- };
130
- };
131
- export {};