@delorenj/mcp-server-trello 0.3.0 → 1.0.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/README.md +192 -40
- package/build/index.js +1 -500
- package/build/index.js.map +1 -1
- package/build/rate-limiter.js +1 -1
- package/build/rate-limiter.js.map +1 -1
- package/build/trello-client.d.ts +12 -11
- package/build/trello-client.js +48 -21
- package/build/trello-client.js.map +1 -1
- package/build/types.d.ts +2 -1
- package/build/validators.d.ts +12 -0
- package/build/validators.js +14 -1
- package/build/validators.js.map +1 -1
- package/package.json +5 -2
package/build/trello-client.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ export declare class TrelloClient {
|
|
|
3
3
|
private config;
|
|
4
4
|
private axiosInstance;
|
|
5
5
|
private rateLimiter;
|
|
6
|
+
private defaultBoardId?;
|
|
6
7
|
private activeConfig;
|
|
7
8
|
constructor(config: TrelloConfig);
|
|
8
9
|
/**
|
|
@@ -16,7 +17,7 @@ export declare class TrelloClient {
|
|
|
16
17
|
/**
|
|
17
18
|
* Get the current active board ID
|
|
18
19
|
*/
|
|
19
|
-
get activeBoardId(): string;
|
|
20
|
+
get activeBoardId(): string | undefined;
|
|
20
21
|
/**
|
|
21
22
|
* Get the current active workspace ID
|
|
22
23
|
*/
|
|
@@ -50,27 +51,27 @@ export declare class TrelloClient {
|
|
|
50
51
|
* List boards in a specific workspace
|
|
51
52
|
*/
|
|
52
53
|
listBoardsInWorkspace(workspaceId: string): Promise<TrelloBoard[]>;
|
|
53
|
-
getCardsByList(listId: string): Promise<TrelloCard[]>;
|
|
54
|
-
getLists(): Promise<TrelloList[]>;
|
|
55
|
-
getRecentActivity(limit?: number): Promise<TrelloAction[]>;
|
|
56
|
-
addCard(params: {
|
|
54
|
+
getCardsByList(boardId: string | undefined, listId: string): Promise<TrelloCard[]>;
|
|
55
|
+
getLists(boardId?: string): Promise<TrelloList[]>;
|
|
56
|
+
getRecentActivity(boardId?: string, limit?: number): Promise<TrelloAction[]>;
|
|
57
|
+
addCard(boardId: string | undefined, params: {
|
|
57
58
|
listId: string;
|
|
58
59
|
name: string;
|
|
59
60
|
description?: string;
|
|
60
61
|
dueDate?: string;
|
|
61
62
|
labels?: string[];
|
|
62
63
|
}): Promise<TrelloCard>;
|
|
63
|
-
updateCard(params: {
|
|
64
|
+
updateCard(boardId: string | undefined, params: {
|
|
64
65
|
cardId: string;
|
|
65
66
|
name?: string;
|
|
66
67
|
description?: string;
|
|
67
68
|
dueDate?: string;
|
|
68
69
|
labels?: string[];
|
|
69
70
|
}): Promise<TrelloCard>;
|
|
70
|
-
archiveCard(cardId: string): Promise<TrelloCard>;
|
|
71
|
-
moveCard(cardId: string, listId: string): Promise<TrelloCard>;
|
|
72
|
-
addList(name: string): Promise<TrelloList>;
|
|
73
|
-
archiveList(listId: string): Promise<TrelloList>;
|
|
71
|
+
archiveCard(boardId: string | undefined, cardId: string): Promise<TrelloCard>;
|
|
72
|
+
moveCard(boardId: string | undefined, cardId: string, listId: string): Promise<TrelloCard>;
|
|
73
|
+
addList(boardId: string | undefined, name: string): Promise<TrelloList>;
|
|
74
|
+
archiveList(boardId: string | undefined, listId: string): Promise<TrelloList>;
|
|
74
75
|
getMyCards(): Promise<TrelloCard[]>;
|
|
75
|
-
attachImageToCard(cardId: string, imageUrl: string, name?: string): Promise<TrelloAttachment>;
|
|
76
|
+
attachImageToCard(boardId: string | undefined, cardId: string, imageUrl: string, name?: string): Promise<TrelloAttachment>;
|
|
76
77
|
}
|
package/build/trello-client.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import axios from 'axios';
|
|
2
2
|
import { createTrelloRateLimiters } from './rate-limiter.js';
|
|
3
|
+
import { McpError, ErrorCode } from '@modelcontextprotocol/sdk/types.js';
|
|
3
4
|
import * as fs from 'fs/promises';
|
|
4
5
|
import * as path from 'path';
|
|
5
6
|
// Path for storing active board/workspace configuration
|
|
@@ -8,7 +9,16 @@ const CONFIG_FILE = path.join(CONFIG_DIR, 'config.json');
|
|
|
8
9
|
export class TrelloClient {
|
|
9
10
|
constructor(config) {
|
|
10
11
|
this.config = config;
|
|
12
|
+
this.defaultBoardId = config.defaultBoardId;
|
|
11
13
|
this.activeConfig = { ...config };
|
|
14
|
+
// If boardId is provided in config, use it as the active board
|
|
15
|
+
if (config.boardId && !this.activeConfig.boardId) {
|
|
16
|
+
this.activeConfig.boardId = config.boardId;
|
|
17
|
+
}
|
|
18
|
+
// If defaultBoardId is provided but boardId is not, use defaultBoardId
|
|
19
|
+
if (this.defaultBoardId && !this.activeConfig.boardId) {
|
|
20
|
+
this.activeConfig.boardId = this.defaultBoardId;
|
|
21
|
+
}
|
|
12
22
|
this.axiosInstance = axios.create({
|
|
13
23
|
baseURL: 'https://api.trello.com/1',
|
|
14
24
|
params: {
|
|
@@ -38,7 +48,6 @@ export class TrelloClient {
|
|
|
38
48
|
if (savedConfig.workspaceId) {
|
|
39
49
|
this.activeConfig.workspaceId = savedConfig.workspaceId;
|
|
40
50
|
}
|
|
41
|
-
console.log(`Loaded configuration: Board ID ${this.activeConfig.boardId}, Workspace ID ${this.activeConfig.workspaceId || 'not set'}`);
|
|
42
51
|
}
|
|
43
52
|
catch (error) {
|
|
44
53
|
// File might not exist yet, that's okay
|
|
@@ -60,7 +69,7 @@ export class TrelloClient {
|
|
|
60
69
|
await fs.writeFile(CONFIG_FILE, JSON.stringify(configToSave, null, 2));
|
|
61
70
|
}
|
|
62
71
|
catch (error) {
|
|
63
|
-
|
|
72
|
+
// Failed to save configuration
|
|
64
73
|
throw new Error('Failed to save configuration');
|
|
65
74
|
}
|
|
66
75
|
}
|
|
@@ -96,20 +105,25 @@ export class TrelloClient {
|
|
|
96
105
|
await this.saveConfig();
|
|
97
106
|
return workspace;
|
|
98
107
|
}
|
|
99
|
-
async handleRequest(
|
|
108
|
+
async handleRequest(requestFn) {
|
|
100
109
|
try {
|
|
101
|
-
return await
|
|
110
|
+
return await requestFn();
|
|
102
111
|
}
|
|
103
112
|
catch (error) {
|
|
104
113
|
if (axios.isAxiosError(error)) {
|
|
105
114
|
if (error.response?.status === 429) {
|
|
106
115
|
// Rate limit exceeded, wait and retry
|
|
107
116
|
await new Promise(resolve => setTimeout(resolve, 1000));
|
|
108
|
-
return this.handleRequest(
|
|
117
|
+
return this.handleRequest(requestFn);
|
|
109
118
|
}
|
|
110
|
-
|
|
119
|
+
// Trello API Error
|
|
120
|
+
// Customize error handling based on Trello's error structure if needed
|
|
121
|
+
throw new McpError(ErrorCode.InternalError, `Trello API Error: ${error.response?.status} ${error.message}`, error.response?.data);
|
|
122
|
+
}
|
|
123
|
+
else {
|
|
124
|
+
// Unexpected Error
|
|
125
|
+
throw new McpError(ErrorCode.InternalError, 'An unexpected error occurred');
|
|
111
126
|
}
|
|
112
|
-
throw error;
|
|
113
127
|
}
|
|
114
128
|
}
|
|
115
129
|
/**
|
|
@@ -157,27 +171,35 @@ export class TrelloClient {
|
|
|
157
171
|
return response.data;
|
|
158
172
|
});
|
|
159
173
|
}
|
|
160
|
-
async getCardsByList(listId) {
|
|
174
|
+
async getCardsByList(boardId, listId) {
|
|
161
175
|
return this.handleRequest(async () => {
|
|
162
176
|
const response = await this.axiosInstance.get(`/lists/${listId}/cards`);
|
|
163
177
|
return response.data;
|
|
164
178
|
});
|
|
165
179
|
}
|
|
166
|
-
async getLists() {
|
|
180
|
+
async getLists(boardId) {
|
|
181
|
+
const effectiveBoardId = boardId || this.activeConfig.boardId || this.defaultBoardId;
|
|
182
|
+
if (!effectiveBoardId) {
|
|
183
|
+
throw new McpError(ErrorCode.InvalidParams, 'boardId is required when no default board is configured');
|
|
184
|
+
}
|
|
167
185
|
return this.handleRequest(async () => {
|
|
168
|
-
const response = await this.axiosInstance.get(`/boards/${
|
|
186
|
+
const response = await this.axiosInstance.get(`/boards/${effectiveBoardId}/lists`);
|
|
169
187
|
return response.data;
|
|
170
188
|
});
|
|
171
189
|
}
|
|
172
|
-
async getRecentActivity(limit = 10) {
|
|
190
|
+
async getRecentActivity(boardId, limit = 10) {
|
|
191
|
+
const effectiveBoardId = boardId || this.activeConfig.boardId || this.defaultBoardId;
|
|
192
|
+
if (!effectiveBoardId) {
|
|
193
|
+
throw new McpError(ErrorCode.InvalidParams, 'boardId is required when no default board is configured');
|
|
194
|
+
}
|
|
173
195
|
return this.handleRequest(async () => {
|
|
174
|
-
const response = await this.axiosInstance.get(`/boards/${
|
|
196
|
+
const response = await this.axiosInstance.get(`/boards/${effectiveBoardId}/actions`, {
|
|
175
197
|
params: { limit },
|
|
176
198
|
});
|
|
177
199
|
return response.data;
|
|
178
200
|
});
|
|
179
201
|
}
|
|
180
|
-
async addCard(params) {
|
|
202
|
+
async addCard(boardId, params) {
|
|
181
203
|
return this.handleRequest(async () => {
|
|
182
204
|
const response = await this.axiosInstance.post('/cards', {
|
|
183
205
|
idList: params.listId,
|
|
@@ -189,7 +211,7 @@ export class TrelloClient {
|
|
|
189
211
|
return response.data;
|
|
190
212
|
});
|
|
191
213
|
}
|
|
192
|
-
async updateCard(params) {
|
|
214
|
+
async updateCard(boardId, params) {
|
|
193
215
|
return this.handleRequest(async () => {
|
|
194
216
|
const response = await this.axiosInstance.put(`/cards/${params.cardId}`, {
|
|
195
217
|
name: params.name,
|
|
@@ -200,7 +222,7 @@ export class TrelloClient {
|
|
|
200
222
|
return response.data;
|
|
201
223
|
});
|
|
202
224
|
}
|
|
203
|
-
async archiveCard(cardId) {
|
|
225
|
+
async archiveCard(boardId, cardId) {
|
|
204
226
|
return this.handleRequest(async () => {
|
|
205
227
|
const response = await this.axiosInstance.put(`/cards/${cardId}`, {
|
|
206
228
|
closed: true,
|
|
@@ -208,24 +230,30 @@ export class TrelloClient {
|
|
|
208
230
|
return response.data;
|
|
209
231
|
});
|
|
210
232
|
}
|
|
211
|
-
async moveCard(cardId, listId) {
|
|
233
|
+
async moveCard(boardId, cardId, listId) {
|
|
234
|
+
const effectiveBoardId = boardId || this.defaultBoardId;
|
|
212
235
|
return this.handleRequest(async () => {
|
|
213
236
|
const response = await this.axiosInstance.put(`/cards/${cardId}`, {
|
|
214
237
|
idList: listId,
|
|
238
|
+
...(effectiveBoardId && { idBoard: effectiveBoardId }),
|
|
215
239
|
});
|
|
216
240
|
return response.data;
|
|
217
241
|
});
|
|
218
242
|
}
|
|
219
|
-
async addList(name) {
|
|
243
|
+
async addList(boardId, name) {
|
|
244
|
+
const effectiveBoardId = boardId || this.activeConfig.boardId || this.defaultBoardId;
|
|
245
|
+
if (!effectiveBoardId) {
|
|
246
|
+
throw new McpError(ErrorCode.InvalidParams, 'boardId is required when no default board is configured');
|
|
247
|
+
}
|
|
220
248
|
return this.handleRequest(async () => {
|
|
221
249
|
const response = await this.axiosInstance.post('/lists', {
|
|
222
250
|
name,
|
|
223
|
-
idBoard:
|
|
251
|
+
idBoard: effectiveBoardId,
|
|
224
252
|
});
|
|
225
253
|
return response.data;
|
|
226
254
|
});
|
|
227
255
|
}
|
|
228
|
-
async archiveList(listId) {
|
|
256
|
+
async archiveList(boardId, listId) {
|
|
229
257
|
return this.handleRequest(async () => {
|
|
230
258
|
const response = await this.axiosInstance.put(`/lists/${listId}/closed`, {
|
|
231
259
|
value: true,
|
|
@@ -239,9 +267,8 @@ export class TrelloClient {
|
|
|
239
267
|
return response.data;
|
|
240
268
|
});
|
|
241
269
|
}
|
|
242
|
-
async attachImageToCard(cardId, imageUrl, name) {
|
|
270
|
+
async attachImageToCard(boardId, cardId, imageUrl, name) {
|
|
243
271
|
return this.handleRequest(async () => {
|
|
244
|
-
// Attaching an image directly from URL without downloading it
|
|
245
272
|
const response = await this.axiosInstance.post(`/cards/${cardId}/attachments`, {
|
|
246
273
|
url: imageUrl,
|
|
247
274
|
name: name || 'Image Attachment',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trello-client.js","sourceRoot":"","sources":["../src/trello-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAU7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mBAAmB,CAAC;AAC7D,OAAO,KAAK,EAAE,MAAM,aAAa,CAAC;AAClC,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAE7B,wDAAwD;AACxD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,GAAG,EAAE,aAAa,CAAC,CAAC;AAChG,MAAM,WAAW,GAAG,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,aAAa,CAAC,CAAC;AAEzD,MAAM,OAAO,YAAY;
|
|
1
|
+
{"version":3,"file":"trello-client.js","sourceRoot":"","sources":["../src/trello-client.ts"],"names":[],"mappings":"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"}
|
package/build/types.d.ts
CHANGED
package/build/validators.d.ts
CHANGED
|
@@ -5,12 +5,18 @@ export declare function validateOptionalNumber(value: unknown): number | undefin
|
|
|
5
5
|
export declare function validateStringArray(value: unknown): string[];
|
|
6
6
|
export declare function validateOptionalStringArray(value: unknown): string[] | undefined;
|
|
7
7
|
export declare function validateGetCardsListRequest(args: Record<string, unknown>): {
|
|
8
|
+
boardId?: string;
|
|
8
9
|
listId: string;
|
|
9
10
|
};
|
|
11
|
+
export declare function validateGetListsRequest(args: Record<string, unknown>): {
|
|
12
|
+
boardId?: string;
|
|
13
|
+
};
|
|
10
14
|
export declare function validateGetRecentActivityRequest(args: Record<string, unknown>): {
|
|
15
|
+
boardId?: string;
|
|
11
16
|
limit?: number;
|
|
12
17
|
};
|
|
13
18
|
export declare function validateAddCardRequest(args: Record<string, unknown>): {
|
|
19
|
+
boardId?: string;
|
|
14
20
|
listId: string;
|
|
15
21
|
name: string;
|
|
16
22
|
description?: string;
|
|
@@ -18,6 +24,7 @@ export declare function validateAddCardRequest(args: Record<string, unknown>): {
|
|
|
18
24
|
labels?: string[];
|
|
19
25
|
};
|
|
20
26
|
export declare function validateUpdateCardRequest(args: Record<string, unknown>): {
|
|
27
|
+
boardId?: string;
|
|
21
28
|
cardId: string;
|
|
22
29
|
name?: string;
|
|
23
30
|
description?: string;
|
|
@@ -25,19 +32,24 @@ export declare function validateUpdateCardRequest(args: Record<string, unknown>)
|
|
|
25
32
|
labels?: string[];
|
|
26
33
|
};
|
|
27
34
|
export declare function validateArchiveCardRequest(args: Record<string, unknown>): {
|
|
35
|
+
boardId?: string;
|
|
28
36
|
cardId: string;
|
|
29
37
|
};
|
|
30
38
|
export declare function validateAddListRequest(args: Record<string, unknown>): {
|
|
39
|
+
boardId?: string;
|
|
31
40
|
name: string;
|
|
32
41
|
};
|
|
33
42
|
export declare function validateArchiveListRequest(args: Record<string, unknown>): {
|
|
43
|
+
boardId?: string;
|
|
34
44
|
listId: string;
|
|
35
45
|
};
|
|
36
46
|
export declare function validateMoveCardRequest(args: Record<string, unknown>): {
|
|
47
|
+
boardId?: string;
|
|
37
48
|
cardId: string;
|
|
38
49
|
listId: string;
|
|
39
50
|
};
|
|
40
51
|
export declare function validateAttachImageRequest(args: Record<string, unknown>): {
|
|
52
|
+
boardId?: string;
|
|
41
53
|
cardId: string;
|
|
42
54
|
imageUrl: string;
|
|
43
55
|
name?: string;
|
package/build/validators.js
CHANGED
|
@@ -37,11 +37,18 @@ export function validateGetCardsListRequest(args) {
|
|
|
37
37
|
throw new McpError(ErrorCode.InvalidParams, 'listId is required');
|
|
38
38
|
}
|
|
39
39
|
return {
|
|
40
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
40
41
|
listId: validateString(args.listId, 'listId'),
|
|
41
42
|
};
|
|
42
43
|
}
|
|
44
|
+
export function validateGetListsRequest(args) {
|
|
45
|
+
return {
|
|
46
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
43
49
|
export function validateGetRecentActivityRequest(args) {
|
|
44
50
|
return {
|
|
51
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
45
52
|
limit: validateOptionalNumber(args.limit),
|
|
46
53
|
};
|
|
47
54
|
}
|
|
@@ -50,6 +57,7 @@ export function validateAddCardRequest(args) {
|
|
|
50
57
|
throw new McpError(ErrorCode.InvalidParams, 'listId and name are required');
|
|
51
58
|
}
|
|
52
59
|
return {
|
|
60
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
53
61
|
listId: validateString(args.listId, 'listId'),
|
|
54
62
|
name: validateString(args.name, 'name'),
|
|
55
63
|
description: validateOptionalString(args.description),
|
|
@@ -62,6 +70,7 @@ export function validateUpdateCardRequest(args) {
|
|
|
62
70
|
throw new McpError(ErrorCode.InvalidParams, 'cardId is required');
|
|
63
71
|
}
|
|
64
72
|
return {
|
|
73
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
65
74
|
cardId: validateString(args.cardId, 'cardId'),
|
|
66
75
|
name: validateOptionalString(args.name),
|
|
67
76
|
description: validateOptionalString(args.description),
|
|
@@ -74,6 +83,7 @@ export function validateArchiveCardRequest(args) {
|
|
|
74
83
|
throw new McpError(ErrorCode.InvalidParams, 'cardId is required');
|
|
75
84
|
}
|
|
76
85
|
return {
|
|
86
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
77
87
|
cardId: validateString(args.cardId, 'cardId'),
|
|
78
88
|
};
|
|
79
89
|
}
|
|
@@ -82,6 +92,7 @@ export function validateAddListRequest(args) {
|
|
|
82
92
|
throw new McpError(ErrorCode.InvalidParams, 'name is required');
|
|
83
93
|
}
|
|
84
94
|
return {
|
|
95
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
85
96
|
name: validateString(args.name, 'name'),
|
|
86
97
|
};
|
|
87
98
|
}
|
|
@@ -90,6 +101,7 @@ export function validateArchiveListRequest(args) {
|
|
|
90
101
|
throw new McpError(ErrorCode.InvalidParams, 'listId is required');
|
|
91
102
|
}
|
|
92
103
|
return {
|
|
104
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
93
105
|
listId: validateString(args.listId, 'listId'),
|
|
94
106
|
};
|
|
95
107
|
}
|
|
@@ -98,6 +110,7 @@ export function validateMoveCardRequest(args) {
|
|
|
98
110
|
throw new McpError(ErrorCode.InvalidParams, 'cardId and listId are required');
|
|
99
111
|
}
|
|
100
112
|
return {
|
|
113
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
101
114
|
cardId: validateString(args.cardId, 'cardId'),
|
|
102
115
|
listId: validateString(args.listId, 'listId'),
|
|
103
116
|
};
|
|
@@ -106,7 +119,6 @@ export function validateAttachImageRequest(args) {
|
|
|
106
119
|
if (!args.cardId || !args.imageUrl) {
|
|
107
120
|
throw new McpError(ErrorCode.InvalidParams, 'cardId and imageUrl are required');
|
|
108
121
|
}
|
|
109
|
-
// Validate image URL format
|
|
110
122
|
const imageUrl = validateString(args.imageUrl, 'imageUrl');
|
|
111
123
|
try {
|
|
112
124
|
new URL(imageUrl);
|
|
@@ -115,6 +127,7 @@ export function validateAttachImageRequest(args) {
|
|
|
115
127
|
throw new McpError(ErrorCode.InvalidParams, 'imageUrl must be a valid URL');
|
|
116
128
|
}
|
|
117
129
|
return {
|
|
130
|
+
boardId: args.boardId ? validateString(args.boardId, 'boardId') : undefined,
|
|
118
131
|
cardId: validateString(args.cardId, 'cardId'),
|
|
119
132
|
imageUrl: imageUrl,
|
|
120
133
|
name: validateOptionalString(args.name),
|
package/build/validators.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,oCAAoC,CAAC;AAEzE,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,KAAa;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,KAAK,mBAAmB,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,cAAc,CAAC,KAAc,EAAE,KAAa;IAC1D,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,GAAG,KAAK,mBAAmB,CAAC,CAAC;IAC3E,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,KAAc;IACnD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,cAAc,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAc;IAChD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,QAAQ,CAAC,SAAS,CAAC,aAAa,EAAE,mCAAmC,CAAC,CAAC;IACnF,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,KAAc;IACxD,IAAI,KAAK,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC1C,OAAO,mBAAmB,CAAC,KAAK,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,IAA6B;
|
|
1
|
+
{"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@delorenj/mcp-server-trello",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "1.0.0",
|
|
4
4
|
"description": "A Model Context Protocol (MCP) server for interacting with Trello boards",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "build/index.js",
|
|
@@ -9,7 +9,8 @@
|
|
|
9
9
|
"mcp-server-trello": "./build/index.js"
|
|
10
10
|
},
|
|
11
11
|
"scripts": {
|
|
12
|
-
"build": "tsc && chmod +x build/index.js",
|
|
12
|
+
"build:dev": "tsc && chmod +x build/index.js",
|
|
13
|
+
"build": "tsc && terser build/index.js --compress drop_console=true --mangle --output build/index.js && chmod +x build/index.js",
|
|
13
14
|
"start": "node build/index.js",
|
|
14
15
|
"dev": "ts-node --esm src/index.ts",
|
|
15
16
|
"lint": "eslint . --ext .ts",
|
|
@@ -45,6 +46,7 @@
|
|
|
45
46
|
"mcp-evals": "^1.0.18"
|
|
46
47
|
},
|
|
47
48
|
"devDependencies": {
|
|
49
|
+
"@ai-sdk/openai": "^1.3.23",
|
|
48
50
|
"@types/node": "^20.10.0",
|
|
49
51
|
"@typescript-eslint/eslint-plugin": "^6.12.0",
|
|
50
52
|
"@typescript-eslint/parser": "^6.12.0",
|
|
@@ -52,6 +54,7 @@
|
|
|
52
54
|
"eslint-config-prettier": "^9.0.0",
|
|
53
55
|
"eslint-plugin-prettier": "^5.0.1",
|
|
54
56
|
"prettier": "^3.1.0",
|
|
57
|
+
"terser": "^5.24.0",
|
|
55
58
|
"ts-node": "^10.9.1",
|
|
56
59
|
"typescript": "^5.3.2"
|
|
57
60
|
},
|