@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/build/index.js +42106 -773
- package/package.json +24 -16
- package/build/evals/evals.d.ts +0 -5
- package/build/evals/evals.js +0 -72
- package/build/evals/evals.js.map +0 -1
- package/build/health/health-endpoints.d.ts +0 -131
- package/build/health/health-endpoints.js +0 -491
- package/build/health/health-endpoints.js.map +0 -1
- package/build/health/health-monitor.d.ts +0 -136
- package/build/health/health-monitor.js +0 -510
- package/build/health/health-monitor.js.map +0 -1
- package/build/index.d.ts +0 -2
- package/build/index.js.map +0 -1
- package/build/rate-limiter.d.ts +0 -32
- package/build/rate-limiter.js +0 -73
- package/build/rate-limiter.js.map +0 -1
- package/build/trello-client.d.ts +0 -105
- package/build/trello-client.js +0 -699
- package/build/trello-client.js.map +0 -1
- package/build/types.d.ts +0 -224
- package/build/types.js +0 -2
- package/build/types.js.map +0 -1
- package/build/validators.d.ts +0 -75
- package/build/validators.js +0 -192
- package/build/validators.js.map +0 -1
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.
|
|
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.
|
|
28
|
-
"axios": "^1.
|
|
29
|
-
"form-data": "^4.0.
|
|
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.
|
|
31
|
+
"zod": "^3.25.76"
|
|
32
32
|
},
|
|
33
33
|
"devDependencies": {
|
|
34
|
-
"@ai-sdk/openai": "^1.3.
|
|
34
|
+
"@ai-sdk/openai": "^1.3.24",
|
|
35
35
|
"bun-types": "latest",
|
|
36
|
-
"@typescript-eslint/eslint-plugin": "^6.
|
|
37
|
-
"@typescript-eslint/parser": "^6.
|
|
38
|
-
"eslint": "^8.
|
|
39
|
-
"eslint-config-prettier": "^9.
|
|
40
|
-
"eslint-plugin-prettier": "^5.
|
|
41
|
-
"prettier": "^3.
|
|
42
|
-
"terser": "^5.
|
|
43
|
-
"typescript": "^5.3
|
|
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": "
|
|
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": "
|
|
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
|
}
|
package/build/evals/evals.d.ts
DELETED
package/build/evals/evals.js
DELETED
|
@@ -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
|
package/build/evals/evals.js.map
DELETED
|
@@ -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 {};
|