trello-mcp 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.
Files changed (42) hide show
  1. package/README.md +394 -0
  2. package/dist/constants.d.ts +13 -0
  3. package/dist/constants.d.ts.map +1 -0
  4. package/dist/constants.js +28 -0
  5. package/dist/constants.js.map +1 -0
  6. package/dist/index.d.ts +27 -0
  7. package/dist/index.d.ts.map +1 -0
  8. package/dist/index.js +243 -0
  9. package/dist/index.js.map +1 -0
  10. package/dist/services/trello-client.d.ts +49 -0
  11. package/dist/services/trello-client.d.ts.map +1 -0
  12. package/dist/services/trello-client.js +162 -0
  13. package/dist/services/trello-client.js.map +1 -0
  14. package/dist/tools/boards.d.ts +6 -0
  15. package/dist/tools/boards.d.ts.map +1 -0
  16. package/dist/tools/boards.js +299 -0
  17. package/dist/tools/boards.js.map +1 -0
  18. package/dist/tools/cards.d.ts +6 -0
  19. package/dist/tools/cards.d.ts.map +1 -0
  20. package/dist/tools/cards.js +859 -0
  21. package/dist/tools/cards.js.map +1 -0
  22. package/dist/tools/checklists.d.ts +6 -0
  23. package/dist/tools/checklists.d.ts.map +1 -0
  24. package/dist/tools/checklists.js +394 -0
  25. package/dist/tools/checklists.js.map +1 -0
  26. package/dist/tools/labels.d.ts +6 -0
  27. package/dist/tools/labels.d.ts.map +1 -0
  28. package/dist/tools/labels.js +153 -0
  29. package/dist/tools/labels.js.map +1 -0
  30. package/dist/tools/lists.d.ts +6 -0
  31. package/dist/tools/lists.d.ts.map +1 -0
  32. package/dist/tools/lists.js +275 -0
  33. package/dist/tools/lists.js.map +1 -0
  34. package/dist/tools/members.d.ts +6 -0
  35. package/dist/tools/members.d.ts.map +1 -0
  36. package/dist/tools/members.js +254 -0
  37. package/dist/tools/members.js.map +1 -0
  38. package/dist/types.d.ts +111 -0
  39. package/dist/types.d.ts.map +1 -0
  40. package/dist/types.js +5 -0
  41. package/dist/types.js.map +1 -0
  42. package/package.json +41 -0
@@ -0,0 +1,299 @@
1
+ /**
2
+ * Board tools for Trello MCP Server
3
+ */
4
+ import { z } from "zod";
5
+ import { getTrelloClient, formatError } from "../services/trello-client.js";
6
+ export function registerBoardTools(server) {
7
+ // --- List Boards ---
8
+ server.registerTool("trello_list_boards", {
9
+ title: "List Trello Boards",
10
+ description: `List all Trello boards accessible to the authenticated user.
11
+
12
+ Returns:
13
+ Array of boards with id, name, url, and closed status.
14
+ By default only shows open boards. Use include_closed=true to see all.`,
15
+ inputSchema: {
16
+ include_closed: z
17
+ .boolean()
18
+ .optional()
19
+ .describe("Include closed/archived boards (default: false)"),
20
+ },
21
+ annotations: {
22
+ readOnlyHint: true,
23
+ destructiveHint: false,
24
+ idempotentHint: true,
25
+ openWorldHint: true,
26
+ },
27
+ }, async ({ include_closed }) => {
28
+ try {
29
+ const client = getTrelloClient();
30
+ const boards = await client.get("/members/me/boards", { fields: "name,url,shortUrl,closed,desc" });
31
+ const filtered = include_closed
32
+ ? boards
33
+ : boards.filter((b) => !b.closed);
34
+ const result = filtered.map((b) => ({
35
+ id: b.id,
36
+ name: b.name,
37
+ description: b.desc || null,
38
+ url: b.shortUrl || b.url,
39
+ closed: b.closed,
40
+ }));
41
+ return {
42
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
43
+ structuredContent: { boards: result, count: result.length },
44
+ };
45
+ }
46
+ catch (error) {
47
+ return {
48
+ content: [{ type: "text", text: formatError(error, "listing boards") }],
49
+ isError: true,
50
+ };
51
+ }
52
+ });
53
+ // --- Get Board ---
54
+ server.registerTool("trello_get_board", {
55
+ title: "Get Trello Board",
56
+ description: `Get detailed information about a Trello board including its lists.
57
+
58
+ Args:
59
+ - board_id: The board ID or shortLink
60
+
61
+ Returns:
62
+ Board object with id, name, description, url, and lists array.`,
63
+ inputSchema: {
64
+ board_id: z.string().describe("The board ID or shortLink"),
65
+ },
66
+ annotations: {
67
+ readOnlyHint: true,
68
+ destructiveHint: false,
69
+ idempotentHint: true,
70
+ openWorldHint: true,
71
+ },
72
+ }, async ({ board_id }) => {
73
+ try {
74
+ const client = getTrelloClient();
75
+ const board = await client.get(`/boards/${board_id}`, { fields: "name,desc,url,shortUrl,closed", lists: "open" });
76
+ const result = {
77
+ id: board.id,
78
+ name: board.name,
79
+ description: board.desc || null,
80
+ url: board.shortUrl || board.url,
81
+ closed: board.closed,
82
+ lists: board.lists?.map((l) => ({
83
+ id: l.id,
84
+ name: l.name,
85
+ closed: l.closed,
86
+ })) || [],
87
+ };
88
+ return {
89
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
90
+ structuredContent: result,
91
+ };
92
+ }
93
+ catch (error) {
94
+ return {
95
+ content: [{ type: "text", text: formatError(error, "getting board") }],
96
+ isError: true,
97
+ };
98
+ }
99
+ });
100
+ // --- Create Board ---
101
+ server.registerTool("trello_create_board", {
102
+ title: "Create Trello Board",
103
+ description: `Create a new Trello board.
104
+
105
+ Args:
106
+ - name: The name for the new board
107
+ - desc: Optional description
108
+ - default_lists: Whether to create default lists (To Do, Doing, Done). Default: true
109
+
110
+ Returns:
111
+ Created board with id, name, and url.`,
112
+ inputSchema: {
113
+ name: z.string().min(1).max(16384).describe("Board name"),
114
+ desc: z.string().optional().describe("Board description"),
115
+ default_lists: z
116
+ .boolean()
117
+ .optional()
118
+ .describe("Create default lists (default: true)"),
119
+ },
120
+ annotations: {
121
+ readOnlyHint: false,
122
+ destructiveHint: false,
123
+ idempotentHint: false,
124
+ openWorldHint: true,
125
+ },
126
+ }, async ({ name, desc, default_lists }) => {
127
+ try {
128
+ const client = getTrelloClient();
129
+ const board = await client.post("/boards", {
130
+ name,
131
+ desc,
132
+ defaultLists: default_lists === false ? "false" : "true",
133
+ });
134
+ return {
135
+ content: [
136
+ {
137
+ type: "text",
138
+ text: `Board created: "${board.name}" (${board.shortUrl || board.url})`,
139
+ },
140
+ ],
141
+ structuredContent: {
142
+ id: board.id,
143
+ name: board.name,
144
+ url: board.shortUrl || board.url,
145
+ },
146
+ };
147
+ }
148
+ catch (error) {
149
+ return {
150
+ content: [{ type: "text", text: formatError(error, "creating board") }],
151
+ isError: true,
152
+ };
153
+ }
154
+ });
155
+ // --- Get Board Labels ---
156
+ server.registerTool("trello_get_board_labels", {
157
+ title: "Get Board Labels",
158
+ description: `Get all labels defined on a board.
159
+
160
+ Args:
161
+ - board_id: The board ID
162
+
163
+ Returns:
164
+ Array of labels with id, name, and color.`,
165
+ inputSchema: {
166
+ board_id: z.string().describe("The board ID"),
167
+ },
168
+ annotations: {
169
+ readOnlyHint: true,
170
+ destructiveHint: false,
171
+ idempotentHint: true,
172
+ openWorldHint: true,
173
+ },
174
+ }, async ({ board_id }) => {
175
+ try {
176
+ const client = getTrelloClient();
177
+ const labels = await client.get(`/boards/${board_id}/labels`);
178
+ const result = labels.map((l) => ({
179
+ id: l.id,
180
+ name: l.name || "(no name)",
181
+ color: l.color,
182
+ }));
183
+ return {
184
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
185
+ structuredContent: { labels: result, count: result.length },
186
+ };
187
+ }
188
+ catch (error) {
189
+ return {
190
+ content: [{ type: "text", text: formatError(error, "getting board labels") }],
191
+ isError: true,
192
+ };
193
+ }
194
+ });
195
+ // --- Get Board Members ---
196
+ server.registerTool("trello_get_board_members", {
197
+ title: "Get Board Members",
198
+ description: `Get all members of a board.
199
+
200
+ Args:
201
+ - board_id: The board ID
202
+
203
+ Returns:
204
+ Array of members with id, username, and fullName.`,
205
+ inputSchema: {
206
+ board_id: z.string().describe("The board ID"),
207
+ },
208
+ annotations: {
209
+ readOnlyHint: true,
210
+ destructiveHint: false,
211
+ idempotentHint: true,
212
+ openWorldHint: true,
213
+ },
214
+ }, async ({ board_id }) => {
215
+ try {
216
+ const client = getTrelloClient();
217
+ const members = await client.get(`/boards/${board_id}/members`);
218
+ const result = members.map((m) => ({
219
+ id: m.id,
220
+ username: m.username,
221
+ fullName: m.fullName,
222
+ initials: m.initials,
223
+ }));
224
+ return {
225
+ content: [{ type: "text", text: JSON.stringify(result, null, 2) }],
226
+ structuredContent: { members: result, count: result.length },
227
+ };
228
+ }
229
+ catch (error) {
230
+ return {
231
+ content: [{ type: "text", text: formatError(error, "getting board members") }],
232
+ isError: true,
233
+ };
234
+ }
235
+ });
236
+ // --- Update Board ---
237
+ server.registerTool("trello_update_board", {
238
+ title: "Update Trello Board",
239
+ description: `Update a board's name, description, or closed status.
240
+
241
+ Args:
242
+ - board_id: The board ID
243
+ - name: New board name (optional)
244
+ - desc: New description (optional)
245
+ - closed: Archive (true) or unarchive (false) the board (optional)
246
+
247
+ Returns:
248
+ Updated board confirmation.`,
249
+ inputSchema: {
250
+ board_id: z.string().describe("The board ID"),
251
+ name: z.string().optional().describe("New board name"),
252
+ desc: z.string().optional().describe("New description"),
253
+ closed: z.boolean().optional().describe("Archive/unarchive the board"),
254
+ },
255
+ annotations: {
256
+ readOnlyHint: false,
257
+ destructiveHint: false,
258
+ idempotentHint: true,
259
+ openWorldHint: true,
260
+ },
261
+ }, async ({ board_id, name, desc, closed }) => {
262
+ try {
263
+ if (name === undefined && desc === undefined && closed === undefined) {
264
+ return {
265
+ content: [{ type: "text", text: "No updates provided" }],
266
+ };
267
+ }
268
+ const client = getTrelloClient();
269
+ const updates = {};
270
+ if (name !== undefined)
271
+ updates.name = name;
272
+ if (desc !== undefined)
273
+ updates.desc = desc;
274
+ if (closed !== undefined)
275
+ updates.closed = String(closed);
276
+ const board = await client.put(`/boards/${board_id}`, updates);
277
+ return {
278
+ content: [
279
+ {
280
+ type: "text",
281
+ text: `Board updated: "${board.name}" (${board.shortUrl || board.url})`,
282
+ },
283
+ ],
284
+ structuredContent: {
285
+ id: board.id,
286
+ name: board.name,
287
+ closed: board.closed,
288
+ },
289
+ };
290
+ }
291
+ catch (error) {
292
+ return {
293
+ content: [{ type: "text", text: formatError(error, "updating board") }],
294
+ isError: true,
295
+ };
296
+ }
297
+ });
298
+ }
299
+ //# sourceMappingURL=boards.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"boards.js","sourceRoot":"","sources":["../../src/tools/boards.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Card tools for Trello MCP Server
3
+ */
4
+ import { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
5
+ export declare function registerCardTools(server: McpServer): void;
6
+ //# sourceMappingURL=cards.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cards.d.ts","sourceRoot":"","sources":["../../src/tools/cards.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yCAAyC,CAAC;AAWpE,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAo8BzD"}