@delorenj/mcp-server-trello 1.0.0 → 1.1.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 CHANGED
@@ -6,8 +6,33 @@
6
6
 
7
7
  A Model Context Protocol (MCP) server that provides tools for interacting with Trello boards. This server enables seamless integration with Trello's API while handling rate limiting, type safety, and error handling automatically.
8
8
 
9
+ ## 🎉 New in v1.1.0: Complete Card Data Extraction!
10
+
11
+ **The `get_card` tool is here!** 🚀 Now you can fetch comprehensive Trello card data with human-level parity. Get everything you see in the Trello UI - checklists, attachments, labels with details, members, comments, and more - all formatted in beautiful markdown or structured JSON!
12
+
9
13
  ## Changelog
10
14
 
15
+ ### 1.1.0
16
+
17
+ **🎊 Major Feature Release: Complete Card Data Extraction**
18
+
19
+ - Added powerful `get_card` tool for comprehensive single card data retrieval
20
+ - **Enhanced Data Extraction:**
21
+ - ✅ **Checklists** - Full checklist support with items, completion states, member assignments, and due dates
22
+ - 📎 **Attachments** - Complete attachment data including images, previews, file metadata, and inline image detection
23
+ - 🏷️ **Labels** - Full label details (names and colors, not just IDs)
24
+ - 👥 **Members** - Card member assignments with full profile information
25
+ - 💬 **Comments** - Card activity and comment history
26
+ - 📊 **Badges** - Statistics including checklist progress, comment counts, and attachment counts
27
+ - 🎨 **Cover Images** - Card cover image support
28
+ - 📍 **Context** - Board and list information for complete context
29
+ - 🔧 **Custom Fields** - Support for board-specific custom fields
30
+ - **Markdown Formatting:** New `includeMarkdown` parameter returns beautifully formatted, human-readable card data
31
+ - **Inline Image Parsing:** Automatically detects and extracts images embedded in card descriptions
32
+ - **Comprehensive API Integration:** Single API call fetches all card data efficiently using optimized query parameters
33
+ - **Type Safety:** Added new TypeScript interfaces for all enhanced data structures
34
+ - **Human Parity:** Achieves complete parity with Trello UI - see everything a human sees
35
+
11
36
  ### 1.0.0
12
37
 
13
38
  - Fixed MCP protocol compatibility by removing all console output that interfered with JSON-RPC communication
@@ -57,11 +82,13 @@ A Model Context Protocol (MCP) server that provides tools for interacting with T
57
82
  ## Features
58
83
 
59
84
  - **Full Trello Board Integration**: Interact with cards, lists, and board activities
85
+ - **🆕 Complete Card Data Extraction**: Fetch all card details including checklists, attachments, labels, members, and comments
60
86
  - **Built-in Rate Limiting**: Respects Trello's API limits (300 requests/10s per API key, 100 requests/10s per token)
61
87
  - **Type-Safe Implementation**: Written in TypeScript with comprehensive type definitions
62
88
  - **Input Validation**: Robust validation for all API inputs
63
89
  - **Error Handling**: Graceful error handling with informative messages
64
90
  - **Dynamic Board Selection**: Switch between boards and workspaces without restarting
91
+ - **Markdown Formatting**: Export card data in human-readable markdown format
65
92
 
66
93
  ## Installation
67
94
 
@@ -101,6 +128,23 @@ Or if you're using mise:
101
128
  }
102
129
  ```
103
130
 
131
+ To connect a Trello workspace, you'll need to manually retrieve a `TRELLO_TOKEN` once per workspace. After setting up your Trello Power-Up, visit the following URL:
132
+
133
+ ```
134
+ https://trello.com/1/authorize?expiration=never&name=YOUR_APP_NAME&scope=read,write&response_type=token&key=YOUR_API_KEY
135
+ ```
136
+
137
+ Replace:
138
+
139
+ * `YOUR_APP_NAME` with a name for your application (e.g., "My Trello Integration"). This name is shown to the user on the Trello authorization screen.
140
+ * `YOUR_API_KEY` with the API key for your Trello Power-Up
141
+
142
+ This will generate the token required for integration.
143
+
144
+ > [!NOTE]
145
+ > The `expiration=never` parameter creates a token that does not expire. For enhanced security, consider using `expiration=30days` and renewing the token periodically if your setup allows for it.
146
+
147
+
104
148
  #### Don't have pnpm?
105
149
 
106
150
  The simplest way to get `pnpm` (and thus `pnpx`) is through [mise](https://mise.jdx.dev/):
@@ -246,8 +290,41 @@ This allows you to work with multiple boards and workspaces without restarting t
246
290
  }
247
291
  ```
248
292
 
293
+ ## Date Format Guidelines
294
+
295
+ When working with dates in the Trello MCP server, please note the different format requirements:
296
+
297
+ - **Due Date (`dueDate`)**: Accepts full ISO 8601 format with time (e.g., `2023-12-31T12:00:00Z`)
298
+ - **Start Date (`start`)**: Accepts date only in YYYY-MM-DD format (e.g., `2025-08-05`)
299
+
300
+ This distinction follows Trello's API conventions where start dates are day-based markers while due dates can include specific times.
301
+
249
302
  ## Available Tools
250
303
 
304
+ ### get_card 🆕
305
+
306
+ Get comprehensive details of a specific Trello card with human-level parity.
307
+
308
+ ```typescript
309
+ {
310
+ name: 'get_card',
311
+ arguments: {
312
+ cardId: string, // ID of the Trello card (short ID like 'FdhbArbK' or full ID)
313
+ includeMarkdown?: boolean // Return formatted markdown instead of JSON (default: false)
314
+ }
315
+ }
316
+ ```
317
+
318
+ **Returns:** Complete card data including:
319
+ - ✅ Checklists with item states and assignments
320
+ - 📎 Attachments with previews and metadata
321
+ - 🏷️ Labels with names and colors
322
+ - 👥 Assigned members
323
+ - 💬 Comments and activity
324
+ - 📊 Statistics (badges)
325
+ - 🎨 Cover images
326
+ - 📍 Board and list context
327
+
251
328
  ### get_cards_by_list_id
252
329
 
253
330
  Fetch all cards from a specific list.
@@ -301,8 +378,9 @@ Add a new card to a specified list.
301
378
  listId: string, // ID of the list to add the card to
302
379
  name: string, // Name of the card
303
380
  description?: string, // Optional: Description of the card
304
- dueDate?: string, // Optional: Due date (ISO 8601 format)
305
- labels?: string[] // Optional: Array of label IDs
381
+ dueDate?: string, // Optional: Due date (ISO 8601 format with time)
382
+ start?: string, // Optional: Start date (YYYY-MM-DD format, date only)
383
+ labels?: string[] // Optional: Array of label IDs
306
384
  }
307
385
  }
308
386
  ```
@@ -319,8 +397,10 @@ Update an existing card's details.
319
397
  cardId: string, // ID of the card to update
320
398
  name?: string, // Optional: New name for the card
321
399
  description?: string, // Optional: New description
322
- dueDate?: string, // Optional: New due date (ISO 8601 format)
323
- labels?: string[] // Optional: New array of label IDs
400
+ dueDate?: string, // Optional: New due date (ISO 8601 format with time)
401
+ start?: string, // Optional: New start date (YYYY-MM-DD format, date only)
402
+ dueComplete?: boolean,// Optional: Mark the due date as complete (true) or incomplete (false)
403
+ labels?: string[] // Optional: New array of label IDs
324
404
  }
325
405
  }
326
406
  ```
@@ -1,5 +1,5 @@
1
1
  import { EvalConfig } from 'mcp-evals';
2
- import { EvalFunction } from "mcp-evals";
2
+ import { EvalFunction } from 'mcp-evals';
3
3
  declare const config: EvalConfig;
4
4
  export default config;
5
5
  export declare const evals: EvalFunction[];
@@ -1,50 +1,72 @@
1
1
  //evals.ts
2
- import { openai } from "@ai-sdk/openai";
3
- import { grade } from "mcp-evals";
2
+ import { openai } from '@ai-sdk/openai';
3
+ import { grade } from 'mcp-evals';
4
4
  const get_cards_by_list_idEval = {
5
5
  name: 'get_cards_by_list_id Tool Evaluation',
6
6
  description: 'Evaluates the get_cards_by_list_id tool functionality',
7
7
  run: async () => {
8
- const result = await grade(openai("gpt-4"), "Can you fetch all cards from the Trello list with ID abc123?");
8
+ const result = await grade(openai('gpt-4'), 'Can you fetch all cards from the Trello list with ID abc123?');
9
9
  return JSON.parse(result);
10
- }
10
+ },
11
11
  };
12
12
  const get_listsEval = {
13
13
  name: 'get_lists Tool Evaluation',
14
14
  description: 'Evaluates the get_lists tool by retrieving all lists from a specified board',
15
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.");
16
+ const result = await grade(openai('gpt-4'), 'Please retrieve all lists from the board with ID 12345 and provide their names.');
17
17
  return JSON.parse(result);
18
- }
18
+ },
19
19
  };
20
20
  const get_recent_activityEvalFunction = {
21
21
  name: 'get_recent_activity Tool Evaluation',
22
22
  description: 'Evaluates the ability to fetch recent activity on the Trello board',
23
23
  run: async () => {
24
- const result = await grade(openai("gpt-4"), "Fetch the recent activity on the Trello board, limit it to 5 items");
24
+ const result = await grade(openai('gpt-4'), 'Fetch the recent activity on the Trello board, limit it to 5 items');
25
25
  return JSON.parse(result);
26
- }
26
+ },
27
27
  };
28
28
  const add_card_to_listEval = {
29
29
  name: 'add_card_to_listEval',
30
30
  description: 'Evaluates the add_card_to_list tool',
31
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', and a label 'priority'.");
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
33
  return JSON.parse(result);
34
- }
34
+ },
35
35
  };
36
36
  const update_card_detailsEval = {
37
37
  name: 'update_card_details Evaluation',
38
38
  description: 'Evaluates the update_card_details tool functionality',
39
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', and labels ['priority','review'].");
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
41
  return JSON.parse(result);
42
- }
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
+ },
43
51
  };
44
52
  const config = {
45
- model: openai("gpt-4"),
46
- evals: [get_cards_by_list_idEval, get_listsEval, get_recent_activityEvalFunction, add_card_to_listEval, update_card_detailsEval]
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
+ ],
47
62
  };
48
63
  export default config;
49
- export const evals = [get_cards_by_list_idEval, get_listsEval, get_recent_activityEvalFunction, add_card_to_listEval, update_card_detailsEval];
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
+ ];
50
72
  //# sourceMappingURL=evals.js.map
@@ -1 +1 @@
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;IAC3C,IAAI,EAAE,sCAAsC;IAC5C,WAAW,EAAE,uDAAuD;IACpE,GAAG,EAAE,KAAK,IAAI,EAAE;QACZ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,8DAA8D,CAAC,CAAC;QAC5G,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAC;AAEF,MAAM,aAAa,GAAiB;IAChC,IAAI,EAAE,2BAA2B;IACjC,WAAW,EAAE,6EAA6E;IAC1F,GAAG,EAAE,KAAK,IAAI,EAAE;QACZ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,iFAAiF,CAAC,CAAC;QAC/H,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAC;AAEF,MAAM,+BAA+B,GAAiB;IAClD,IAAI,EAAE,qCAAqC;IAC3C,WAAW,EAAE,oEAAoE;IACjF,GAAG,EAAE,KAAK,IAAI,EAAE;QACZ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,oEAAoE,CAAC,CAAC;QAClH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAC;AAEF,MAAM,oBAAoB,GAAiB;IACvC,IAAI,EAAE,sBAAsB;IAC5B,WAAW,EAAE,qCAAqC;IAClD,GAAG,EAAE,KAAK,IAAI,EAAE;QACZ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,6KAA6K,CAAC,CAAC;QAC3N,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAC;AAEF,MAAM,uBAAuB,GAAiB;IAC1C,IAAI,EAAE,gCAAgC;IACtC,WAAW,EAAE,sDAAsD;IACnE,GAAG,EAAE,KAAK,IAAI,EAAE;QACZ,MAAM,MAAM,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,uMAAuM,CAAC,CAAC;QACrP,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAC9B,CAAC;CACJ,CAAC;AAEF,MAAM,MAAM,GAAe;IACvB,KAAK,EAAE,MAAM,CAAC,OAAO,CAAC;IACtB,KAAK,EAAE,CAAC,wBAAwB,EAAE,aAAa,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,uBAAuB,CAAC;CACnI,CAAC;AAEF,eAAe,MAAM,CAAC;AAEtB,MAAM,CAAC,MAAM,KAAK,GAAG,CAAC,wBAAwB,EAAE,aAAa,EAAE,+BAA+B,EAAE,oBAAoB,EAAE,uBAAuB,CAAC,CAAC"}
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"}
@@ -0,0 +1,122 @@
1
+ export interface TrelloCheckItem {
2
+ id: string;
3
+ name: string;
4
+ state: 'complete' | 'incomplete';
5
+ pos: number;
6
+ due?: string | null;
7
+ dueReminder?: number | null;
8
+ idMember?: string | null;
9
+ }
10
+ export interface TrelloChecklist {
11
+ id: string;
12
+ name: string;
13
+ idCard: string;
14
+ pos: number;
15
+ checkItems: TrelloCheckItem[];
16
+ }
17
+ export interface TrelloLabelDetails {
18
+ id: string;
19
+ idBoard: string;
20
+ name: string;
21
+ color: string;
22
+ }
23
+ export interface TrelloComment {
24
+ id: string;
25
+ date: string;
26
+ data: {
27
+ text: string;
28
+ card?: {
29
+ id: string;
30
+ name: string;
31
+ };
32
+ };
33
+ memberCreator: {
34
+ id: string;
35
+ fullName: string;
36
+ username: string;
37
+ avatarUrl?: string;
38
+ };
39
+ }
40
+ export interface TrelloCustomField {
41
+ id: string;
42
+ name: string;
43
+ type: string;
44
+ value?: any;
45
+ }
46
+ export interface TrelloBadges {
47
+ attachmentsByType?: {
48
+ trello?: {
49
+ board: number;
50
+ card: number;
51
+ };
52
+ };
53
+ location: boolean;
54
+ votes: number;
55
+ viewingMemberVoted: boolean;
56
+ subscribed: boolean;
57
+ fogbugz: string;
58
+ checkItems: number;
59
+ checkItemsChecked: number;
60
+ checkItemsEarliestDue?: string | null;
61
+ comments: number;
62
+ attachments: number;
63
+ description: boolean;
64
+ due?: string | null;
65
+ dueComplete: boolean;
66
+ start?: string | null;
67
+ }
68
+ export interface TrelloCover {
69
+ idAttachment?: string | null;
70
+ color?: string | null;
71
+ idUploadedBackground?: string | null;
72
+ size: 'normal' | 'full';
73
+ brightness: 'light' | 'dark';
74
+ isTemplate: boolean;
75
+ }
76
+ export interface EnhancedTrelloCard {
77
+ id: string;
78
+ name: string;
79
+ desc: string;
80
+ descData?: {
81
+ emoji?: Record<string, any>;
82
+ };
83
+ due: string | null;
84
+ dueComplete: boolean;
85
+ dueReminder: number | null;
86
+ start: string | null;
87
+ idList: string;
88
+ idBoard: string;
89
+ closed: boolean;
90
+ url: string;
91
+ shortUrl: string;
92
+ dateLastActivity: string;
93
+ pos: number;
94
+ labels: TrelloLabelDetails[];
95
+ idLabels: string[];
96
+ attachments: TrelloAttachment[];
97
+ checklists: TrelloChecklist[];
98
+ members: TrelloMember[];
99
+ idMembers: string[];
100
+ comments: TrelloComment[];
101
+ customFieldItems?: TrelloCustomField[];
102
+ badges: TrelloBadges;
103
+ cover: TrelloCover;
104
+ list?: {
105
+ id: string;
106
+ name: string;
107
+ };
108
+ board?: {
109
+ id: string;
110
+ name: string;
111
+ url: string;
112
+ };
113
+ }
114
+ export declare class EnhancedTrelloClient {
115
+ getCard(cardId: string, includeMarkdown?: boolean): Promise<EnhancedTrelloCard | string>;
116
+ private formatCardAsMarkdown;
117
+ private formatFileSize;
118
+ }
119
+ export declare function validateGetCardRequest(args: Record<string, unknown>): {
120
+ cardId: string;
121
+ includeMarkdown?: boolean;
122
+ };
@@ -0,0 +1,225 @@
1
+ // Enhanced get_card implementation for comprehensive data extraction
2
+ // Add to TrelloClient class
3
+ export class EnhancedTrelloClient {
4
+ async getCard(cardId, includeMarkdown = false) {
5
+ return this.handleRequest(async () => {
6
+ const response = await this.axiosInstance.get(`/cards/${cardId}`, {
7
+ params: {
8
+ attachments: true,
9
+ checklists: 'all',
10
+ checkItemStates: true,
11
+ members: true,
12
+ membersVoted: true,
13
+ labels: true,
14
+ actions: 'commentCard',
15
+ actions_limit: 100,
16
+ fields: 'all',
17
+ customFieldItems: true,
18
+ list: true,
19
+ board: true,
20
+ stickers: true,
21
+ pluginData: true
22
+ }
23
+ });
24
+ const cardData = response.data;
25
+ if (includeMarkdown) {
26
+ return this.formatCardAsMarkdown(cardData);
27
+ }
28
+ return cardData;
29
+ });
30
+ }
31
+ formatCardAsMarkdown(card) {
32
+ let markdown = '';
33
+ // Title and basic info
34
+ markdown += `# ${card.name}\n\n`;
35
+ // Board and List context
36
+ if (card.board && card.list) {
37
+ markdown += `📍 **Board**: [${card.board.name}](${card.board.url}) > **List**: ${card.list.name}\n\n`;
38
+ }
39
+ // Labels
40
+ if (card.labels && card.labels.length > 0) {
41
+ markdown += `## 🏷️ Labels\n`;
42
+ card.labels.forEach(label => {
43
+ markdown += `- \`${label.color}\` ${label.name || '(no name)'}\n`;
44
+ });
45
+ markdown += '\n';
46
+ }
47
+ // Due date
48
+ if (card.due) {
49
+ const dueDate = new Date(card.due);
50
+ const status = card.dueComplete ? '✅ Complete' : '⏰ Due';
51
+ markdown += `## 📅 Due Date\n${status}: ${dueDate.toLocaleString()}\n\n`;
52
+ }
53
+ // Members
54
+ if (card.members && card.members.length > 0) {
55
+ markdown += `## 👥 Members\n`;
56
+ card.members.forEach(member => {
57
+ markdown += `- @${member.username} (${member.fullName})\n`;
58
+ });
59
+ markdown += '\n';
60
+ }
61
+ // Description
62
+ if (card.desc) {
63
+ markdown += `## 📝 Description\n`;
64
+ markdown += `${card.desc}\n\n`;
65
+ // Parse for inline images (Trello uses markdown-like syntax)
66
+ // Look for patterns like ![alt text](image url)
67
+ const imageRegex = /!\[([^\]]*)\]\(([^)]+)\)/g;
68
+ const images = card.desc.match(imageRegex);
69
+ if (images) {
70
+ markdown += `### Inline Images in Description\n`;
71
+ images.forEach((img, index) => {
72
+ const match = img.match(/!\[([^\]]*)\]\(([^)]+)\)/);
73
+ if (match) {
74
+ markdown += `${index + 1}. ${match[1] || 'Image'}: ${match[2]}\n`;
75
+ }
76
+ });
77
+ markdown += '\n';
78
+ }
79
+ }
80
+ // Checklists
81
+ if (card.checklists && card.checklists.length > 0) {
82
+ markdown += `## ✅ Checklists\n`;
83
+ card.checklists.forEach(checklist => {
84
+ const completed = checklist.checkItems.filter(item => item.state === 'complete').length;
85
+ const total = checklist.checkItems.length;
86
+ markdown += `### ${checklist.name} (${completed}/${total})\n`;
87
+ // Sort by position
88
+ const sortedItems = [...checklist.checkItems].sort((a, b) => a.pos - b.pos);
89
+ sortedItems.forEach(item => {
90
+ const checkbox = item.state === 'complete' ? '[x]' : '[ ]';
91
+ markdown += `- ${checkbox} ${item.name}`;
92
+ if (item.due) {
93
+ const itemDue = new Date(item.due);
94
+ markdown += ` (Due: ${itemDue.toLocaleDateString()})`;
95
+ }
96
+ if (item.idMember) {
97
+ const member = card.members?.find(m => m.id === item.idMember);
98
+ if (member) {
99
+ markdown += ` - @${member.username}`;
100
+ }
101
+ }
102
+ markdown += '\n';
103
+ });
104
+ markdown += '\n';
105
+ });
106
+ }
107
+ // Attachments
108
+ if (card.attachments && card.attachments.length > 0) {
109
+ markdown += `## 📎 Attachments (${card.attachments.length})\n`;
110
+ card.attachments.forEach((attachment, index) => {
111
+ markdown += `### ${index + 1}. ${attachment.name}\n`;
112
+ markdown += `- **URL**: ${attachment.url}\n`;
113
+ if (attachment.fileName) {
114
+ markdown += `- **File**: ${attachment.fileName}`;
115
+ if (attachment.bytes) {
116
+ const size = this.formatFileSize(attachment.bytes);
117
+ markdown += ` (${size})`;
118
+ }
119
+ markdown += '\n';
120
+ }
121
+ if (attachment.mimeType) {
122
+ markdown += `- **Type**: ${attachment.mimeType}\n`;
123
+ }
124
+ markdown += `- **Added**: ${new Date(attachment.date).toLocaleString()}\n`;
125
+ // Image preview
126
+ if (attachment.previews && attachment.previews.length > 0) {
127
+ const preview = attachment.previews[0];
128
+ markdown += `- **Preview**: ![${attachment.name}](${preview.url})\n`;
129
+ }
130
+ markdown += '\n';
131
+ });
132
+ }
133
+ // Comments
134
+ if (card.comments && card.comments.length > 0) {
135
+ markdown += `## 💬 Comments (${card.comments.length})\n`;
136
+ card.comments.forEach(comment => {
137
+ const date = new Date(comment.date);
138
+ markdown += `### ${comment.memberCreator.fullName} (@${comment.memberCreator.username}) - ${date.toLocaleString()}\n`;
139
+ markdown += `${comment.data.text}\n\n`;
140
+ });
141
+ }
142
+ // Statistics
143
+ if (card.badges) {
144
+ markdown += `## 📊 Statistics\n`;
145
+ if (card.badges.checkItems > 0) {
146
+ markdown += `- **Checklist Items**: ${card.badges.checkItemsChecked}/${card.badges.checkItems} completed\n`;
147
+ }
148
+ if (card.badges.comments > 0) {
149
+ markdown += `- **Comments**: ${card.badges.comments}\n`;
150
+ }
151
+ if (card.badges.attachments > 0) {
152
+ markdown += `- **Attachments**: ${card.badges.attachments}\n`;
153
+ }
154
+ if (card.badges.votes > 0) {
155
+ markdown += `- **Votes**: ${card.badges.votes}\n`;
156
+ }
157
+ markdown += '\n';
158
+ }
159
+ // Links
160
+ markdown += `## 🔗 Links\n`;
161
+ markdown += `- **Card URL**: ${card.url}\n`;
162
+ markdown += `- **Short URL**: ${card.shortUrl}\n\n`;
163
+ // Metadata
164
+ markdown += `---\n`;
165
+ markdown += `*Last Activity: ${new Date(card.dateLastActivity).toLocaleString()}*\n`;
166
+ markdown += `*Card ID: ${card.id}*\n`;
167
+ return markdown;
168
+ }
169
+ formatFileSize(bytes) {
170
+ const sizes = ['Bytes', 'KB', 'MB', 'GB'];
171
+ if (bytes === 0)
172
+ return '0 Bytes';
173
+ const i = Math.floor(Math.log(bytes) / Math.log(1024));
174
+ return Math.round(bytes / Math.pow(1024, i) * 100) / 100 + ' ' + sizes[i];
175
+ }
176
+ }
177
+ // Validator for the get_card request
178
+ export function validateGetCardRequest(args) {
179
+ if (!args.cardId || typeof args.cardId !== 'string') {
180
+ throw new Error('cardId is required and must be a string');
181
+ }
182
+ const includeMarkdown = args.includeMarkdown === true || args.includeMarkdown === 'true';
183
+ return {
184
+ cardId: args.cardId,
185
+ includeMarkdown
186
+ };
187
+ }
188
+ // Add to index.ts tool list
189
+ const getCardTool = {
190
+ name: 'get_card',
191
+ description: 'Get comprehensive details of a specific Trello card including checklists, attachments, labels, members, and comments',
192
+ inputSchema: {
193
+ type: 'object',
194
+ properties: {
195
+ cardId: {
196
+ type: 'string',
197
+ description: 'ID of the Trello card (can be short ID or full ID)',
198
+ },
199
+ includeMarkdown: {
200
+ type: 'boolean',
201
+ description: 'Return the card data formatted as markdown (default: false)',
202
+ },
203
+ },
204
+ required: ['cardId'],
205
+ },
206
+ };
207
+ // Add to the switch statement in index.ts
208
+ /*
209
+ case 'get_card': {
210
+ const validArgs = validateGetCardRequest(args);
211
+ const cardData = await this.trelloClient.getCard(
212
+ validArgs.cardId,
213
+ validArgs.includeMarkdown
214
+ );
215
+ return {
216
+ content: [{
217
+ type: 'text',
218
+ text: typeof cardData === 'string'
219
+ ? cardData
220
+ : JSON.stringify(cardData, null, 2)
221
+ }],
222
+ };
223
+ }
224
+ */
225
+ //# sourceMappingURL=get-card-implementation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-card-implementation.js","sourceRoot":"","sources":["../src/get-card-implementation.ts"],"names":[],"mappings":"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"}
package/build/index.js CHANGED
@@ -1,2 +1,2 @@
1
1
  #!/usr/bin/env node
2
- import{Server}from"@modelcontextprotocol/sdk/server/index.js";import{StdioServerTransport}from"@modelcontextprotocol/sdk/server/stdio.js";import{CallToolRequestSchema,ErrorCode,ListToolsRequestSchema,McpError}from"@modelcontextprotocol/sdk/types.js";import{TrelloClient}from"./trello-client.js";import{validateGetCardsListRequest,validateGetRecentActivityRequest,validateAddCardRequest,validateUpdateCardRequest,validateArchiveCardRequest,validateAddListRequest,validateArchiveListRequest,validateMoveCardRequest,validateAttachImageRequest,validateGetListsRequest,validateSetActiveBoardRequest,validateSetActiveWorkspaceRequest,validateListBoardsInWorkspaceRequest}from"./validators.js";class TrelloServer{constructor(){const e=process.env.TRELLO_API_KEY,t=process.env.TRELLO_TOKEN,r=process.env.TRELLO_BOARD_ID;if(!e||!t)throw new Error("TRELLO_API_KEY and TRELLO_TOKEN environment variables are required");this.trelloClient=new TrelloClient({apiKey:e,token:t,defaultBoardId:r,boardId:r}),this.server=new Server({name:"trello-server",version:"1.0.0"},{capabilities:{tools:{}}}),this.setupToolHandlers(),this.server.onerror=e=>{},process.on("SIGINT",async()=>{await this.server.close(),process.exit(0)})}setupToolHandlers(){this.server.setRequestHandler(ListToolsRequestSchema,async()=>({tools:[{name:"get_cards_by_list_id",description:"Fetch cards from a specific Trello list on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},listId:{type:"string",description:"ID of the Trello list"}},required:["listId"]}},{name:"get_lists",description:"Retrieve all lists from the specified board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"}},required:[]}},{name:"get_recent_activity",description:"Fetch recent activity on the Trello board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},limit:{type:"number",description:"Number of activities to fetch (default: 10)"}},required:[]}},{name:"add_card_to_list",description:"Add a new card to a specified list on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},listId:{type:"string",description:"ID of the list to add the card to"},name:{type:"string",description:"Name of the card"},description:{type:"string",description:"Description of the card"},dueDate:{type:"string",description:"Due date for the card (ISO 8601 format)"},labels:{type:"array",items:{type:"string"},description:"Array of label IDs to apply to the card"}},required:["listId","name"]}},{name:"update_card_details",description:"Update an existing card's details on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},cardId:{type:"string",description:"ID of the card to update"},name:{type:"string",description:"New name for the card"},description:{type:"string",description:"New description for the card"},dueDate:{type:"string",description:"New due date for the card (ISO 8601 format)"},labels:{type:"array",items:{type:"string"},description:"New array of label IDs for the card"}},required:["cardId"]}},{name:"archive_card",description:"Send a card to the archive on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},cardId:{type:"string",description:"ID of the card to archive"}},required:["cardId"]}},{name:"move_card",description:"Move a card to a different list, potentially on a different board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the target Trello board (where the listId resides, uses default if not provided)"},cardId:{type:"string",description:"ID of the card to move"},listId:{type:"string",description:"ID of the target list"}},required:["cardId","listId"]}},{name:"add_list_to_board",description:"Add a new list to the specified board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},name:{type:"string",description:"Name of the new list"}},required:["name"]}},{name:"archive_list",description:"Send a list to the archive on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},listId:{type:"string",description:"ID of the list to archive"}},required:["listId"]}},{name:"get_my_cards",description:"Fetch all cards assigned to the current user",inputSchema:{type:"object",properties:{},required:[]}},{name:"attach_image_to_card",description:"Attach an image to a card from a URL on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board where the card exists (uses default if not provided)"},cardId:{type:"string",description:"ID of the card to attach the image to"},imageUrl:{type:"string",description:"URL of the image to attach"},name:{type:"string",description:'Optional name for the attachment (defaults to "Image Attachment")'}},required:["cardId","imageUrl"]}},{name:"list_boards",description:"List all boards the user has access to",inputSchema:{type:"object",properties:{},required:[]}},{name:"set_active_board",description:"Set the active board for future operations",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the board to set as active"}},required:["boardId"]}},{name:"list_workspaces",description:"List all workspaces the user has access to",inputSchema:{type:"object",properties:{},required:[]}},{name:"set_active_workspace",description:"Set the active workspace for future operations",inputSchema:{type:"object",properties:{workspaceId:{type:"string",description:"ID of the workspace to set as active"}},required:["workspaceId"]}},{name:"list_boards_in_workspace",description:"List all boards in a specific workspace",inputSchema:{type:"object",properties:{workspaceId:{type:"string",description:"ID of the workspace to list boards from"}},required:["workspaceId"]}},{name:"get_active_board_info",description:"Get information about the currently active board",inputSchema:{type:"object",properties:{},required:[]}}]})),this.server.setRequestHandler(CallToolRequestSchema,async e=>{try{if(!e.params.arguments)throw new McpError(ErrorCode.InvalidParams,"Missing arguments");const t=e.params.arguments;switch(e.params.name){case"get_cards_by_list_id":{const e=validateGetCardsListRequest(t),r=await this.trelloClient.getCardsByList(e.boardId,e.listId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"list_boards":{const e=await this.trelloClient.listBoards();return{content:[{type:"text",text:JSON.stringify(e,null,2)}]}}case"get_lists":{const e=validateGetListsRequest(t),r=await this.trelloClient.getLists(e.boardId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"get_recent_activity":{const e=validateGetRecentActivityRequest(t),r=await this.trelloClient.getRecentActivity(e.boardId,e.limit);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"add_card_to_list":{const e=validateAddCardRequest(t),r=await this.trelloClient.addCard(e.boardId,e);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"update_card_details":{const e=validateUpdateCardRequest(t),r=await this.trelloClient.updateCard(e.boardId,e);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"archive_card":{const e=validateArchiveCardRequest(t),r=await this.trelloClient.archiveCard(e.boardId,e.cardId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"move_card":{const e=validateMoveCardRequest(t),r=await this.trelloClient.moveCard(e.boardId,e.cardId,e.listId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"add_list_to_board":{const e=validateAddListRequest(t),r=await this.trelloClient.addList(e.boardId,e.name);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"archive_list":{const e=validateArchiveListRequest(t),r=await this.trelloClient.archiveList(e.boardId,e.listId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"get_my_cards":{const e=await this.trelloClient.getMyCards();return{content:[{type:"text",text:JSON.stringify(e,null,2)}]}}case"attach_image_to_card":{const e=validateAttachImageRequest(t);try{const t=await this.trelloClient.attachImageToCard(e.boardId,e.cardId,e.imageUrl,e.name);return{content:[{type:"text",text:JSON.stringify(t,null,2)}]}}catch(e){return this.handleErrorResponse(e)}}case"set_active_board":{const e=validateSetActiveBoardRequest(t);try{const t=await this.trelloClient.setActiveBoard(e.boardId);return{content:[{type:"text",text:`Successfully set active board to "${t.name}" (${t.id})`}]}}catch(e){return this.handleErrorResponse(e)}}case"list_workspaces":{const e=await this.trelloClient.listWorkspaces();return{content:[{type:"text",text:JSON.stringify(e,null,2)}]}}case"set_active_workspace":{const e=validateSetActiveWorkspaceRequest(t);try{const t=await this.trelloClient.setActiveWorkspace(e.workspaceId);return{content:[{type:"text",text:`Successfully set active workspace to "${t.displayName}" (${t.id})`}]}}catch(e){return this.handleErrorResponse(e)}}case"list_boards_in_workspace":{const e=validateListBoardsInWorkspaceRequest(t);try{const t=await this.trelloClient.listBoardsInWorkspace(e.workspaceId);return{content:[{type:"text",text:JSON.stringify(t,null,2)}]}}catch(e){return this.handleErrorResponse(e)}}case"get_active_board_info":try{const e=this.trelloClient.activeBoardId;if(!e)throw new McpError(ErrorCode.InvalidParams,"No active board set");const t=await this.trelloClient.getBoardById(e);return{content:[{type:"text",text:JSON.stringify({...t,isActive:!0,activeWorkspaceId:this.trelloClient.activeWorkspaceId||"Not set"},null,2)}]}}catch(e){return this.handleErrorResponse(e)}default:throw new McpError(ErrorCode.MethodNotFound,`Unknown tool: ${e.params.name}`)}}catch(e){return{content:[{type:"text",text:e instanceof Error?e.message:"Unknown error occurred"}],isError:!0}}})}handleErrorResponse(e){return{content:[{type:"text",text:`Error: ${e instanceof Error?e.message:"Unknown error occurred"}`}],isError:!0}}async run(){const e=new StdioServerTransport;await this.trelloClient.loadConfig().catch(e=>{}),await this.server.connect(e)}}const server=new TrelloServer;server.run().catch(()=>{});
2
+ import{Server}from"@modelcontextprotocol/sdk/server/index.js";import{StdioServerTransport}from"@modelcontextprotocol/sdk/server/stdio.js";import{CallToolRequestSchema,ErrorCode,ListToolsRequestSchema,McpError}from"@modelcontextprotocol/sdk/types.js";import{TrelloClient}from"./trello-client.js";import{validateGetCardsListRequest,validateGetRecentActivityRequest,validateAddCardRequest,validateUpdateCardRequest,validateArchiveCardRequest,validateAddListRequest,validateArchiveListRequest,validateMoveCardRequest,validateAttachImageRequest,validateGetListsRequest,validateSetActiveBoardRequest,validateSetActiveWorkspaceRequest,validateListBoardsInWorkspaceRequest,validateGetCardRequest}from"./validators.js";class TrelloServer{constructor(){const e=process.env.TRELLO_API_KEY,t=process.env.TRELLO_TOKEN,r=process.env.TRELLO_BOARD_ID;if(!e||!t)throw new Error("TRELLO_API_KEY and TRELLO_TOKEN environment variables are required");this.trelloClient=new TrelloClient({apiKey:e,token:t,defaultBoardId:r,boardId:r}),this.server=new Server({name:"trello-server",version:"1.0.0"},{capabilities:{tools:{}}}),this.setupToolHandlers(),this.server.onerror=e=>{},process.on("SIGINT",async()=>{await this.server.close(),process.exit(0)})}setupToolHandlers(){this.server.setRequestHandler(ListToolsRequestSchema,async()=>({tools:[{name:"get_cards_by_list_id",description:"Fetch cards from a specific Trello list on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},listId:{type:"string",description:"ID of the Trello list"}},required:["listId"]}},{name:"get_lists",description:"Retrieve all lists from the specified board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"}},required:[]}},{name:"get_recent_activity",description:"Fetch recent activity on the Trello board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},limit:{type:"number",description:"Number of activities to fetch (default: 10)"}},required:[]}},{name:"add_card_to_list",description:"Add a new card to a specified list on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},listId:{type:"string",description:"ID of the list to add the card to"},name:{type:"string",description:"Name of the card"},description:{type:"string",description:"Description of the card"},dueDate:{type:"string",description:"Due date for the card (ISO 8601 format)"},start:{type:"string",description:"Start date for the card (YYYY-MM-DD format, date only)"},labels:{type:"array",items:{type:"string"},description:"Array of label IDs to apply to the card"}},required:["listId","name"]}},{name:"update_card_details",description:"Update an existing card's details on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},cardId:{type:"string",description:"ID of the card to update"},name:{type:"string",description:"New name for the card"},description:{type:"string",description:"New description for the card"},dueDate:{type:"string",description:"New due date for the card (ISO 8601 format)"},start:{type:"string",description:"New start date for the card (YYYY-MM-DD format, date only)"},dueComplete:{type:"boolean",description:"Mark the due date as complete (true) or incomplete (false)"},labels:{type:"array",items:{type:"string"},description:"New array of label IDs for the card"}},required:["cardId"]}},{name:"archive_card",description:"Send a card to the archive on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},cardId:{type:"string",description:"ID of the card to archive"}},required:["cardId"]}},{name:"move_card",description:"Move a card to a different list, potentially on a different board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the target Trello board (where the listId resides, uses default if not provided)"},cardId:{type:"string",description:"ID of the card to move"},listId:{type:"string",description:"ID of the target list"}},required:["cardId","listId"]}},{name:"add_list_to_board",description:"Add a new list to the specified board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},name:{type:"string",description:"Name of the new list"}},required:["name"]}},{name:"archive_list",description:"Send a list to the archive on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board (uses default if not provided)"},listId:{type:"string",description:"ID of the list to archive"}},required:["listId"]}},{name:"get_my_cards",description:"Fetch all cards assigned to the current user",inputSchema:{type:"object",properties:{},required:[]}},{name:"attach_image_to_card",description:"Attach an image to a card from a URL on a specific board",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the Trello board where the card exists (uses default if not provided)"},cardId:{type:"string",description:"ID of the card to attach the image to"},imageUrl:{type:"string",description:"URL of the image to attach"},name:{type:"string",description:'Optional name for the attachment (defaults to "Image Attachment")'}},required:["cardId","imageUrl"]}},{name:"list_boards",description:"List all boards the user has access to",inputSchema:{type:"object",properties:{},required:[]}},{name:"set_active_board",description:"Set the active board for future operations",inputSchema:{type:"object",properties:{boardId:{type:"string",description:"ID of the board to set as active"}},required:["boardId"]}},{name:"list_workspaces",description:"List all workspaces the user has access to",inputSchema:{type:"object",properties:{},required:[]}},{name:"set_active_workspace",description:"Set the active workspace for future operations",inputSchema:{type:"object",properties:{workspaceId:{type:"string",description:"ID of the workspace to set as active"}},required:["workspaceId"]}},{name:"list_boards_in_workspace",description:"List all boards in a specific workspace",inputSchema:{type:"object",properties:{workspaceId:{type:"string",description:"ID of the workspace to list boards from"}},required:["workspaceId"]}},{name:"get_active_board_info",description:"Get information about the currently active board",inputSchema:{type:"object",properties:{},required:[]}},{name:"get_card",description:"Get detailed information about a specific Trello card",inputSchema:{type:"object",properties:{cardId:{type:"string",description:"ID of the card to fetch"},includeMarkdown:{type:"boolean",description:"Whether to return card description in markdown format (default: false)"}},required:["cardId"]}}]})),this.server.setRequestHandler(CallToolRequestSchema,async e=>{try{if(!e.params.arguments)throw new McpError(ErrorCode.InvalidParams,"Missing arguments");const t=e.params.arguments;switch(e.params.name){case"get_cards_by_list_id":{const e=validateGetCardsListRequest(t),r=await this.trelloClient.getCardsByList(e.boardId,e.listId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"list_boards":{const e=await this.trelloClient.listBoards();return{content:[{type:"text",text:JSON.stringify(e,null,2)}]}}case"get_lists":{const e=validateGetListsRequest(t),r=await this.trelloClient.getLists(e.boardId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"get_recent_activity":{const e=validateGetRecentActivityRequest(t),r=await this.trelloClient.getRecentActivity(e.boardId,e.limit);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"add_card_to_list":{const e=validateAddCardRequest(t),r=await this.trelloClient.addCard(e.boardId,e);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"update_card_details":{const e=validateUpdateCardRequest(t),r=await this.trelloClient.updateCard(e.boardId,e);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"archive_card":{const e=validateArchiveCardRequest(t),r=await this.trelloClient.archiveCard(e.boardId,e.cardId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"move_card":{const e=validateMoveCardRequest(t),r=await this.trelloClient.moveCard(e.boardId,e.cardId,e.listId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"add_list_to_board":{const e=validateAddListRequest(t),r=await this.trelloClient.addList(e.boardId,e.name);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"archive_list":{const e=validateArchiveListRequest(t),r=await this.trelloClient.archiveList(e.boardId,e.listId);return{content:[{type:"text",text:JSON.stringify(r,null,2)}]}}case"get_my_cards":{const e=await this.trelloClient.getMyCards();return{content:[{type:"text",text:JSON.stringify(e,null,2)}]}}case"attach_image_to_card":{const e=validateAttachImageRequest(t);try{const t=await this.trelloClient.attachImageToCard(e.boardId,e.cardId,e.imageUrl,e.name);return{content:[{type:"text",text:JSON.stringify(t,null,2)}]}}catch(e){return this.handleErrorResponse(e)}}case"set_active_board":{const e=validateSetActiveBoardRequest(t);try{const t=await this.trelloClient.setActiveBoard(e.boardId);return{content:[{type:"text",text:`Successfully set active board to "${t.name}" (${t.id})`}]}}catch(e){return this.handleErrorResponse(e)}}case"list_workspaces":{const e=await this.trelloClient.listWorkspaces();return{content:[{type:"text",text:JSON.stringify(e,null,2)}]}}case"set_active_workspace":{const e=validateSetActiveWorkspaceRequest(t);try{const t=await this.trelloClient.setActiveWorkspace(e.workspaceId);return{content:[{type:"text",text:`Successfully set active workspace to "${t.displayName}" (${t.id})`}]}}catch(e){return this.handleErrorResponse(e)}}case"list_boards_in_workspace":{const e=validateListBoardsInWorkspaceRequest(t);try{const t=await this.trelloClient.listBoardsInWorkspace(e.workspaceId);return{content:[{type:"text",text:JSON.stringify(t,null,2)}]}}catch(e){return this.handleErrorResponse(e)}}case"get_active_board_info":try{const e=this.trelloClient.activeBoardId;if(!e)throw new McpError(ErrorCode.InvalidParams,"No active board set");const t=await this.trelloClient.getBoardById(e);return{content:[{type:"text",text:JSON.stringify({...t,isActive:!0,activeWorkspaceId:this.trelloClient.activeWorkspaceId||"Not set"},null,2)}]}}catch(e){return this.handleErrorResponse(e)}case"get_card":{const e=validateGetCardRequest(t);try{const t=await this.trelloClient.getCard(e.cardId,e.includeMarkdown||!1);return{content:[{type:"text",text:JSON.stringify(t,null,2)}]}}catch(e){return this.handleErrorResponse(e)}}default:throw new McpError(ErrorCode.MethodNotFound,`Unknown tool: ${e.params.name}`)}}catch(e){return{content:[{type:"text",text:e instanceof Error?e.message:"Unknown error occurred"}],isError:!0}}})}handleErrorResponse(e){return{content:[{type:"text",text:`Error: ${e instanceof Error?e.message:"Unknown error occurred"}`}],isError:!0}}async run(){const e=new StdioServerTransport;await this.trelloClient.loadConfig().catch(e=>{}),await this.server.connect(e)}}const server=new TrelloServer;server.run().catch(()=>{});
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { TrelloConfig, TrelloCard, TrelloList, TrelloAction, TrelloAttachment, TrelloBoard, TrelloWorkspace } from './types.js';
1
+ import { TrelloConfig, TrelloCard, TrelloList, TrelloAction, TrelloAttachment, TrelloBoard, TrelloWorkspace, EnhancedTrelloCard } from './types.js';
2
2
  export declare class TrelloClient {
3
3
  private config;
4
4
  private axiosInstance;
@@ -59,6 +59,7 @@ export declare class TrelloClient {
59
59
  name: string;
60
60
  description?: string;
61
61
  dueDate?: string;
62
+ start?: string;
62
63
  labels?: string[];
63
64
  }): Promise<TrelloCard>;
64
65
  updateCard(boardId: string | undefined, params: {
@@ -66,6 +67,8 @@ export declare class TrelloClient {
66
67
  name?: string;
67
68
  description?: string;
68
69
  dueDate?: string;
70
+ start?: string;
71
+ dueComplete?: boolean;
69
72
  labels?: string[];
70
73
  }): Promise<TrelloCard>;
71
74
  archiveCard(boardId: string | undefined, cardId: string): Promise<TrelloCard>;
@@ -74,4 +77,7 @@ export declare class TrelloClient {
74
77
  archiveList(boardId: string | undefined, listId: string): Promise<TrelloList>;
75
78
  getMyCards(): Promise<TrelloCard[]>;
76
79
  attachImageToCard(boardId: string | undefined, cardId: string, imageUrl: string, name?: string): Promise<TrelloAttachment>;
80
+ getCard(cardId: string, includeMarkdown?: boolean): Promise<EnhancedTrelloCard | string>;
81
+ private formatCardAsMarkdown;
82
+ private formatFileSize;
77
83
  }
@@ -206,6 +206,7 @@ export class TrelloClient {
206
206
  name: params.name,
207
207
  desc: params.description,
208
208
  due: params.dueDate,
209
+ start: params.start,
209
210
  idLabels: params.labels,
210
211
  });
211
212
  return response.data;
@@ -217,6 +218,8 @@ export class TrelloClient {
217
218
  name: params.name,
218
219
  desc: params.description,
219
220
  due: params.dueDate,
221
+ start: params.start,
222
+ dueComplete: params.dueComplete,
220
223
  idLabels: params.labels,
221
224
  });
222
225
  return response.data;
@@ -276,5 +279,177 @@ export class TrelloClient {
276
279
  return response.data;
277
280
  });
278
281
  }
282
+ async getCard(cardId, includeMarkdown = false) {
283
+ return this.handleRequest(async () => {
284
+ const response = await this.axiosInstance.get(`/cards/${cardId}`, {
285
+ params: {
286
+ attachments: true,
287
+ checklists: 'all',
288
+ checkItemStates: true,
289
+ members: true,
290
+ membersVoted: true,
291
+ labels: true,
292
+ actions: 'commentCard',
293
+ actions_limit: 100,
294
+ fields: 'all',
295
+ customFieldItems: true,
296
+ list: true,
297
+ board: true,
298
+ stickers: true,
299
+ pluginData: true,
300
+ },
301
+ });
302
+ const cardData = response.data;
303
+ if (includeMarkdown) {
304
+ return this.formatCardAsMarkdown(cardData);
305
+ }
306
+ return cardData;
307
+ });
308
+ }
309
+ formatCardAsMarkdown(card) {
310
+ let markdown = '';
311
+ // Title and basic info
312
+ markdown += `# ${card.name}\n\n`;
313
+ // Board and List context
314
+ if (card.board && card.list) {
315
+ markdown += `📍 **Board**: [${card.board.name}](${card.board.url}) > **List**: ${card.list.name}\n\n`;
316
+ }
317
+ // Labels
318
+ if (card.labels && card.labels.length > 0) {
319
+ markdown += `## 🏷️ Labels\n`;
320
+ card.labels.forEach(label => {
321
+ markdown += `- \`${label.color}\` ${label.name || '(no name)'}\n`;
322
+ });
323
+ markdown += '\n';
324
+ }
325
+ // Due date
326
+ if (card.due) {
327
+ const dueDate = new Date(card.due);
328
+ const status = card.dueComplete ? '✅ Complete' : '⏰ Due';
329
+ markdown += `## 📅 Due Date\n${status}: ${dueDate.toLocaleString()}\n\n`;
330
+ }
331
+ // Members
332
+ if (card.members && card.members.length > 0) {
333
+ markdown += `## 👥 Members\n`;
334
+ card.members.forEach(member => {
335
+ markdown += `- @${member.username} (${member.fullName})\n`;
336
+ });
337
+ markdown += '\n';
338
+ }
339
+ // Description
340
+ if (card.desc) {
341
+ markdown += `## 📝 Description\n`;
342
+ markdown += `${card.desc}\n\n`;
343
+ // Parse for inline images (Trello uses markdown-like syntax)
344
+ // Look for patterns like ![alt text](image url)
345
+ const imageRegex = /!\[([^\]]*)\]\(([^)]+)\)/g;
346
+ const images = card.desc.match(imageRegex);
347
+ if (images) {
348
+ markdown += `### Inline Images in Description\n`;
349
+ images.forEach((img, index) => {
350
+ const match = img.match(/!\[([^\]]*)\]\(([^)]+)\)/);
351
+ if (match) {
352
+ markdown += `${index + 1}. ${match[1] || 'Image'}: ${match[2]}\n`;
353
+ }
354
+ });
355
+ markdown += '\n';
356
+ }
357
+ }
358
+ // Checklists
359
+ if (card.checklists && card.checklists.length > 0) {
360
+ markdown += `## ✅ Checklists\n`;
361
+ card.checklists.forEach(checklist => {
362
+ const completed = checklist.checkItems.filter(item => item.state === 'complete').length;
363
+ const total = checklist.checkItems.length;
364
+ markdown += `### ${checklist.name} (${completed}/${total})\n`;
365
+ // Sort by position
366
+ const sortedItems = [...checklist.checkItems].sort((a, b) => a.pos - b.pos);
367
+ sortedItems.forEach(item => {
368
+ const checkbox = item.state === 'complete' ? '[x]' : '[ ]';
369
+ markdown += `- ${checkbox} ${item.name}`;
370
+ if (item.due) {
371
+ const itemDue = new Date(item.due);
372
+ markdown += ` (Due: ${itemDue.toLocaleDateString()})`;
373
+ }
374
+ if (item.idMember) {
375
+ const member = card.members?.find(m => m.id === item.idMember);
376
+ if (member) {
377
+ markdown += ` - @${member.username}`;
378
+ }
379
+ }
380
+ markdown += '\n';
381
+ });
382
+ markdown += '\n';
383
+ });
384
+ }
385
+ // Attachments
386
+ if (card.attachments && card.attachments.length > 0) {
387
+ markdown += `## 📎 Attachments (${card.attachments.length})\n`;
388
+ card.attachments.forEach((attachment, index) => {
389
+ markdown += `### ${index + 1}. ${attachment.name}\n`;
390
+ markdown += `- **URL**: ${attachment.url}\n`;
391
+ if (attachment.fileName) {
392
+ markdown += `- **File**: ${attachment.fileName}`;
393
+ if (attachment.bytes) {
394
+ const size = this.formatFileSize(attachment.bytes);
395
+ markdown += ` (${size})`;
396
+ }
397
+ markdown += '\n';
398
+ }
399
+ if (attachment.mimeType) {
400
+ markdown += `- **Type**: ${attachment.mimeType}\n`;
401
+ }
402
+ markdown += `- **Added**: ${new Date(attachment.date).toLocaleString()}\n`;
403
+ // Image preview
404
+ if (attachment.previews && attachment.previews.length > 0) {
405
+ const preview = attachment.previews[0];
406
+ markdown += `- **Preview**: ![${attachment.name}](${preview.url})\n`;
407
+ }
408
+ markdown += '\n';
409
+ });
410
+ }
411
+ // Comments
412
+ if (card.comments && card.comments.length > 0) {
413
+ markdown += `## 💬 Comments (${card.comments.length})\n`;
414
+ card.comments.forEach(comment => {
415
+ const date = new Date(comment.date);
416
+ markdown += `### ${comment.memberCreator.fullName} (@${comment.memberCreator.username}) - ${date.toLocaleString()}\n`;
417
+ markdown += `${comment.data.text}\n\n`;
418
+ });
419
+ }
420
+ // Statistics
421
+ if (card.badges) {
422
+ markdown += `## 📊 Statistics\n`;
423
+ if (card.badges.checkItems > 0) {
424
+ markdown += `- **Checklist Items**: ${card.badges.checkItemsChecked}/${card.badges.checkItems} completed\n`;
425
+ }
426
+ if (card.badges.comments > 0) {
427
+ markdown += `- **Comments**: ${card.badges.comments}\n`;
428
+ }
429
+ if (card.badges.attachments > 0) {
430
+ markdown += `- **Attachments**: ${card.badges.attachments}\n`;
431
+ }
432
+ if (card.badges.votes > 0) {
433
+ markdown += `- **Votes**: ${card.badges.votes}\n`;
434
+ }
435
+ markdown += '\n';
436
+ }
437
+ // Links
438
+ markdown += `## 🔗 Links\n`;
439
+ markdown += `- **Card URL**: ${card.url}\n`;
440
+ markdown += `- **Short URL**: ${card.shortUrl}\n\n`;
441
+ // Metadata
442
+ markdown += `---\n`;
443
+ markdown += `*Last Activity: ${new Date(card.dateLastActivity).toLocaleString()}*\n`;
444
+ markdown += `*Card ID: ${card.id}*\n`;
445
+ return markdown;
446
+ }
447
+ formatFileSize(bytes) {
448
+ const sizes = ['Bytes', 'KB', 'MB', 'GB'];
449
+ if (bytes === 0)
450
+ return '0 Bytes';
451
+ const i = Math.floor(Math.log(bytes) / Math.log(1024));
452
+ return Math.round((bytes / Math.pow(1024, i)) * 100) / 100 + ' ' + sizes[i];
453
+ }
279
454
  }
280
455
  //# sourceMappingURL=trello-client.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"trello-client.js","sourceRoot":"","sources":["../src/trello-client.ts"],"names":[],"mappings":"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"}
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
@@ -93,6 +93,119 @@ export interface TrelloAttachment {
93
93
  }>;
94
94
  isUpload: boolean;
95
95
  }
96
+ export interface TrelloCheckItem {
97
+ id: string;
98
+ name: string;
99
+ state: 'complete' | 'incomplete';
100
+ pos: number;
101
+ due?: string | null;
102
+ dueReminder?: number | null;
103
+ idMember?: string | null;
104
+ }
105
+ export interface TrelloChecklist {
106
+ id: string;
107
+ name: string;
108
+ idCard: string;
109
+ pos: number;
110
+ checkItems: TrelloCheckItem[];
111
+ }
112
+ export interface TrelloLabelDetails {
113
+ id: string;
114
+ idBoard: string;
115
+ name: string;
116
+ color: string;
117
+ }
118
+ export interface TrelloComment {
119
+ id: string;
120
+ date: string;
121
+ data: {
122
+ text: string;
123
+ card?: {
124
+ id: string;
125
+ name: string;
126
+ };
127
+ };
128
+ memberCreator: {
129
+ id: string;
130
+ fullName: string;
131
+ username: string;
132
+ avatarUrl?: string;
133
+ };
134
+ }
135
+ export interface TrelloCustomField {
136
+ id: string;
137
+ name: string;
138
+ type: string;
139
+ value?: any;
140
+ }
141
+ export interface TrelloBadges {
142
+ attachmentsByType?: {
143
+ trello?: {
144
+ board: number;
145
+ card: number;
146
+ };
147
+ };
148
+ location: boolean;
149
+ votes: number;
150
+ viewingMemberVoted: boolean;
151
+ subscribed: boolean;
152
+ fogbugz: string;
153
+ checkItems: number;
154
+ checkItemsChecked: number;
155
+ checkItemsEarliestDue?: string | null;
156
+ comments: number;
157
+ attachments: number;
158
+ description: boolean;
159
+ due?: string | null;
160
+ dueComplete: boolean;
161
+ start?: string | null;
162
+ }
163
+ export interface TrelloCover {
164
+ idAttachment?: string | null;
165
+ color?: string | null;
166
+ idUploadedBackground?: string | null;
167
+ size: 'normal' | 'full';
168
+ brightness: 'light' | 'dark';
169
+ isTemplate: boolean;
170
+ }
171
+ export interface EnhancedTrelloCard {
172
+ id: string;
173
+ name: string;
174
+ desc: string;
175
+ descData?: {
176
+ emoji?: Record<string, any>;
177
+ };
178
+ due: string | null;
179
+ dueComplete: boolean;
180
+ dueReminder: number | null;
181
+ start: string | null;
182
+ idList: string;
183
+ idBoard: string;
184
+ closed: boolean;
185
+ url: string;
186
+ shortUrl: string;
187
+ dateLastActivity: string;
188
+ pos: number;
189
+ labels: TrelloLabelDetails[];
190
+ idLabels: string[];
191
+ attachments: TrelloAttachment[];
192
+ checklists: TrelloChecklist[];
193
+ members: TrelloMember[];
194
+ idMembers: string[];
195
+ comments: TrelloComment[];
196
+ customFieldItems?: TrelloCustomField[];
197
+ badges: TrelloBadges;
198
+ cover: TrelloCover;
199
+ list?: {
200
+ id: string;
201
+ name: string;
202
+ };
203
+ board?: {
204
+ id: string;
205
+ name: string;
206
+ url: string;
207
+ };
208
+ }
96
209
  export interface RateLimiter {
97
210
  canMakeRequest(): boolean;
98
211
  waitForAvailableToken(): Promise<void>;
@@ -4,6 +4,9 @@ export declare function validateNumber(value: unknown, field: string): number;
4
4
  export declare function validateOptionalNumber(value: unknown): number | undefined;
5
5
  export declare function validateStringArray(value: unknown): string[];
6
6
  export declare function validateOptionalStringArray(value: unknown): string[] | undefined;
7
+ export declare function validateBoolean(value: unknown, field: string): boolean;
8
+ export declare function validateOptionalBoolean(value: unknown): boolean | undefined;
9
+ export declare function validateOptionalDateString(value: unknown): string | undefined;
7
10
  export declare function validateGetCardsListRequest(args: Record<string, unknown>): {
8
11
  boardId?: string;
9
12
  listId: string;
@@ -21,6 +24,7 @@ export declare function validateAddCardRequest(args: Record<string, unknown>): {
21
24
  name: string;
22
25
  description?: string;
23
26
  dueDate?: string;
27
+ start?: string;
24
28
  labels?: string[];
25
29
  };
26
30
  export declare function validateUpdateCardRequest(args: Record<string, unknown>): {
@@ -29,6 +33,8 @@ export declare function validateUpdateCardRequest(args: Record<string, unknown>)
29
33
  name?: string;
30
34
  description?: string;
31
35
  dueDate?: string;
36
+ start?: string;
37
+ dueComplete?: boolean;
32
38
  labels?: string[];
33
39
  };
34
40
  export declare function validateArchiveCardRequest(args: Record<string, unknown>): {
@@ -63,3 +69,7 @@ export declare function validateSetActiveWorkspaceRequest(args: Record<string, u
63
69
  export declare function validateListBoardsInWorkspaceRequest(args: Record<string, unknown>): {
64
70
  workspaceId: string;
65
71
  };
72
+ export declare function validateGetCardRequest(args: Record<string, unknown>): {
73
+ cardId: string;
74
+ includeMarkdown?: boolean;
75
+ };
@@ -32,6 +32,26 @@ export function validateOptionalStringArray(value) {
32
32
  return undefined;
33
33
  return validateStringArray(value);
34
34
  }
35
+ export function validateBoolean(value, field) {
36
+ if (typeof value !== 'boolean') {
37
+ throw new McpError(ErrorCode.InvalidParams, `${field} must be a boolean`);
38
+ }
39
+ return value;
40
+ }
41
+ export function validateOptionalBoolean(value) {
42
+ if (value === undefined)
43
+ return undefined;
44
+ return validateBoolean(value, 'value');
45
+ }
46
+ export function validateOptionalDateString(value) {
47
+ if (value === undefined)
48
+ return undefined;
49
+ const dateStr = validateString(value, 'date');
50
+ if (!/^\d{4}-\d{2}-\d{2}$/.test(dateStr)) {
51
+ throw new McpError(ErrorCode.InvalidParams, 'date must be in YYYY-MM-DD format');
52
+ }
53
+ return dateStr;
54
+ }
35
55
  export function validateGetCardsListRequest(args) {
36
56
  if (!args.listId) {
37
57
  throw new McpError(ErrorCode.InvalidParams, 'listId is required');
@@ -62,6 +82,7 @@ export function validateAddCardRequest(args) {
62
82
  name: validateString(args.name, 'name'),
63
83
  description: validateOptionalString(args.description),
64
84
  dueDate: validateOptionalString(args.dueDate),
85
+ start: validateOptionalDateString(args.start),
65
86
  labels: validateOptionalStringArray(args.labels),
66
87
  };
67
88
  }
@@ -75,6 +96,8 @@ export function validateUpdateCardRequest(args) {
75
96
  name: validateOptionalString(args.name),
76
97
  description: validateOptionalString(args.description),
77
98
  dueDate: validateOptionalString(args.dueDate),
99
+ start: validateOptionalDateString(args.start),
100
+ dueComplete: validateOptionalBoolean(args.dueComplete),
78
101
  labels: validateOptionalStringArray(args.labels),
79
102
  };
80
103
  }
@@ -157,4 +180,13 @@ export function validateListBoardsInWorkspaceRequest(args) {
157
180
  workspaceId: validateString(args.workspaceId, 'workspaceId'),
158
181
  };
159
182
  }
183
+ export function validateGetCardRequest(args) {
184
+ if (!args.cardId) {
185
+ throw new McpError(ErrorCode.InvalidParams, 'cardId is required');
186
+ }
187
+ return {
188
+ cardId: validateString(args.cardId, 'cardId'),
189
+ includeMarkdown: validateOptionalBoolean(args.includeMarkdown),
190
+ };
191
+ }
160
192
  //# sourceMappingURL=validators.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validators.js","sourceRoot":"","sources":["../src/validators.ts"],"names":[],"mappings":"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"}
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": "1.0.0",
3
+ "version": "1.1.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",