@chykalophia/clickup-mcp-server 3.2.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 (211) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +467 -0
  3. package/bin/clickup-mcp-server-ai.js +9 -0
  4. package/bin/clickup-mcp-server-basic.js +9 -0
  5. package/bin/clickup-mcp-server-efficiency.js +9 -0
  6. package/bin/clickup-mcp-server-enhanced.js +9 -0
  7. package/build/app.d.ts +1 -0
  8. package/build/app.js +2 -0
  9. package/build/app.js.map +1 -0
  10. package/build/clickup-client/attachments-enhanced.d.ts +128 -0
  11. package/build/clickup-client/attachments-enhanced.js +212 -0
  12. package/build/clickup-client/attachments-enhanced.js.map +1 -0
  13. package/build/clickup-client/auth.d.ts +254 -0
  14. package/build/clickup-client/auth.js +105 -0
  15. package/build/clickup-client/auth.js.map +1 -0
  16. package/build/clickup-client/chat-enhanced.d.ts +141 -0
  17. package/build/clickup-client/chat-enhanced.js +196 -0
  18. package/build/clickup-client/chat-enhanced.js.map +1 -0
  19. package/build/clickup-client/checklists.d.ts +87 -0
  20. package/build/clickup-client/checklists.js +63 -0
  21. package/build/clickup-client/checklists.js.map +1 -0
  22. package/build/clickup-client/comments-enhanced.d.ts +176 -0
  23. package/build/clickup-client/comments-enhanced.js +230 -0
  24. package/build/clickup-client/comments-enhanced.js.map +1 -0
  25. package/build/clickup-client/comments.d.ts +173 -0
  26. package/build/clickup-client/comments.js +312 -0
  27. package/build/clickup-client/comments.js.map +1 -0
  28. package/build/clickup-client/custom-fields-enhanced.d.ts +286 -0
  29. package/build/clickup-client/custom-fields-enhanced.js +416 -0
  30. package/build/clickup-client/custom-fields-enhanced.js.map +1 -0
  31. package/build/clickup-client/dependencies-enhanced.d.ts +144 -0
  32. package/build/clickup-client/dependencies-enhanced.js +142 -0
  33. package/build/clickup-client/dependencies-enhanced.js.map +1 -0
  34. package/build/clickup-client/docs-enhanced.d.ts +176 -0
  35. package/build/clickup-client/docs-enhanced.js +374 -0
  36. package/build/clickup-client/docs-enhanced.js.map +1 -0
  37. package/build/clickup-client/docs.d.ts +84 -0
  38. package/build/clickup-client/docs.js +156 -0
  39. package/build/clickup-client/docs.js.map +1 -0
  40. package/build/clickup-client/folders.d.ts +62 -0
  41. package/build/clickup-client/folders.js +53 -0
  42. package/build/clickup-client/folders.js.map +1 -0
  43. package/build/clickup-client/goals-enhanced.d.ts +163 -0
  44. package/build/clickup-client/goals-enhanced.js +309 -0
  45. package/build/clickup-client/goals-enhanced.js.map +1 -0
  46. package/build/clickup-client/index.d.ts +16 -0
  47. package/build/clickup-client/index.js +61 -0
  48. package/build/clickup-client/index.js.map +1 -0
  49. package/build/clickup-client/lists.d.ts +105 -0
  50. package/build/clickup-client/lists.js +108 -0
  51. package/build/clickup-client/lists.js.map +1 -0
  52. package/build/clickup-client/secure-client.d.ts +88 -0
  53. package/build/clickup-client/secure-client.js +275 -0
  54. package/build/clickup-client/secure-client.js.map +1 -0
  55. package/build/clickup-client/spaces.d.ts +58 -0
  56. package/build/clickup-client/spaces.js +28 -0
  57. package/build/clickup-client/spaces.js.map +1 -0
  58. package/build/clickup-client/tasks.d.ts +161 -0
  59. package/build/clickup-client/tasks.js +99 -0
  60. package/build/clickup-client/tasks.js.map +1 -0
  61. package/build/clickup-client/time-tracking-enhanced.d.ts +153 -0
  62. package/build/clickup-client/time-tracking-enhanced.js +292 -0
  63. package/build/clickup-client/time-tracking-enhanced.js.map +1 -0
  64. package/build/clickup-client/views-enhanced.d.ts +149 -0
  65. package/build/clickup-client/views-enhanced.js +210 -0
  66. package/build/clickup-client/views-enhanced.js.map +1 -0
  67. package/build/clickup-client/webhooks-enhanced.d.ts +119 -0
  68. package/build/clickup-client/webhooks-enhanced.js +169 -0
  69. package/build/clickup-client/webhooks-enhanced.js.map +1 -0
  70. package/build/controllers/lists.controller.d.ts +1 -0
  71. package/build/controllers/lists.controller.js +2 -0
  72. package/build/controllers/lists.controller.js.map +1 -0
  73. package/build/index-efficiency-simple.d.ts +2 -0
  74. package/build/index-efficiency-simple.js +379 -0
  75. package/build/index-efficiency-simple.js.map +1 -0
  76. package/build/index-enhanced-efficiency.d.ts +2 -0
  77. package/build/index-enhanced-efficiency.js +275 -0
  78. package/build/index-enhanced-efficiency.js.map +1 -0
  79. package/build/index-enhanced.d.ts +2 -0
  80. package/build/index-enhanced.js +74 -0
  81. package/build/index-enhanced.js.map +1 -0
  82. package/build/index.d.ts +2 -0
  83. package/build/index.js +77 -0
  84. package/build/index.js.map +1 -0
  85. package/build/resources/checklist-resources.d.ts +2 -0
  86. package/build/resources/checklist-resources.js +102 -0
  87. package/build/resources/checklist-resources.js.map +1 -0
  88. package/build/resources/comment-resources.d.ts +2 -0
  89. package/build/resources/comment-resources.js +152 -0
  90. package/build/resources/comment-resources.js.map +1 -0
  91. package/build/resources/doc-resources.d.ts +2 -0
  92. package/build/resources/doc-resources.js +77 -0
  93. package/build/resources/doc-resources.js.map +1 -0
  94. package/build/resources/folder-resources.d.ts +2 -0
  95. package/build/resources/folder-resources.js +160 -0
  96. package/build/resources/folder-resources.js.map +1 -0
  97. package/build/resources/list-resources.d.ts +2 -0
  98. package/build/resources/list-resources.js +104 -0
  99. package/build/resources/list-resources.js.map +1 -0
  100. package/build/resources/space-resources.d.ts +2 -0
  101. package/build/resources/space-resources.js +104 -0
  102. package/build/resources/space-resources.js.map +1 -0
  103. package/build/resources/task-resources.d.ts +2 -0
  104. package/build/resources/task-resources.js +57 -0
  105. package/build/resources/task-resources.js.map +1 -0
  106. package/build/routes/lists.routes.d.ts +1 -0
  107. package/build/routes/lists.routes.js +2 -0
  108. package/build/routes/lists.routes.js.map +1 -0
  109. package/build/schemas/attachments-schemas.d.ts +201 -0
  110. package/build/schemas/attachments-schemas.js +250 -0
  111. package/build/schemas/attachments-schemas.js.map +1 -0
  112. package/build/schemas/chat-schemas.d.ts +478 -0
  113. package/build/schemas/chat-schemas.js +173 -0
  114. package/build/schemas/chat-schemas.js.map +1 -0
  115. package/build/schemas/custom-field-schemas.d.ts +1617 -0
  116. package/build/schemas/custom-field-schemas.js +384 -0
  117. package/build/schemas/custom-field-schemas.js.map +1 -0
  118. package/build/schemas/dependencies-schemas.d.ts +274 -0
  119. package/build/schemas/dependencies-schemas.js +176 -0
  120. package/build/schemas/dependencies-schemas.js.map +1 -0
  121. package/build/schemas/document-schemas.d.ts +433 -0
  122. package/build/schemas/document-schemas.js +168 -0
  123. package/build/schemas/document-schemas.js.map +1 -0
  124. package/build/schemas/goals-schemas.d.ts +961 -0
  125. package/build/schemas/goals-schemas.js +293 -0
  126. package/build/schemas/goals-schemas.js.map +1 -0
  127. package/build/schemas/time-tracking-schemas.d.ts +741 -0
  128. package/build/schemas/time-tracking-schemas.js +234 -0
  129. package/build/schemas/time-tracking-schemas.js.map +1 -0
  130. package/build/schemas/views-schemas.d.ts +1168 -0
  131. package/build/schemas/views-schemas.js +221 -0
  132. package/build/schemas/views-schemas.js.map +1 -0
  133. package/build/schemas/webhook-schemas.d.ts +1127 -0
  134. package/build/schemas/webhook-schemas.js +137 -0
  135. package/build/schemas/webhook-schemas.js.map +1 -0
  136. package/build/services/lists.service.d.ts +1 -0
  137. package/build/services/lists.service.js +2 -0
  138. package/build/services/lists.service.js.map +1 -0
  139. package/build/tools/attachments-tools-setup.d.ts +2 -0
  140. package/build/tools/attachments-tools-setup.js +387 -0
  141. package/build/tools/attachments-tools-setup.js.map +1 -0
  142. package/build/tools/chat-tools-enhanced.d.ts +5 -0
  143. package/build/tools/chat-tools-enhanced.js +396 -0
  144. package/build/tools/chat-tools-enhanced.js.map +1 -0
  145. package/build/tools/chat-tools.d.ts +2 -0
  146. package/build/tools/chat-tools.js +614 -0
  147. package/build/tools/chat-tools.js.map +1 -0
  148. package/build/tools/checklist-tools.d.ts +2 -0
  149. package/build/tools/checklist-tools.js +139 -0
  150. package/build/tools/checklist-tools.js.map +1 -0
  151. package/build/tools/comment-tools.d.ts +2 -0
  152. package/build/tools/comment-tools.js +295 -0
  153. package/build/tools/comment-tools.js.map +1 -0
  154. package/build/tools/custom-field-tools.d.ts +2 -0
  155. package/build/tools/custom-field-tools.js +578 -0
  156. package/build/tools/custom-field-tools.js.map +1 -0
  157. package/build/tools/dependencies-tools-setup.d.ts +2 -0
  158. package/build/tools/dependencies-tools-setup.js +319 -0
  159. package/build/tools/dependencies-tools-setup.js.map +1 -0
  160. package/build/tools/doc-tools-enhanced.d.ts +2 -0
  161. package/build/tools/doc-tools-enhanced.js +417 -0
  162. package/build/tools/doc-tools-enhanced.js.map +1 -0
  163. package/build/tools/doc-tools.d.ts +2 -0
  164. package/build/tools/doc-tools.js +109 -0
  165. package/build/tools/doc-tools.js.map +1 -0
  166. package/build/tools/goals-tools.d.ts +2 -0
  167. package/build/tools/goals-tools.js +422 -0
  168. package/build/tools/goals-tools.js.map +1 -0
  169. package/build/tools/helper-tools.d.ts +2 -0
  170. package/build/tools/helper-tools.js +363 -0
  171. package/build/tools/helper-tools.js.map +1 -0
  172. package/build/tools/space-tools.d.ts +2 -0
  173. package/build/tools/space-tools.js +45 -0
  174. package/build/tools/space-tools.js.map +1 -0
  175. package/build/tools/task-tools.d.ts +2 -0
  176. package/build/tools/task-tools.js +415 -0
  177. package/build/tools/task-tools.js.map +1 -0
  178. package/build/tools/time-tracking-tools.d.ts +2 -0
  179. package/build/tools/time-tracking-tools.js +329 -0
  180. package/build/tools/time-tracking-tools.js.map +1 -0
  181. package/build/tools/views-tools-setup.d.ts +2 -0
  182. package/build/tools/views-tools-setup.js +358 -0
  183. package/build/tools/views-tools-setup.js.map +1 -0
  184. package/build/tools/webhook-tools-setup.d.ts +2 -0
  185. package/build/tools/webhook-tools-setup.js +304 -0
  186. package/build/tools/webhook-tools-setup.js.map +1 -0
  187. package/build/tools/webhook-tools.d.ts +4 -0
  188. package/build/tools/webhook-tools.js +345 -0
  189. package/build/tools/webhook-tools.js.map +1 -0
  190. package/build/utils/clickup-comment-formatter.d.ts +124 -0
  191. package/build/utils/clickup-comment-formatter.js +504 -0
  192. package/build/utils/clickup-comment-formatter.js.map +1 -0
  193. package/build/utils/context-aware-suggestions.d.ts +45 -0
  194. package/build/utils/context-aware-suggestions.js +360 -0
  195. package/build/utils/context-aware-suggestions.js.map +1 -0
  196. package/build/utils/error-handling.d.ts +140 -0
  197. package/build/utils/error-handling.js +392 -0
  198. package/build/utils/error-handling.js.map +1 -0
  199. package/build/utils/markdown-styling.d.ts +40 -0
  200. package/build/utils/markdown-styling.js +344 -0
  201. package/build/utils/markdown-styling.js.map +1 -0
  202. package/build/utils/markdown.d.ts +54 -0
  203. package/build/utils/markdown.js +243 -0
  204. package/build/utils/markdown.js.map +1 -0
  205. package/build/utils/security.d.ts +79 -0
  206. package/build/utils/security.js +303 -0
  207. package/build/utils/security.js.map +1 -0
  208. package/build/utils/tool-efficiency.d.ts +59 -0
  209. package/build/utils/tool-efficiency.js +247 -0
  210. package/build/utils/tool-efficiency.js.map +1 -0
  211. package/package.json +130 -0
@@ -0,0 +1,422 @@
1
+ import { z } from 'zod';
2
+ import { createClickUpClient } from '../clickup-client/index.js';
3
+ import { createEnhancedGoalsClient } from '../clickup-client/goals-enhanced.js';
4
+ // Create clients
5
+ const clickUpClient = createClickUpClient();
6
+ const goalsClient = createEnhancedGoalsClient(clickUpClient);
7
+ export function setupGoalsTools(server) {
8
+ // ========================================
9
+ // GOAL MANAGEMENT OPERATIONS
10
+ // ========================================
11
+ server.tool('get_goals', 'Get goals for a team with optional filtering. Returns goal details including progress, targets, and team members.', {
12
+ team_id: z.string().min(1).describe('The ID of the team to get goals for'),
13
+ include_completed: z.boolean().optional().default(false).describe('Whether to include completed goals')
14
+ }, async ({ team_id, include_completed }) => {
15
+ try {
16
+ const goals = await goalsClient.getGoals(team_id, include_completed);
17
+ return {
18
+ content: [{
19
+ type: 'text',
20
+ text: `Goals for team ${team_id}:\n\n${JSON.stringify(goals, null, 2)}`
21
+ }]
22
+ };
23
+ }
24
+ catch (error) {
25
+ console.error('Error getting goals:', error);
26
+ return {
27
+ content: [{ type: 'text', text: `Error getting goals: ${error.message}` }],
28
+ isError: true
29
+ };
30
+ }
31
+ });
32
+ server.tool('create_goal', 'Create a new goal with targets and deadlines. Supports team collaboration with multiple owners.', {
33
+ team_id: z.string().min(1).describe('The ID of the team to create the goal for'),
34
+ name: z.string().min(1).max(255).describe('The name of the goal'),
35
+ due_date: z.number().positive().describe('Goal due date (Unix timestamp)'),
36
+ description: z.string().optional().describe('Detailed description of the goal'),
37
+ multiple_owners: z.boolean().default(false).describe('Whether the goal can have multiple owners'),
38
+ owners: z.array(z.number().positive()).min(1).describe('Array of user IDs who own this goal'),
39
+ color: z.string().regex(/^#[0-9A-Fa-f]{6}$/).optional().default('#007cff').describe('Goal color (hex format)')
40
+ }, async ({ team_id, name, due_date, description, multiple_owners, owners, color }) => {
41
+ try {
42
+ // Validate due date is in the future
43
+ if (!goalsClient.validateGoalDate(due_date)) {
44
+ return {
45
+ content: [{ type: 'text', text: 'Error: Due date must be in the future' }],
46
+ isError: true
47
+ };
48
+ }
49
+ const params = {
50
+ name,
51
+ due_date,
52
+ description,
53
+ multiple_owners,
54
+ owners,
55
+ color
56
+ };
57
+ const goal = await goalsClient.createGoal(team_id, params);
58
+ return {
59
+ content: [{
60
+ type: 'text',
61
+ text: `Goal created successfully!\n\n${JSON.stringify(goal, null, 2)}`
62
+ }]
63
+ };
64
+ }
65
+ catch (error) {
66
+ console.error('Error creating goal:', error);
67
+ return {
68
+ content: [{ type: 'text', text: `Error creating goal: ${error.message}` }],
69
+ isError: true
70
+ };
71
+ }
72
+ });
73
+ server.tool('update_goal', 'Update an existing goal. Can modify name, description, due date, owners, and color.', {
74
+ goal_id: z.string().min(1).describe('The ID of the goal to update'),
75
+ name: z.string().min(1).max(255).optional().describe('New name for the goal'),
76
+ due_date: z.number().positive().optional().describe('New due date (Unix timestamp)'),
77
+ description: z.string().optional().describe('New description for the goal'),
78
+ rem_owners: z.array(z.number().positive()).optional().describe('Array of user IDs to remove as owners'),
79
+ add_owners: z.array(z.number().positive()).optional().describe('Array of user IDs to add as owners'),
80
+ color: z.string().regex(/^#[0-9A-Fa-f]{6}$/).optional().describe('New goal color (hex format)')
81
+ }, async ({ goal_id, name, due_date, description, rem_owners, add_owners, color }) => {
82
+ try {
83
+ // Validate due date if provided
84
+ if (due_date && !goalsClient.validateGoalDate(due_date)) {
85
+ return {
86
+ content: [{ type: 'text', text: 'Error: Due date must be in the future' }],
87
+ isError: true
88
+ };
89
+ }
90
+ const params = {
91
+ name,
92
+ due_date,
93
+ description,
94
+ rem_owners,
95
+ add_owners,
96
+ color
97
+ };
98
+ const updatedGoal = await goalsClient.updateGoal(goal_id, params);
99
+ return {
100
+ content: [{
101
+ type: 'text',
102
+ text: `Goal updated successfully!\n\n${JSON.stringify(updatedGoal, null, 2)}`
103
+ }]
104
+ };
105
+ }
106
+ catch (error) {
107
+ console.error('Error updating goal:', error);
108
+ return {
109
+ content: [{ type: 'text', text: `Error updating goal: ${error.message}` }],
110
+ isError: true
111
+ };
112
+ }
113
+ });
114
+ server.tool('delete_goal', 'Delete a goal from ClickUp. This action cannot be undone and will remove all associated targets.', {
115
+ goal_id: z.string().min(1).describe('The ID of the goal to delete')
116
+ }, async ({ goal_id }) => {
117
+ try {
118
+ await goalsClient.deleteGoal(goal_id);
119
+ return {
120
+ content: [{
121
+ type: 'text',
122
+ text: `Goal ${goal_id} deleted successfully. All associated targets have been removed.`
123
+ }]
124
+ };
125
+ }
126
+ catch (error) {
127
+ console.error('Error deleting goal:', error);
128
+ return {
129
+ content: [{ type: 'text', text: `Error deleting goal: ${error.message}` }],
130
+ isError: true
131
+ };
132
+ }
133
+ });
134
+ server.tool('get_goal', 'Get detailed information about a specific goal including all targets and progress data.', {
135
+ goal_id: z.string().min(1).describe('The ID of the goal to retrieve')
136
+ }, async ({ goal_id }) => {
137
+ try {
138
+ const goal = await goalsClient.getGoal(goal_id);
139
+ // Add formatted progress information
140
+ const formattedGoal = {
141
+ ...goal,
142
+ progress_summary: {
143
+ overall_progress: `${goal.percent_completed}%`,
144
+ days_until_due: goalsClient.getDaysUntilDue(goal.due_date),
145
+ status: goalsClient.getGoalStatus(goal.percent_completed, goal.due_date),
146
+ targets_count: goal.key_results.length,
147
+ completed_targets: goal.key_results.filter(t => t.completed).length
148
+ }
149
+ };
150
+ return {
151
+ content: [{
152
+ type: 'text',
153
+ text: `Goal details:\n\n${JSON.stringify(formattedGoal, null, 2)}`
154
+ }]
155
+ };
156
+ }
157
+ catch (error) {
158
+ console.error('Error getting goal:', error);
159
+ return {
160
+ content: [{ type: 'text', text: `Error getting goal: ${error.message}` }],
161
+ isError: true
162
+ };
163
+ }
164
+ });
165
+ // ========================================
166
+ // GOAL TARGET MANAGEMENT
167
+ // ========================================
168
+ server.tool('create_goal_target', 'Create a target (key result) for a goal. Supports different target types: number, currency, boolean, task, and list.', {
169
+ goal_id: z.string().min(1).describe('The ID of the goal to add the target to'),
170
+ name: z.string().min(1).max(255).describe('The name of the target'),
171
+ type: z.enum(['number', 'currency', 'boolean', 'task', 'list']).describe('The type of target'),
172
+ target_value: z.number().min(0).describe('The target value to achieve'),
173
+ start_value: z.number().optional().default(0).describe('The starting value (defaults to 0)'),
174
+ unit: z.string().optional().describe('Unit of measurement (e.g., "USD", "tasks", "users")'),
175
+ task_statuses: z.array(z.string()).optional().describe('Task statuses to track (for task type targets)'),
176
+ list_ids: z.array(z.string()).optional().describe('List IDs to track (for list type targets)')
177
+ }, async ({ goal_id, name, type, target_value, start_value, unit, task_statuses, list_ids }) => {
178
+ try {
179
+ const params = {
180
+ name,
181
+ type,
182
+ target_value,
183
+ start_value,
184
+ unit,
185
+ task_statuses,
186
+ list_ids
187
+ };
188
+ const target = await goalsClient.createGoalTarget(goal_id, params);
189
+ return {
190
+ content: [{
191
+ type: 'text',
192
+ text: `Goal target created successfully!\n\n${JSON.stringify(target, null, 2)}`
193
+ }]
194
+ };
195
+ }
196
+ catch (error) {
197
+ console.error('Error creating goal target:', error);
198
+ return {
199
+ content: [{ type: 'text', text: `Error creating goal target: ${error.message}` }],
200
+ isError: true
201
+ };
202
+ }
203
+ });
204
+ server.tool('update_goal_target', 'Update an existing goal target. Can modify name, target value, unit, and tracking parameters.', {
205
+ goal_id: z.string().min(1).describe('The ID of the goal'),
206
+ target_id: z.string().min(1).describe('The ID of the target to update'),
207
+ name: z.string().min(1).max(255).optional().describe('New name for the target'),
208
+ target_value: z.number().min(0).optional().describe('New target value'),
209
+ unit: z.string().optional().describe('New unit of measurement'),
210
+ task_statuses: z.array(z.string()).optional().describe('New task statuses to track'),
211
+ list_ids: z.array(z.string()).optional().describe('New list IDs to track')
212
+ }, async ({ goal_id, target_id, name, target_value, unit, task_statuses, list_ids }) => {
213
+ try {
214
+ const params = {
215
+ name,
216
+ target_value,
217
+ unit,
218
+ task_statuses,
219
+ list_ids
220
+ };
221
+ const updatedTarget = await goalsClient.updateGoalTarget(goal_id, target_id, params);
222
+ return {
223
+ content: [{
224
+ type: 'text',
225
+ text: `Goal target updated successfully!\n\n${JSON.stringify(updatedTarget, null, 2)}`
226
+ }]
227
+ };
228
+ }
229
+ catch (error) {
230
+ console.error('Error updating goal target:', error);
231
+ return {
232
+ content: [{ type: 'text', text: `Error updating goal target: ${error.message}` }],
233
+ isError: true
234
+ };
235
+ }
236
+ });
237
+ server.tool('delete_goal_target', 'Delete a target from a goal. This action cannot be undone.', {
238
+ goal_id: z.string().min(1).describe('The ID of the goal'),
239
+ target_id: z.string().min(1).describe('The ID of the target to delete')
240
+ }, async ({ goal_id, target_id }) => {
241
+ try {
242
+ await goalsClient.deleteGoalTarget(goal_id, target_id);
243
+ return {
244
+ content: [{
245
+ type: 'text',
246
+ text: `Goal target ${target_id} deleted successfully from goal ${goal_id}.`
247
+ }]
248
+ };
249
+ }
250
+ catch (error) {
251
+ console.error('Error deleting goal target:', error);
252
+ return {
253
+ content: [{ type: 'text', text: `Error deleting goal target: ${error.message}` }],
254
+ isError: true
255
+ };
256
+ }
257
+ });
258
+ // ========================================
259
+ // GOAL ANALYTICS & REPORTING
260
+ // ========================================
261
+ server.tool('get_goal_summary', 'Get comprehensive goal analytics and summary for a team. Includes progress statistics, status breakdown, and upcoming deadlines.', {
262
+ team_id: z.string().min(1).describe('The ID of the team to get goal summary for')
263
+ }, async ({ team_id }) => {
264
+ try {
265
+ const summary = await goalsClient.getGoalSummary(team_id);
266
+ return {
267
+ content: [{
268
+ type: 'text',
269
+ text: `Goal summary for team ${team_id}:\n\n${JSON.stringify(summary, null, 2)}`
270
+ }]
271
+ };
272
+ }
273
+ catch (error) {
274
+ console.error('Error getting goal summary:', error);
275
+ return {
276
+ content: [{ type: 'text', text: `Error getting goal summary: ${error.message}` }],
277
+ isError: true
278
+ };
279
+ }
280
+ });
281
+ // ========================================
282
+ // HELPER TOOLS
283
+ // ========================================
284
+ server.tool('create_number_goal', 'Create a number-based goal with a target. Convenient helper for creating numeric goals like task counts or metrics.', {
285
+ team_id: z.string().min(1).describe('The ID of the team'),
286
+ goal_name: z.string().min(1).max(255).describe('The name of the goal'),
287
+ target_name: z.string().min(1).max(255).describe('The name of the target'),
288
+ target_value: z.number().min(1).describe('The numeric target to achieve'),
289
+ unit: z.string().optional().describe('Unit of measurement (e.g., "tasks", "users", "points")'),
290
+ due_date: z.number().positive().describe('Goal due date (Unix timestamp)'),
291
+ description: z.string().optional().describe('Goal description'),
292
+ owners: z.array(z.number().positive()).min(1).describe('Array of user IDs who own this goal'),
293
+ color: z.string().regex(/^#[0-9A-Fa-f]{6}$/).optional().default('#007cff').describe('Goal color')
294
+ }, async ({ team_id, goal_name, target_name, target_value, unit, due_date, description, owners, color }) => {
295
+ try {
296
+ // Create the goal
297
+ const goal = await goalsClient.createGoal(team_id, {
298
+ name: goal_name,
299
+ due_date,
300
+ description,
301
+ multiple_owners: owners.length > 1,
302
+ owners,
303
+ color
304
+ });
305
+ // Create the number target
306
+ const target = await goalsClient.createGoalTarget(goal.id, {
307
+ name: target_name,
308
+ type: 'number',
309
+ target_value,
310
+ start_value: 0,
311
+ unit
312
+ });
313
+ return {
314
+ content: [{
315
+ type: 'text',
316
+ text: `Number goal created successfully!\n\nGoal: ${JSON.stringify(goal, null, 2)}\n\nTarget: ${JSON.stringify(target, null, 2)}`
317
+ }]
318
+ };
319
+ }
320
+ catch (error) {
321
+ console.error('Error creating number goal:', error);
322
+ return {
323
+ content: [{ type: 'text', text: `Error creating number goal: ${error.message}` }],
324
+ isError: true
325
+ };
326
+ }
327
+ });
328
+ server.tool('create_currency_goal', 'Create a currency-based goal with a monetary target. Convenient helper for creating revenue or budget goals.', {
329
+ team_id: z.string().min(1).describe('The ID of the team'),
330
+ goal_name: z.string().min(1).max(255).describe('The name of the goal'),
331
+ target_name: z.string().min(1).max(255).describe('The name of the target'),
332
+ target_value: z.number().min(0).describe('The monetary target to achieve'),
333
+ currency: z.string().optional().default('USD').describe('Currency code (e.g., "USD", "EUR", "GBP")'),
334
+ due_date: z.number().positive().describe('Goal due date (Unix timestamp)'),
335
+ description: z.string().optional().describe('Goal description'),
336
+ owners: z.array(z.number().positive()).min(1).describe('Array of user IDs who own this goal'),
337
+ color: z.string().regex(/^#[0-9A-Fa-f]{6}$/).optional().default('#00c851').describe('Goal color')
338
+ }, async ({ team_id, goal_name, target_name, target_value, currency, due_date, description, owners, color }) => {
339
+ try {
340
+ // Create the goal
341
+ const goal = await goalsClient.createGoal(team_id, {
342
+ name: goal_name,
343
+ due_date,
344
+ description,
345
+ multiple_owners: owners.length > 1,
346
+ owners,
347
+ color
348
+ });
349
+ // Create the currency target
350
+ const target = await goalsClient.createGoalTarget(goal.id, {
351
+ name: target_name,
352
+ type: 'currency',
353
+ target_value,
354
+ start_value: 0,
355
+ unit: currency
356
+ });
357
+ // Format the target value for display
358
+ const formattedValue = goalsClient.formatCurrencyValue(target_value, currency);
359
+ return {
360
+ content: [{
361
+ type: 'text',
362
+ text: `Currency goal created successfully!\n\nGoal: ${goal_name}\nTarget: ${formattedValue}\n\nDetails:\nGoal: ${JSON.stringify(goal, null, 2)}\n\nTarget: ${JSON.stringify(target, null, 2)}`
363
+ }]
364
+ };
365
+ }
366
+ catch (error) {
367
+ console.error('Error creating currency goal:', error);
368
+ return {
369
+ content: [{ type: 'text', text: `Error creating currency goal: ${error.message}` }],
370
+ isError: true
371
+ };
372
+ }
373
+ });
374
+ server.tool('format_goal_progress', 'Format goal progress information for human-readable display. Useful for reporting and dashboards.', {
375
+ goal_id: z.string().min(1).describe('The ID of the goal to format')
376
+ }, async ({ goal_id }) => {
377
+ try {
378
+ const goal = await goalsClient.getGoal(goal_id);
379
+ const status = goalsClient.getGoalStatus(goal.percent_completed, goal.due_date);
380
+ const daysUntilDue = goalsClient.getDaysUntilDue(goal.due_date);
381
+ let formattedTargets = '';
382
+ for (const target of goal.key_results) {
383
+ const progress = goalsClient.calculateTargetProgress(target.start_value, target.current_value, target.target_value);
384
+ let valueDisplay = '';
385
+ if (target.type === 'currency') {
386
+ valueDisplay = `${goalsClient.formatCurrencyValue(target.current_value, target.unit || 'USD')} / ${goalsClient.formatCurrencyValue(target.target_value, target.unit || 'USD')}`;
387
+ }
388
+ else {
389
+ valueDisplay = `${goalsClient.formatNumberValue(target.current_value, target.unit || undefined)} / ${goalsClient.formatNumberValue(target.target_value, target.unit || undefined)}`;
390
+ }
391
+ formattedTargets += `\n • ${target.name}: ${valueDisplay} (${progress.toFixed(1)}%)`;
392
+ }
393
+ const formattedProgress = `
394
+ 📊 Goal Progress Report
395
+
396
+ 🎯 Goal: ${goal.name}
397
+ 📈 Overall Progress: ${goal.percent_completed}%
398
+ 📅 Status: ${status.toUpperCase()}
399
+ ⏰ Days Until Due: ${daysUntilDue}
400
+ 👥 Owners: ${goal.owners.map(o => o.username).join(', ')}
401
+
402
+ 🎯 Targets:${formattedTargets}
403
+
404
+ 📝 Description: ${goal.description || 'No description'}
405
+ `;
406
+ return {
407
+ content: [{
408
+ type: 'text',
409
+ text: formattedProgress
410
+ }]
411
+ };
412
+ }
413
+ catch (error) {
414
+ console.error('Error formatting goal progress:', error);
415
+ return {
416
+ content: [{ type: 'text', text: `Error formatting goal progress: ${error.message}` }],
417
+ isError: true
418
+ };
419
+ }
420
+ });
421
+ }
422
+ //# sourceMappingURL=goals-tools.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"goals-tools.js","sourceRoot":"","sources":["../../src/tools/goals-tools.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ export declare function setupHelperTools(server: McpServer): void;