dspot-trello-gantt 0.3.0 → 0.3.2

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
@@ -122,18 +122,24 @@ Add to your `claude_desktop_config.json` or Claude Code settings:
122
122
  "args": ["-y", "dspot-trello-gantt", "mcp"],
123
123
  "env": {
124
124
  "TRELLO_API_KEY": "your_api_key",
125
- "TRELLO_API_TOKEN": "your_api_token"
125
+ "TRELLO_API_TOKEN": "your_api_token",
126
+ "GANTT_BOARD_ID": "https://trello.com/b/abc123/board-name"
126
127
  }
127
128
  }
128
129
  }
129
130
  }
130
131
  ```
131
132
 
133
+ Setting `GANTT_BOARD_ID` is recommended — without it the agent will ask for the board ID on every call.
134
+
132
135
  ### Available tools
133
136
 
134
137
  | Tool | Description |
135
138
  |---|---|
136
139
  | `generate_gantt` | Fetches a Trello board and generates a standalone Gantt HTML file |
140
+ | `publish_gantt` | Generates the Gantt HTML and publishes it to Google Apps Script |
141
+
142
+ `publish_gantt` requires `GAPPS_SCRIPT_ID` and `GAPPS_DEPLOYMENT_ID` in the environment.
137
143
 
138
144
  ## Programmatic usage
139
145
 
package/dist/mcp.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAkIjE,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD"}
1
+ {"version":3,"file":"mcp.d.ts","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"AAAA,iEAAiE;AAiMjE,wBAAsB,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC,CAGlD"}
package/dist/mcp.js CHANGED
@@ -1,29 +1,31 @@
1
1
  "use strict";
2
2
  /** MCP server that generates Gantt charts from Trello boards. */
3
+ var __importDefault = (this && this.__importDefault) || function (mod) {
4
+ return (mod && mod.__esModule) ? mod : { "default": mod };
5
+ };
3
6
  Object.defineProperty(exports, "__esModule", { value: true });
4
7
  exports.runMcpServer = runMcpServer;
5
8
  const mcp_js_1 = require("@modelcontextprotocol/sdk/server/mcp.js");
6
9
  const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
7
10
  const zod_1 = require("zod");
11
+ const path_1 = __importDefault(require("path"));
8
12
  const mapper_js_1 = require("./mapper.js");
9
13
  const mermaid_js_1 = require("./mermaid.js");
10
14
  const renderer_js_1 = require("./renderer.js");
11
15
  const trello_js_1 = require("./trello.js");
12
16
  const validator_js_1 = require("./validator.js");
13
17
  const models_js_1 = require("./models.js");
18
+ const publisher_js_1 = require("./publisher.js");
14
19
  function parseCsv(value) {
15
20
  if (!value)
16
21
  return [];
17
22
  return value.split(',').map((s) => s.trim()).filter(Boolean);
18
23
  }
19
- const server = new mcp_js_1.McpServer({
20
- name: 'trello-gantt',
21
- version: '0.3.0',
22
- });
23
- server.tool('generate_gantt', 'Generate a Mermaid Gantt chart HTML file from a Trello board.', {
24
+ const BOARD_PARAMS = {
24
25
  board_id: zod_1.z
25
26
  .string()
26
- .describe('Trello board ID or full URL (e.g. "abc123" or "https://trello.com/b/abc123/board-name")'),
27
+ .optional()
28
+ .describe('Trello board ID or full URL. Falls back to GANTT_BOARD_ID env variable if not provided.'),
27
29
  lists: zod_1.z
28
30
  .string()
29
31
  .optional()
@@ -37,45 +39,38 @@ server.tool('generate_gantt', 'Generate a Mermaid Gantt chart HTML file from a T
37
39
  .string()
38
40
  .optional()
39
41
  .describe('Comma-separated list names to render as milestones.'),
40
- output: zod_1.z
41
- .string()
42
- .optional()
43
- .default('gantt.html')
44
- .describe('Output HTML file path.'),
45
- }, async ({ board_id, lists, title, milestone_list, output }) => {
42
+ };
43
+ async function buildHtml(params) {
44
+ const rawBoardId = params.board_id ?? process.env.GANTT_BOARD_ID;
45
+ if (!rawBoardId) {
46
+ return { ok: false, error: 'board_id is required. Provide it as an argument or set GANTT_BOARD_ID in the environment.' };
47
+ }
46
48
  let boardId;
47
49
  try {
48
- boardId = (0, trello_js_1.parseBoardId)(board_id);
50
+ boardId = (0, trello_js_1.parseBoardId)(rawBoardId);
49
51
  }
50
52
  catch (err) {
51
- return { content: [{ type: 'text', text: `Error parsing board ID: ${err}` }] };
53
+ return { ok: false, error: `Error parsing board ID: ${err}` };
52
54
  }
53
55
  let fetchResult;
54
56
  try {
55
- fetchResult = await (0, trello_js_1.getCardsForLists)(boardId, parseCsv(lists));
57
+ fetchResult = await (0, trello_js_1.getCardsForLists)(boardId, parseCsv(params.lists));
56
58
  }
57
59
  catch (err) {
58
- if (err instanceof trello_js_1.TrelloAuthError) {
59
- return { content: [{ type: 'text', text: `Authentication error: ${err.message}. Check TRELLO_API_KEY and TRELLO_API_TOKEN.` }] };
60
- }
61
- if (err instanceof trello_js_1.TrelloBoardNotFoundError) {
62
- return { content: [{ type: 'text', text: `Board not found: ${err.message}` }] };
63
- }
64
- if (err instanceof trello_js_1.TrelloDataError) {
65
- return { content: [{ type: 'text', text: `Trello error: ${err.message}` }] };
66
- }
67
- return { content: [{ type: 'text', text: `Unexpected error: ${String(err)}` }] };
60
+ if (err instanceof trello_js_1.TrelloAuthError)
61
+ return { ok: false, error: `Authentication error: ${err.message}. Check TRELLO_API_KEY and TRELLO_API_TOKEN.` };
62
+ if (err instanceof trello_js_1.TrelloBoardNotFoundError)
63
+ return { ok: false, error: `Board not found: ${err.message}` };
64
+ if (err instanceof trello_js_1.TrelloDataError)
65
+ return { ok: false, error: `Trello error: ${err.message}` };
66
+ return { ok: false, error: `Unexpected error: ${String(err)}` };
68
67
  }
69
- const { tasks, warnings, stats, assigneeLegend } = (0, mapper_js_1.mapCardsToGanttTasks)(fetchResult.cardsByList, { milestoneLists: parseCsv(milestone_list) });
68
+ const title = params.title ?? 'Project Gantt Chart';
69
+ const { tasks, warnings, stats, assigneeLegend } = (0, mapper_js_1.mapCardsToGanttTasks)(fetchResult.cardsByList, { milestoneLists: parseCsv(params.milestone_list) });
70
70
  const allWarnings = [...fetchResult.warnings, ...warnings];
71
71
  const report = (0, validator_js_1.validateTasks)(tasks, allWarnings, stats);
72
72
  if ((0, models_js_1.hasErrors)(report)) {
73
- return {
74
- content: [{
75
- type: 'text',
76
- text: `Validation failed. HTML was not generated.\n\n${(0, validator_js_1.formatValidationReport)(report)}`,
77
- }],
78
- };
73
+ return { ok: false, error: `Validation failed.\n\n${(0, validator_js_1.formatValidationReport)(report)}` };
79
74
  }
80
75
  let boardName = boardId;
81
76
  try {
@@ -83,7 +78,7 @@ server.tool('generate_gantt', 'Generate a Mermaid Gantt chart HTML file from a T
83
78
  }
84
79
  catch { /* fallback */ }
85
80
  const mermaidSyntax = (0, mermaid_js_1.generateMermaidGantt)(tasks, title);
86
- const metadata = {
81
+ const html = (0, renderer_js_1.renderHtml)(mermaidSyntax, report, {
87
82
  title,
88
83
  boardId,
89
84
  boardName,
@@ -91,20 +86,74 @@ server.tool('generate_gantt', 'Generate a Mermaid Gantt chart HTML file from a T
91
86
  generatedAt: new Date().toISOString().replace(/\.\d{3}Z$/, ''),
92
87
  assigneeLegend,
93
88
  ganttTotalDays: (0, mermaid_js_1.ganttDateSpanDays)(tasks),
94
- };
95
- const html = (0, renderer_js_1.renderHtml)(mermaidSyntax, report, metadata, tasks);
96
- const outputPath = (0, renderer_js_1.saveHtml)(html, output ?? 'gantt.html');
89
+ }, tasks);
90
+ return { ok: true, html, boardName, stats, warningCount: report.warnings.length, errorCount: report.errors.length };
91
+ }
92
+ // --- Server ---
93
+ const server = new mcp_js_1.McpServer({
94
+ name: 'trello-gantt',
95
+ version: '0.3.2',
96
+ });
97
+ // Tool: generate_gantt
98
+ server.tool('generate_gantt', 'Generate a Mermaid Gantt chart HTML file from a Trello board.', {
99
+ ...BOARD_PARAMS,
100
+ output: zod_1.z
101
+ .string()
102
+ .optional()
103
+ .default('gantt.html')
104
+ .describe('Output HTML file path.'),
105
+ }, async ({ board_id, lists, title, milestone_list, output }) => {
106
+ const result = await buildHtml({ board_id, lists, title, milestone_list });
107
+ if (!result.ok)
108
+ return { content: [{ type: 'text', text: `Error: ${result.error}` }] };
109
+ const outputPath = (0, renderer_js_1.saveHtml)(result.html, output ?? 'gantt.html');
97
110
  return {
98
111
  content: [{
99
112
  type: 'text',
100
113
  text: [
101
114
  'Gantt chart generated successfully.',
102
115
  `Output: ${outputPath}`,
103
- `Board: ${boardName}`,
104
- `Cards processed: ${stats.totalCards}`,
105
- `Tasks generated: ${stats.mappedTasks}`,
106
- `Warnings: ${report.warnings.length}`,
107
- `Errors: ${report.errors.length}`,
116
+ `Board: ${result.boardName}`,
117
+ `Cards processed: ${result.stats.totalCards}`,
118
+ `Tasks generated: ${result.stats.mappedTasks}`,
119
+ `Warnings: ${result.warningCount}`,
120
+ ].join('\n'),
121
+ }],
122
+ };
123
+ });
124
+ // Tool: publish_gantt
125
+ server.tool('publish_gantt', 'Generate a Gantt chart and publish it to Google Apps Script. Credentials are read from environment variables.', BOARD_PARAMS, async ({ board_id, lists, title, milestone_list }) => {
126
+ const scriptId = process.env.GAPPS_SCRIPT_ID ?? '';
127
+ const deploymentId = process.env.GAPPS_DEPLOYMENT_ID ?? '';
128
+ const allowedEmails = parseCsv(process.env.GAPPS_ALLOWED_EMAILS);
129
+ if (!scriptId)
130
+ return { content: [{ type: 'text', text: 'Error: GAPPS_SCRIPT_ID is not set in the environment.' }] };
131
+ if (!deploymentId)
132
+ return { content: [{ type: 'text', text: 'Error: GAPPS_DEPLOYMENT_ID is not set in the environment.' }] };
133
+ const result = await buildHtml({ board_id, lists, title, milestone_list });
134
+ if (!result.ok)
135
+ return { content: [{ type: 'text', text: `Error: ${result.error}` }] };
136
+ try {
137
+ await (0, publisher_js_1.publishToAppsScript)(result.html, {
138
+ scriptId,
139
+ deploymentId,
140
+ allowedEmails,
141
+ credentialsPath: path_1.default.join(process.cwd(), 'credentials', 'google_oauth_client.json'),
142
+ tokenPath: path_1.default.join(process.cwd(), 'credentials', 'token.json'),
143
+ });
144
+ }
145
+ catch (err) {
146
+ return { content: [{ type: 'text', text: `Publish error: ${err instanceof Error ? err.message : String(err)}` }] };
147
+ }
148
+ return {
149
+ content: [{
150
+ type: 'text',
151
+ text: [
152
+ 'Gantt chart published successfully.',
153
+ `Board: ${result.boardName}`,
154
+ `Cards processed: ${result.stats.totalCards}`,
155
+ `Tasks generated: ${result.stats.mappedTasks}`,
156
+ `URL: https://script.google.com/macros/s/${deploymentId}/exec`,
108
157
  ].join('\n'),
109
158
  }],
110
159
  };
package/dist/mcp.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mcp.js","sourceRoot":"","sources":["../src/mcp.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "dspot-trello-gantt",
3
- "version": "0.3.0",
3
+ "version": "0.3.2",
4
4
  "description": "Generate Gantt chart HTML from Trello board data",
5
5
  "keywords": [
6
6
  "trello",