@vibescope/mcp-server 0.4.5 → 0.4.6

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 (171) hide show
  1. package/CHANGELOG.md +84 -84
  2. package/README.md +194 -194
  3. package/dist/api-client/project.d.ts +1 -0
  4. package/dist/api-client.d.ts +1 -0
  5. package/dist/cli-init.js +21 -21
  6. package/dist/cli.js +26 -26
  7. package/dist/handlers/chat.d.ts +2 -0
  8. package/dist/handlers/chat.js +25 -0
  9. package/dist/handlers/discovery.js +12 -0
  10. package/dist/handlers/project.js +4 -2
  11. package/dist/handlers/tool-docs.js +1203 -1137
  12. package/dist/index.js +73 -73
  13. package/dist/templates/agent-guidelines.d.ts +1 -1
  14. package/dist/templates/agent-guidelines.js +205 -187
  15. package/dist/templates/help-content.js +1621 -1621
  16. package/dist/tools/bodies-of-work.js +6 -6
  17. package/dist/tools/chat.d.ts +1 -0
  18. package/dist/tools/chat.js +24 -0
  19. package/dist/tools/cloud-agents.js +22 -22
  20. package/dist/tools/features.d.ts +13 -0
  21. package/dist/tools/features.js +151 -0
  22. package/dist/tools/index.d.ts +3 -1
  23. package/dist/tools/index.js +4 -1
  24. package/dist/tools/milestones.js +2 -2
  25. package/dist/tools/project.js +4 -0
  26. package/dist/tools/requests.js +1 -1
  27. package/dist/tools/session.js +11 -11
  28. package/dist/tools/sprints.js +9 -9
  29. package/dist/tools/tasks.js +35 -35
  30. package/dist/tools/worktrees.js +14 -14
  31. package/dist/tools.d.ts +2 -0
  32. package/dist/tools.js +3602 -0
  33. package/dist/utils.js +11 -11
  34. package/docs/TOOLS.md +2663 -2559
  35. package/package.json +53 -53
  36. package/scripts/generate-docs.ts +212 -212
  37. package/scripts/version-bump.ts +203 -203
  38. package/src/api-client/blockers.ts +86 -86
  39. package/src/api-client/bodies-of-work.ts +194 -194
  40. package/src/api-client/chat.ts +50 -50
  41. package/src/api-client/connectors.ts +152 -152
  42. package/src/api-client/cost.ts +185 -185
  43. package/src/api-client/decisions.ts +87 -87
  44. package/src/api-client/deployment.ts +313 -313
  45. package/src/api-client/discovery.ts +81 -81
  46. package/src/api-client/fallback.ts +52 -52
  47. package/src/api-client/file-checkouts.ts +115 -115
  48. package/src/api-client/findings.ts +100 -100
  49. package/src/api-client/git-issues.ts +88 -88
  50. package/src/api-client/ideas.ts +112 -112
  51. package/src/api-client/index.ts +592 -592
  52. package/src/api-client/milestones.ts +83 -83
  53. package/src/api-client/organizations.ts +185 -185
  54. package/src/api-client/progress.ts +94 -94
  55. package/src/api-client/project.ts +180 -179
  56. package/src/api-client/requests.ts +54 -54
  57. package/src/api-client/session.ts +220 -220
  58. package/src/api-client/sprints.ts +227 -227
  59. package/src/api-client/subtasks.ts +57 -57
  60. package/src/api-client/tasks.ts +450 -450
  61. package/src/api-client/types.ts +32 -32
  62. package/src/api-client/validation.ts +60 -60
  63. package/src/api-client/worktrees.ts +53 -53
  64. package/src/api-client.test.ts +847 -847
  65. package/src/api-client.ts +2707 -2706
  66. package/src/cli-init.ts +557 -557
  67. package/src/cli.test.ts +284 -284
  68. package/src/cli.ts +204 -204
  69. package/src/handlers/__test-setup__.ts +240 -240
  70. package/src/handlers/__test-utils__.ts +89 -89
  71. package/src/handlers/blockers.test.ts +468 -468
  72. package/src/handlers/blockers.ts +172 -172
  73. package/src/handlers/bodies-of-work.test.ts +704 -704
  74. package/src/handlers/bodies-of-work.ts +526 -526
  75. package/src/handlers/chat.test.ts +185 -185
  76. package/src/handlers/chat.ts +101 -69
  77. package/src/handlers/cloud-agents.test.ts +438 -438
  78. package/src/handlers/cloud-agents.ts +156 -156
  79. package/src/handlers/connectors.test.ts +834 -834
  80. package/src/handlers/connectors.ts +229 -229
  81. package/src/handlers/cost.test.ts +462 -462
  82. package/src/handlers/cost.ts +285 -285
  83. package/src/handlers/decisions.test.ts +382 -382
  84. package/src/handlers/decisions.ts +153 -153
  85. package/src/handlers/deployment.test.ts +551 -551
  86. package/src/handlers/deployment.ts +570 -570
  87. package/src/handlers/discovery.test.ts +206 -206
  88. package/src/handlers/discovery.ts +427 -415
  89. package/src/handlers/fallback.test.ts +537 -537
  90. package/src/handlers/fallback.ts +194 -194
  91. package/src/handlers/file-checkouts.test.ts +750 -750
  92. package/src/handlers/file-checkouts.ts +185 -185
  93. package/src/handlers/findings.test.ts +633 -633
  94. package/src/handlers/findings.ts +239 -239
  95. package/src/handlers/git-issues.test.ts +631 -631
  96. package/src/handlers/git-issues.ts +136 -136
  97. package/src/handlers/ideas.test.ts +644 -644
  98. package/src/handlers/ideas.ts +207 -207
  99. package/src/handlers/index.ts +93 -93
  100. package/src/handlers/milestones.test.ts +475 -475
  101. package/src/handlers/milestones.ts +180 -180
  102. package/src/handlers/organizations.test.ts +826 -826
  103. package/src/handlers/organizations.ts +315 -315
  104. package/src/handlers/progress.test.ts +269 -269
  105. package/src/handlers/progress.ts +77 -77
  106. package/src/handlers/project.test.ts +546 -546
  107. package/src/handlers/project.ts +242 -239
  108. package/src/handlers/requests.test.ts +303 -303
  109. package/src/handlers/requests.ts +99 -99
  110. package/src/handlers/roles.test.ts +305 -305
  111. package/src/handlers/roles.ts +219 -219
  112. package/src/handlers/session.test.ts +998 -998
  113. package/src/handlers/session.ts +1105 -1105
  114. package/src/handlers/sprints.test.ts +732 -732
  115. package/src/handlers/sprints.ts +537 -537
  116. package/src/handlers/tasks.test.ts +931 -931
  117. package/src/handlers/tasks.ts +1133 -1133
  118. package/src/handlers/tool-categories.test.ts +66 -66
  119. package/src/handlers/tool-docs.test.ts +511 -511
  120. package/src/handlers/tool-docs.ts +1571 -1499
  121. package/src/handlers/types.test.ts +259 -259
  122. package/src/handlers/types.ts +176 -176
  123. package/src/handlers/validation.test.ts +582 -582
  124. package/src/handlers/validation.ts +164 -164
  125. package/src/handlers/version.ts +63 -63
  126. package/src/index.test.ts +674 -674
  127. package/src/index.ts +807 -807
  128. package/src/setup.test.ts +233 -233
  129. package/src/setup.ts +404 -404
  130. package/src/templates/agent-guidelines.ts +233 -215
  131. package/src/templates/help-content.ts +1751 -1751
  132. package/src/token-tracking.test.ts +463 -463
  133. package/src/token-tracking.ts +167 -167
  134. package/src/tools/blockers.ts +122 -122
  135. package/src/tools/bodies-of-work.ts +283 -283
  136. package/src/tools/chat.ts +72 -46
  137. package/src/tools/cloud-agents.ts +101 -101
  138. package/src/tools/connectors.ts +191 -191
  139. package/src/tools/cost.ts +111 -111
  140. package/src/tools/decisions.ts +111 -111
  141. package/src/tools/deployment.ts +455 -455
  142. package/src/tools/discovery.ts +76 -76
  143. package/src/tools/fallback.ts +111 -111
  144. package/src/tools/features.ts +154 -0
  145. package/src/tools/file-checkouts.ts +145 -145
  146. package/src/tools/findings.ts +101 -101
  147. package/src/tools/git-issues.ts +130 -130
  148. package/src/tools/ideas.ts +162 -162
  149. package/src/tools/index.ts +141 -137
  150. package/src/tools/milestones.ts +118 -118
  151. package/src/tools/organizations.ts +224 -224
  152. package/src/tools/progress.ts +73 -73
  153. package/src/tools/project.ts +206 -202
  154. package/src/tools/requests.ts +68 -68
  155. package/src/tools/roles.ts +112 -112
  156. package/src/tools/session.ts +181 -181
  157. package/src/tools/sprints.ts +298 -298
  158. package/src/tools/tasks.ts +550 -550
  159. package/src/tools/tools.test.ts +222 -222
  160. package/src/tools/types.ts +9 -9
  161. package/src/tools/validation.ts +75 -75
  162. package/src/tools/version.ts +34 -34
  163. package/src/tools/worktrees.ts +66 -66
  164. package/src/tools.test.ts +416 -416
  165. package/src/utils.test.ts +1014 -1014
  166. package/src/utils.ts +586 -586
  167. package/src/validators.test.ts +223 -223
  168. package/src/validators.ts +249 -249
  169. package/src/version.ts +109 -109
  170. package/tsconfig.json +16 -16
  171. package/vitest.config.ts +14 -14
@@ -7,1328 +7,1394 @@
7
7
  * Token savings: ~8,000 tokens per schema load when this isn't bundled.
8
8
  */
9
9
  export const TOOL_INFO = {
10
- start_work_session: `# start_work_session
11
- Initialize agent session and get assigned work.
12
-
13
- **Parameters:**
14
- - project_id (optional): Project UUID
15
- - git_url (optional): Git URL to find project
16
- - mode: 'lite' (default) or 'full' for complete context
17
-
18
- **Returns:** session_id, persona, project info, next_task
19
-
10
+ start_work_session: `# start_work_session
11
+ Initialize agent session and get assigned work.
12
+
13
+ **Parameters:**
14
+ - project_id (optional): Project UUID
15
+ - git_url (optional): Git URL to find project
16
+ - mode: 'lite' (default) or 'full' for complete context
17
+
18
+ **Returns:** session_id, persona, project info, next_task
19
+
20
20
  **Example:** start_work_session(git_url: "https://github.com/org/repo")`,
21
- get_help: `# get_help
22
- Get workflow guidance on specific topics.
23
-
24
- **Parameters:**
25
- - topic (required): One of: getting_started, tasks, validation, deployment, git, blockers, milestones, fallback, session, tokens, topics
26
-
21
+ get_help: `# get_help
22
+ Get workflow guidance on specific topics.
23
+
24
+ **Parameters:**
25
+ - topic (required): One of: getting_started, tasks, validation, deployment, git, blockers, milestones, fallback, session, tokens, topics
26
+
27
27
  **Example:** get_help(topic: "deployment")`,
28
- get_token_usage: `# get_token_usage
29
- Get token usage statistics for current session.
30
-
28
+ get_token_usage: `# get_token_usage
29
+ Get token usage statistics for current session.
30
+
31
31
  **Returns:** total calls, total tokens, breakdown by tool, averages`,
32
- heartbeat: `# heartbeat
33
- Send heartbeat to maintain active status. Call every 30-60 seconds.
34
-
35
- **Parameters:**
36
- - session_id (optional): Uses current session if not provided
32
+ heartbeat: `# heartbeat
33
+ Send heartbeat to maintain active status. Call every 30-60 seconds.
34
+
35
+ **Parameters:**
36
+ - session_id (optional): Uses current session if not provided
37
37
  - current_worktree_path (optional): Report your current git worktree path (e.g., "../project-task-abc123")`,
38
- end_work_session: `# end_work_session
39
- End session and release claimed tasks.
40
-
41
- **Parameters:**
42
- - session_id (optional): Uses current session if not provided
43
-
38
+ end_work_session: `# end_work_session
39
+ End session and release claimed tasks.
40
+
41
+ **Parameters:**
42
+ - session_id (optional): Uses current session if not provided
43
+
44
44
  **Returns:** Session summary with tasks completed, time spent`,
45
- get_project_context: `# get_project_context
46
- Get full project context including goals, instructions, tasks, blockers, decisions.
47
-
48
- **Parameters:**
49
- - project_id (optional): Project UUID
50
- - git_url (optional): Git URL to find project
51
-
45
+ get_project_context: `# get_project_context
46
+ Get full project context including goals, instructions, tasks, blockers, decisions.
47
+
48
+ **Parameters:**
49
+ - project_id (optional): Project UUID
50
+ - git_url (optional): Git URL to find project
51
+
52
52
  Without params, lists all projects.`,
53
- get_git_workflow: `# get_git_workflow
54
- Get git workflow config and branching instructions.
55
-
56
- **Parameters:**
57
- - project_id (required): Project UUID
58
- - task_id (optional): Include branch naming suggestion
59
-
53
+ get_git_workflow: `# get_git_workflow
54
+ Get git workflow config and branching instructions.
55
+
56
+ **Parameters:**
57
+ - project_id (required): Project UUID
58
+ - task_id (optional): Include branch naming suggestion
59
+
60
60
  **Returns:** workflow type, branch names, auto-settings`,
61
- create_project: `# create_project
62
- Create a new project to track.
63
-
64
- **Parameters:**
65
- - name (required): Project display name
66
- - description: Brief description
67
- - goal: What "done" looks like
68
- - git_url: Repository URL
61
+ create_project: `# create_project
62
+ Create a new project to track.
63
+
64
+ **Parameters:**
65
+ - name (required): Project display name
66
+ - description: Brief description
67
+ - goal: What "done" looks like
68
+ - git_url: Repository URL
69
69
  - tech_stack: Array of technologies`,
70
- update_project: `# update_project
71
- Update project settings.
72
-
73
- **Parameters:**
74
- - project_id (required): Project UUID
75
- - name, description, goal, git_url, tech_stack, status
76
- - git_workflow: none, trunk-based, github-flow, git-flow
70
+ update_project: `# update_project
71
+ Update project settings.
72
+
73
+ **Parameters:**
74
+ - project_id (required): Project UUID
75
+ - name, description, goal, git_url, tech_stack, status
76
+ - git_workflow: none, trunk-based, github-flow, git-flow
77
77
  - git_main_branch, git_develop_branch, git_auto_branch, git_auto_tag`,
78
- update_project_readme: `# update_project_readme
79
- Sync README content to the dashboard.
80
-
81
- **Parameters:**
82
- - project_id (required): Project UUID
78
+ update_project_readme: `# update_project_readme
79
+ Sync README content to the dashboard.
80
+
81
+ **Parameters:**
82
+ - project_id (required): Project UUID
83
83
  - readme_content (required): Markdown content`,
84
- get_task: `# get_task
85
- Get a single task by ID with optional subtasks and milestones.
86
-
87
- **Parameters:**
88
- - task_id (required): Task UUID
89
- - include_subtasks (optional): Include subtasks array (default: false)
84
+ get_task: `# get_task
85
+ Get a single task by ID with optional subtasks and milestones.
86
+
87
+ **Parameters:**
88
+ - task_id (required): Task UUID
89
+ - include_subtasks (optional): Include subtasks array (default: false)
90
90
  - include_milestones (optional): Include milestones array (default: false)`,
91
- search_tasks: `# search_tasks
92
- Search tasks by text query. Supports pagination.
93
-
94
- **Parameters:**
95
- - project_id (required): Project UUID
96
- - query (required): Search query (min 2 chars)
97
- - status (optional): Array of statuses to filter
98
- - limit (optional): Max results per page (1-20, default: 10)
99
- - offset (optional): Number of results to skip (default: 0)
100
-
101
- **Returns:**
102
- - tasks: Array of matching tasks
103
- - total_matches: Total number of matching tasks
104
- - has_more: Whether more results exist beyond current page
105
- - offset: Current offset
91
+ search_tasks: `# search_tasks
92
+ Search tasks by text query. Supports pagination.
93
+
94
+ **Parameters:**
95
+ - project_id (required): Project UUID
96
+ - query (required): Search query (min 2 chars)
97
+ - status (optional): Array of statuses to filter
98
+ - limit (optional): Max results per page (1-20, default: 10)
99
+ - offset (optional): Number of results to skip (default: 0)
100
+
101
+ **Returns:**
102
+ - tasks: Array of matching tasks
103
+ - total_matches: Total number of matching tasks
104
+ - has_more: Whether more results exist beyond current page
105
+ - offset: Current offset
106
106
  - limit: Current limit`,
107
- get_tasks_by_priority: `# get_tasks_by_priority
108
- Get tasks filtered by priority. Supports pagination.
109
-
110
- **Parameters:**
111
- - project_id (required): Project UUID
112
- - priority (optional): Exact priority (1-5)
113
- - priority_max (optional): Max priority for range query
114
- - status (optional): Filter by status (default: pending)
115
- - limit (optional): Max results per page (1-20, default: 10)
116
- - offset (optional): Number of results to skip (default: 0)
117
-
118
- **Returns:**
119
- - tasks: Array of matching tasks
120
- - total_count: Total number of matching tasks
121
- - has_more: Whether more results exist beyond current page
122
- - offset: Current offset
107
+ get_tasks_by_priority: `# get_tasks_by_priority
108
+ Get tasks filtered by priority. Supports pagination.
109
+
110
+ **Parameters:**
111
+ - project_id (required): Project UUID
112
+ - priority (optional): Exact priority (1-5)
113
+ - priority_max (optional): Max priority for range query
114
+ - status (optional): Filter by status (default: pending)
115
+ - limit (optional): Max results per page (1-20, default: 10)
116
+ - offset (optional): Number of results to skip (default: 0)
117
+
118
+ **Returns:**
119
+ - tasks: Array of matching tasks
120
+ - total_count: Total number of matching tasks
121
+ - has_more: Whether more results exist beyond current page
122
+ - offset: Current offset
123
123
  - limit: Current limit`,
124
- get_recent_tasks: `# get_recent_tasks
125
- Get tasks ordered by creation date. Supports pagination.
126
-
127
- **Parameters:**
128
- - project_id (required): Project UUID
129
- - order (optional): 'newest' or 'oldest' (default: newest)
130
- - status (optional): Filter by status
131
- - limit (optional): Max results per page (1-20, default: 10)
132
- - offset (optional): Number of results to skip (default: 0)
133
-
134
- **Returns:**
135
- - tasks: Array of matching tasks
136
- - total_count: Total number of matching tasks
137
- - has_more: Whether more results exist beyond current page
138
- - offset: Current offset
124
+ get_recent_tasks: `# get_recent_tasks
125
+ Get tasks ordered by creation date. Supports pagination.
126
+
127
+ **Parameters:**
128
+ - project_id (required): Project UUID
129
+ - order (optional): 'newest' or 'oldest' (default: newest)
130
+ - status (optional): Filter by status
131
+ - limit (optional): Max results per page (1-20, default: 10)
132
+ - offset (optional): Number of results to skip (default: 0)
133
+
134
+ **Returns:**
135
+ - tasks: Array of matching tasks
136
+ - total_count: Total number of matching tasks
137
+ - has_more: Whether more results exist beyond current page
138
+ - offset: Current offset
139
139
  - limit: Current limit`,
140
- get_task_stats: `# get_task_stats
141
- Get aggregate task statistics. Most token-efficient way to understand project state.
142
-
143
- **Parameters:**
144
- - project_id (required): Project UUID
145
-
140
+ get_task_stats: `# get_task_stats
141
+ Get aggregate task statistics. Most token-efficient way to understand project state.
142
+
143
+ **Parameters:**
144
+ - project_id (required): Project UUID
145
+
146
146
  **Returns:** Counts by status and priority, no task data`,
147
- get_next_task: `# get_next_task
148
- Get highest priority pending task not claimed by another agent.
149
-
150
- **Parameters:**
151
- - project_id (required): Project UUID
152
-
147
+ get_next_task: `# get_next_task
148
+ Get highest priority pending task not claimed by another agent.
149
+
150
+ **Parameters:**
151
+ - project_id (required): Project UUID
152
+
153
153
  **Returns:** task or null, may suggest fallback activity`,
154
- add_task: `# add_task
155
- Create a new task.
156
-
157
- **Parameters:**
158
- - project_id (required): Project UUID
159
- - title (required): Task title
160
- - description: Detailed description
161
- - priority: 1-5 (1=highest, default 3)
154
+ add_task: `# add_task
155
+ Create a new task.
156
+
157
+ **Parameters:**
158
+ - project_id (required): Project UUID
159
+ - title (required): Task title
160
+ - description: Detailed description
161
+ - priority: 1-5 (1=highest, default 3)
162
162
  - estimated_minutes: Time estimate`,
163
- update_task: `# update_task
164
- Update task status, progress, or details.
165
-
166
- **Parameters:**
167
- - task_id (required): Task UUID
168
- - status: pending, in_progress, completed, cancelled
169
- - progress_percentage: 0-100
170
- - progress_note: Brief note (auto-logged)
171
- - title, description, priority, estimated_minutes, git_branch
172
-
163
+ update_task: `# update_task
164
+ Update task status, progress, or details.
165
+
166
+ **Parameters:**
167
+ - task_id (required): Task UUID
168
+ - status: pending, in_progress, completed, cancelled
169
+ - progress_percentage: 0-100
170
+ - progress_note: Brief note (auto-logged)
171
+ - title, description, priority, estimated_minutes, git_branch
172
+
173
173
  **Best practice:** Include progress_note with progress_percentage`,
174
- complete_task: `# complete_task
175
- Mark task as done.
176
-
177
- **Parameters:**
178
- - task_id (required): Task UUID
179
- - summary: What was done
180
-
174
+ complete_task: `# complete_task
175
+ Mark task as done.
176
+
177
+ **Parameters:**
178
+ - task_id (required): Task UUID
179
+ - summary: What was done
180
+
181
181
  **Returns:** next_task, validation_count, blockers_count, deployment_priority`,
182
- delete_task: `# delete_task
183
- Delete a task.
184
-
185
- **Parameters:**
182
+ delete_task: `# delete_task
183
+ Delete a task.
184
+
185
+ **Parameters:**
186
186
  - task_id (required): Task UUID`,
187
- cancel_task: `# cancel_task
188
- Cancel a task with an optional reason. Use this when a task should be marked as cancelled rather than deleted (e.g., PR was closed, work was superseded). The task remains visible with a cancelled status for historical tracking.
189
-
190
- **Parameters:**
191
- - task_id (required): Task UUID
192
- - cancelled_reason (optional): One of: pr_closed, superseded, user_cancelled, validation_failed, obsolete, blocked
193
- - cancellation_note (optional): Additional context about the cancellation
194
-
195
- **Returns:** task_id, cancelled_reason, message, sprint info (if auto-completed)
196
-
187
+ cancel_task: `# cancel_task
188
+ Cancel a task with an optional reason. Use this when a task should be marked as cancelled rather than deleted (e.g., PR was closed, work was superseded). The task remains visible with a cancelled status for historical tracking.
189
+
190
+ **Parameters:**
191
+ - task_id (required): Task UUID
192
+ - cancelled_reason (optional): One of: pr_closed, superseded, user_cancelled, validation_failed, obsolete, blocked
193
+ - cancellation_note (optional): Additional context about the cancellation
194
+
195
+ **Returns:** task_id, cancelled_reason, message, sprint info (if auto-completed)
196
+
197
197
  **Example:** cancel_task(task_id: "abc", cancelled_reason: "pr_closed", cancellation_note: "PR was closed without merging")`,
198
- release_task: `# release_task
199
- Release a claimed task back to pending status. Use when you need to give up a task you've started but cannot complete (e.g., context limits reached, conflicts with other work, user requested different approach).
200
-
201
- **Parameters:**
202
- - task_id (required): Task UUID
203
- - reason (optional): Explanation for releasing the task
204
-
205
- **Returns:** success, task_id, message, hint
206
-
207
- **Example:** release_task(task_id: "abc", reason: "Context limit reached, need fresh session")
208
-
198
+ release_task: `# release_task
199
+ Release a claimed task back to pending status. Use when you need to give up a task you've started but cannot complete (e.g., context limits reached, conflicts with other work, user requested different approach).
200
+
201
+ **Parameters:**
202
+ - task_id (required): Task UUID
203
+ - reason (optional): Explanation for releasing the task
204
+
205
+ **Returns:** success, task_id, message, hint
206
+
207
+ **Example:** release_task(task_id: "abc", reason: "Context limit reached, need fresh session")
208
+
209
209
  **Note:** Only in_progress tasks can be released. The task becomes available for other agents to claim via get_next_task().`,
210
- batch_update_tasks: `# batch_update_tasks
211
- Update multiple tasks at once.
212
-
213
- **Parameters:**
210
+ batch_update_tasks: `# batch_update_tasks
211
+ Update multiple tasks at once.
212
+
213
+ **Parameters:**
214
214
  - updates (required): Array of {task_id, status?, progress_percentage?, progress_note?, priority?}`,
215
- batch_complete_tasks: `# batch_complete_tasks
216
- Complete multiple tasks at once.
217
-
218
- **Parameters:**
215
+ batch_complete_tasks: `# batch_complete_tasks
216
+ Complete multiple tasks at once.
217
+
218
+ **Parameters:**
219
219
  - completions (required): Array of {task_id, summary?}`,
220
- add_task_reference: `# add_task_reference
221
- Add a reference URL to a task.
222
-
223
- **Parameters:**
224
- - task_id (required): Task UUID
225
- - url (required): Reference URL
220
+ add_task_reference: `# add_task_reference
221
+ Add a reference URL to a task.
222
+
223
+ **Parameters:**
224
+ - task_id (required): Task UUID
225
+ - url (required): Reference URL
226
226
  - label (optional): Display label`,
227
- remove_task_reference: `# remove_task_reference
228
- Remove a reference URL from a task.
229
-
230
- **Parameters:**
231
- - task_id (required): Task UUID
227
+ remove_task_reference: `# remove_task_reference
228
+ Remove a reference URL from a task.
229
+
230
+ **Parameters:**
231
+ - task_id (required): Task UUID
232
232
  - url (required): URL to remove`,
233
- add_milestone: `# add_milestone
234
- Add a milestone/step to a task.
235
-
236
- **Parameters:**
237
- - task_id (required): Task UUID
238
- - title (required): Milestone title
239
- - description (optional): Details
233
+ add_milestone: `# add_milestone
234
+ Add a milestone/step to a task.
235
+
236
+ **Parameters:**
237
+ - task_id (required): Task UUID
238
+ - title (required): Milestone title
239
+ - description (optional): Details
240
240
  - order_index (optional): Position (0-based)`,
241
- update_milestone: `# update_milestone
242
- Update a milestone.
243
-
244
- **Parameters:**
245
- - milestone_id (required): Milestone UUID
241
+ update_milestone: `# update_milestone
242
+ Update a milestone.
243
+
244
+ **Parameters:**
245
+ - milestone_id (required): Milestone UUID
246
246
  - title, description, status (pending/in_progress/completed), order_index`,
247
- complete_milestone: `# complete_milestone
248
- Mark milestone as completed.
249
-
250
- **Parameters:**
247
+ complete_milestone: `# complete_milestone
248
+ Mark milestone as completed.
249
+
250
+ **Parameters:**
251
251
  - milestone_id (required): Milestone UUID`,
252
- delete_milestone: `# delete_milestone
253
- Delete a milestone.
254
-
255
- **Parameters:**
252
+ delete_milestone: `# delete_milestone
253
+ Delete a milestone.
254
+
255
+ **Parameters:**
256
256
  - milestone_id (required): Milestone UUID`,
257
- get_milestones: `# get_milestones
258
- Get all milestones for a task.
259
-
260
- **Parameters:**
257
+ get_milestones: `# get_milestones
258
+ Get all milestones for a task.
259
+
260
+ **Parameters:**
261
261
  - task_id (required): Task UUID`,
262
- log_progress: `# log_progress
263
- Record a progress update.
264
-
265
- **Parameters:**
266
- - project_id (required): Project UUID
267
- - summary (required): Brief summary
268
- - task_id (optional): Link to task
262
+ log_progress: `# log_progress
263
+ Record a progress update.
264
+
265
+ **Parameters:**
266
+ - project_id (required): Project UUID
267
+ - summary (required): Brief summary
268
+ - task_id (optional): Link to task
269
269
  - details (optional): Extended notes`,
270
- get_activity_feed: `# get_activity_feed
271
- Get combined activity feed.
272
-
273
- **Parameters:**
274
- - project_id (required): Project UUID
275
- - types (optional): Array of task, progress, blocker, decision
276
- - created_by (optional): agent or user
277
- - since (optional): ISO date string
270
+ get_activity_feed: `# get_activity_feed
271
+ Get combined activity feed.
272
+
273
+ **Parameters:**
274
+ - project_id (required): Project UUID
275
+ - types (optional): Array of task, progress, blocker, decision
276
+ - created_by (optional): agent or user
277
+ - since (optional): ISO date string
278
278
  - limit (optional): Max items (default 50)`,
279
- add_blocker: `# add_blocker
280
- Record a blocker preventing progress.
281
-
282
- **Parameters:**
283
- - project_id (required): Project UUID
279
+ add_blocker: `# add_blocker
280
+ Record a blocker preventing progress.
281
+
282
+ **Parameters:**
283
+ - project_id (required): Project UUID
284
284
  - description (required): What is blocking`,
285
- resolve_blocker: `# resolve_blocker
286
- Mark a blocker as resolved.
287
-
288
- **Parameters:**
289
- - blocker_id (required): Blocker UUID
285
+ resolve_blocker: `# resolve_blocker
286
+ Mark a blocker as resolved.
287
+
288
+ **Parameters:**
289
+ - blocker_id (required): Blocker UUID
290
290
  - resolution_note (optional): How it was resolved`,
291
- get_blockers: `# get_blockers
292
- Get blockers for a project.
293
-
294
- **Parameters:**
295
- - project_id (required): Project UUID
291
+ get_blockers: `# get_blockers
292
+ Get blockers for a project.
293
+
294
+ **Parameters:**
295
+ - project_id (required): Project UUID
296
296
  - status (optional): open or resolved (default: open)`,
297
- delete_blocker: `# delete_blocker
298
- Delete a blocker.
299
-
300
- **Parameters:**
297
+ delete_blocker: `# delete_blocker
298
+ Delete a blocker.
299
+
300
+ **Parameters:**
301
301
  - blocker_id (required): Blocker UUID`,
302
- log_decision: `# log_decision
303
- Record an architectural decision.
304
-
305
- **Parameters:**
306
- - project_id (required): Project UUID
307
- - title (required): Decision title
308
- - description (required): What was decided
309
- - rationale (optional): Why
302
+ log_decision: `# log_decision
303
+ Record an architectural decision.
304
+
305
+ **Parameters:**
306
+ - project_id (required): Project UUID
307
+ - title (required): Decision title
308
+ - description (required): What was decided
309
+ - rationale (optional): Why
310
310
  - alternatives_considered (optional): Array of alternatives`,
311
- get_decisions: `# get_decisions
312
- Get recorded decisions.
313
-
314
- **Parameters:**
311
+ get_decisions: `# get_decisions
312
+ Get recorded decisions.
313
+
314
+ **Parameters:**
315
315
  - project_id (required): Project UUID`,
316
- delete_decision: `# delete_decision
317
- Delete a decision.
318
-
319
- **Parameters:**
316
+ delete_decision: `# delete_decision
317
+ Delete a decision.
318
+
319
+ **Parameters:**
320
320
  - decision_id (required): Decision UUID`,
321
- add_idea: `# add_idea
322
- Record an improvement idea.
323
-
324
- **Parameters:**
325
- - project_id (required): Project UUID
326
- - title (required): Idea title
327
- - description (optional): Details
321
+ add_idea: `# add_idea
322
+ Record an improvement idea.
323
+
324
+ **Parameters:**
325
+ - project_id (required): Project UUID
326
+ - title (required): Idea title
327
+ - description (optional): Details
328
328
  - status (optional): raw, exploring, planned, in_development, shipped`,
329
- update_idea: `# update_idea
330
- Update an idea.
331
-
332
- **Parameters:**
333
- - idea_id (required): Idea UUID
329
+ update_idea: `# update_idea
330
+ Update an idea.
331
+
332
+ **Parameters:**
333
+ - idea_id (required): Idea UUID
334
334
  - title, description, status, doc_url`,
335
- get_ideas: `# get_ideas
336
- Get recorded ideas.
337
-
338
- **Parameters:**
339
- - project_id (required): Project UUID
335
+ get_ideas: `# get_ideas
336
+ Get recorded ideas.
337
+
338
+ **Parameters:**
339
+ - project_id (required): Project UUID
340
340
  - status (optional): Filter by status`,
341
- delete_idea: `# delete_idea
342
- Delete an idea.
343
-
344
- **Parameters:**
341
+ delete_idea: `# delete_idea
342
+ Delete an idea.
343
+
344
+ **Parameters:**
345
345
  - idea_id (required): Idea UUID`,
346
- convert_idea_to_task: `# convert_idea_to_task
347
- Convert an idea to a task. Creates a new task from the idea's title and description.
348
-
349
- **Parameters:**
350
- - idea_id (required): Idea UUID to convert
351
- - priority (optional): Task priority 1-5 (default: 3)
352
- - estimated_minutes (optional): Estimated time
353
- - update_status (optional): Update idea to 'in_development' (default: true)
354
-
355
- **Returns:**
356
- - task_id: Created task UUID
346
+ convert_idea_to_task: `# convert_idea_to_task
347
+ Convert an idea to a task. Creates a new task from the idea's title and description.
348
+
349
+ **Parameters:**
350
+ - idea_id (required): Idea UUID to convert
351
+ - priority (optional): Task priority 1-5 (default: 3)
352
+ - estimated_minutes (optional): Estimated time
353
+ - update_status (optional): Update idea to 'in_development' (default: true)
354
+
355
+ **Returns:**
356
+ - task_id: Created task UUID
357
357
  - Links idea and task together`,
358
- add_finding: `# add_finding
359
- Record an audit/review finding.
360
-
361
- **Parameters:**
362
- - project_id (required): Project UUID
363
- - title (required): Finding title
364
- - category: performance, security, code_quality, accessibility, documentation, architecture, testing, other
365
- - description: Details with impact and suggested fix
366
- - severity: info, low, medium, high, critical
358
+ add_finding: `# add_finding
359
+ Record an audit/review finding.
360
+
361
+ **Parameters:**
362
+ - project_id (required): Project UUID
363
+ - title (required): Finding title
364
+ - category: performance, security, code_quality, accessibility, documentation, architecture, testing, other
365
+ - description: Details with impact and suggested fix
366
+ - severity: info, low, medium, high, critical
367
367
  - file_path, line_number, related_task_id (optional)`,
368
- get_findings: `# get_findings
369
- Get audit findings.
370
-
371
- **Parameters:**
372
- - project_id (required): Project UUID
373
- - category, severity, status (optional filters)
368
+ get_findings: `# get_findings
369
+ Get audit findings.
370
+
371
+ **Parameters:**
372
+ - project_id (required): Project UUID
373
+ - category, severity, status (optional filters)
374
374
  - limit (optional): Max items`,
375
- update_finding: `# update_finding
376
- Update a finding.
377
-
378
- **Parameters:**
379
- - finding_id (required): Finding UUID
380
- - status: open, addressed, dismissed, wontfix
375
+ update_finding: `# update_finding
376
+ Update a finding.
377
+
378
+ **Parameters:**
379
+ - finding_id (required): Finding UUID
380
+ - status: open, addressed, dismissed, wontfix
381
381
  - resolution_note, title, description, severity`,
382
- delete_finding: `# delete_finding
383
- Delete a finding.
384
-
385
- **Parameters:**
382
+ delete_finding: `# delete_finding
383
+ Delete a finding.
384
+
385
+ **Parameters:**
386
386
  - finding_id (required): Finding UUID`,
387
- get_tasks_awaiting_validation: `# get_tasks_awaiting_validation
388
- Get completed tasks needing validation.
389
-
390
- **Parameters:**
391
- - project_id (required): Project UUID
392
-
387
+ get_tasks_awaiting_validation: `# get_tasks_awaiting_validation
388
+ Get completed tasks needing validation.
389
+
390
+ **Parameters:**
391
+ - project_id (required): Project UUID
392
+
393
393
  **Returns:** Tasks with reviewing status (who's reviewing, when started)`,
394
- claim_validation: `# claim_validation
395
- Claim a completed task for review. Shows "being reviewed" on dashboard.
396
-
397
- **Parameters:**
398
- - task_id (required): Task UUID to claim
399
-
394
+ claim_validation: `# claim_validation
395
+ Claim a completed task for review. Shows "being reviewed" on dashboard.
396
+
397
+ **Parameters:**
398
+ - task_id (required): Task UUID to claim
399
+
400
400
  **Note:** Claim before reviewing to prevent duplicate work.`,
401
- validate_task: `# validate_task
402
- Validate a completed task.
403
-
404
- **Parameters:**
405
- - task_id (required): Task UUID
406
- - approved (required): true/false
401
+ validate_task: `# validate_task
402
+ Validate a completed task.
403
+
404
+ **Parameters:**
405
+ - task_id (required): Task UUID
406
+ - approved (required): true/false
407
407
  - validation_notes: What was checked, issues found`,
408
- request_deployment: `# request_deployment
409
- Request a deployment.
410
-
411
- **Parameters:**
412
- - project_id (required): Project UUID
413
- - environment: development, staging, production
414
- - version_bump: patch, minor, major
408
+ request_deployment: `# request_deployment
409
+ Request a deployment.
410
+
411
+ **Parameters:**
412
+ - project_id (required): Project UUID
413
+ - environment: development, staging, production
414
+ - version_bump: patch, minor, major
415
415
  - notes, git_ref (optional)`,
416
- claim_deployment_validation: `# claim_deployment_validation
417
- Claim pending deployment for validation.
418
-
419
- **Parameters:**
420
- - project_id (required): Project UUID
421
-
416
+ claim_deployment_validation: `# claim_deployment_validation
417
+ Claim pending deployment for validation.
418
+
419
+ **Parameters:**
420
+ - project_id (required): Project UUID
421
+
422
422
  Next: Run build+tests, then call report_validation`,
423
- report_validation: `# report_validation
424
- Report build/test results.
425
-
426
- **Parameters:**
427
- - project_id (required): Project UUID
428
- - build_passed (required): boolean
429
- - tests_passed (required): boolean
423
+ report_validation: `# report_validation
424
+ Report build/test results.
425
+
426
+ **Parameters:**
427
+ - project_id (required): Project UUID
428
+ - build_passed (required): boolean
429
+ - tests_passed (required): boolean
430
430
  - error_message (if failed)`,
431
- check_deployment_status: `# check_deployment_status
432
- Get active deployment status.
433
-
434
- **Parameters:**
431
+ check_deployment_status: `# check_deployment_status
432
+ Get active deployment status.
433
+
434
+ **Parameters:**
435
435
  - project_id (required): Project UUID`,
436
- start_deployment: `# start_deployment
437
- Start deployment (requires 'ready' status).
438
-
439
- **Parameters:**
436
+ start_deployment: `# start_deployment
437
+ Start deployment (requires 'ready' status).
438
+
439
+ **Parameters:**
440
440
  - project_id (required): Project UUID`,
441
- complete_deployment: `# complete_deployment
442
- Mark deployment complete.
443
-
444
- **Parameters:**
445
- - project_id (required): Project UUID
446
- - success (required): boolean
441
+ complete_deployment: `# complete_deployment
442
+ Mark deployment complete.
443
+
444
+ **Parameters:**
445
+ - project_id (required): Project UUID
446
+ - success (required): boolean
447
447
  - summary: What was deployed or why failed`,
448
- cancel_deployment: `# cancel_deployment
449
- Cancel active deployment.
450
-
451
- **Parameters:**
452
- - project_id (required): Project UUID
448
+ cancel_deployment: `# cancel_deployment
449
+ Cancel active deployment.
450
+
451
+ **Parameters:**
452
+ - project_id (required): Project UUID
453
453
  - reason (optional): Why cancelled`,
454
- schedule_deployment: `# schedule_deployment
455
- Schedule a deployment for a specific time.
456
-
457
- **Parameters:**
458
- - project_id (required): Project UUID
459
- - scheduled_at (required): ISO 8601 datetime
460
- - schedule_type (optional): once, daily, weekly, monthly (default: once)
461
- - auto_trigger (optional): Whether agents auto-trigger (default: true)
462
- - environment (optional): development, staging, production (default: production)
463
- - version_bump (optional): patch, minor, major (default: patch)
464
- - notes (optional): Notes about the deployment
465
- - git_ref (optional): Git branch or commit
466
-
454
+ schedule_deployment: `# schedule_deployment
455
+ Schedule a deployment for a specific time.
456
+
457
+ **Parameters:**
458
+ - project_id (required): Project UUID
459
+ - scheduled_at (required): ISO 8601 datetime
460
+ - schedule_type (optional): once, daily, weekly, monthly (default: once)
461
+ - auto_trigger (optional): Whether agents auto-trigger (default: true)
462
+ - environment (optional): development, staging, production (default: production)
463
+ - version_bump (optional): patch, minor, major (default: patch)
464
+ - notes (optional): Notes about the deployment
465
+ - git_ref (optional): Git branch or commit
466
+
467
467
  **Example:** schedule_deployment(project_id, scheduled_at: "2025-01-15T10:00:00Z", schedule_type: "weekly")`,
468
- get_scheduled_deployments: `# get_scheduled_deployments
469
- List scheduled deployments for a project.
470
-
471
- **Parameters:**
472
- - project_id (required): Project UUID
468
+ get_scheduled_deployments: `# get_scheduled_deployments
469
+ List scheduled deployments for a project.
470
+
471
+ **Parameters:**
472
+ - project_id (required): Project UUID
473
473
  - include_disabled (optional): Include disabled schedules (default: false)`,
474
- update_scheduled_deployment: `# update_scheduled_deployment
475
- Update a scheduled deployment's configuration.
476
-
477
- **Parameters:**
478
- - schedule_id (required): Schedule UUID
479
- - scheduled_at (optional): New scheduled time
480
- - schedule_type (optional): once, daily, weekly, monthly
481
- - auto_trigger (optional): Whether to auto-trigger
482
- - enabled (optional): Enable or disable
474
+ update_scheduled_deployment: `# update_scheduled_deployment
475
+ Update a scheduled deployment's configuration.
476
+
477
+ **Parameters:**
478
+ - schedule_id (required): Schedule UUID
479
+ - scheduled_at (optional): New scheduled time
480
+ - schedule_type (optional): once, daily, weekly, monthly
481
+ - auto_trigger (optional): Whether to auto-trigger
482
+ - enabled (optional): Enable or disable
483
483
  - environment, version_bump, notes, git_ref (optional)`,
484
- delete_scheduled_deployment: `# delete_scheduled_deployment
485
- Delete a scheduled deployment.
486
-
487
- **Parameters:**
484
+ delete_scheduled_deployment: `# delete_scheduled_deployment
485
+ Delete a scheduled deployment.
486
+
487
+ **Parameters:**
488
488
  - schedule_id (required): Schedule UUID`,
489
- trigger_scheduled_deployment: `# trigger_scheduled_deployment
490
- Manually trigger a scheduled deployment.
491
-
492
- Creates a new deployment using the schedule's configuration.
493
- Updates schedule: last_triggered_at, trigger_count, next scheduled_at (for recurring).
494
-
495
- **Parameters:**
489
+ trigger_scheduled_deployment: `# trigger_scheduled_deployment
490
+ Manually trigger a scheduled deployment.
491
+
492
+ Creates a new deployment using the schedule's configuration.
493
+ Updates schedule: last_triggered_at, trigger_count, next scheduled_at (for recurring).
494
+
495
+ **Parameters:**
496
496
  - schedule_id (required): Schedule UUID`,
497
- check_due_deployments: `# check_due_deployments
498
- Check for scheduled deployments that are due.
499
-
500
- Returns schedules where: enabled AND auto_trigger AND scheduled_at <= NOW()
501
-
502
- Use this to find deployments to trigger when working on a project.
503
-
504
- **Parameters:**
497
+ check_due_deployments: `# check_due_deployments
498
+ Check for scheduled deployments that are due.
499
+
500
+ Returns schedules where: enabled AND auto_trigger AND scheduled_at <= NOW()
501
+
502
+ Use this to find deployments to trigger when working on a project.
503
+
504
+ **Parameters:**
505
505
  - project_id (required): Project UUID`,
506
- start_fallback_activity: `# start_fallback_activity
507
- Start background activity when no tasks.
508
-
509
- **Parameters:**
510
- - project_id (required): Project UUID
506
+ start_fallback_activity: `# start_fallback_activity
507
+ Start background activity when no tasks.
508
+
509
+ **Parameters:**
510
+ - project_id (required): Project UUID
511
511
  - activity (required): feature_ideation, code_review, performance_audit, ux_review, cost_analysis, security_review, test_coverage, documentation_review, dependency_audit, validate_completed_tasks`,
512
- stop_fallback_activity: `# stop_fallback_activity
513
- Stop current fallback activity.
514
-
515
- **Parameters:**
516
- - project_id (required): Project UUID
512
+ stop_fallback_activity: `# stop_fallback_activity
513
+ Stop current fallback activity.
514
+
515
+ **Parameters:**
516
+ - project_id (required): Project UUID
517
517
  - summary (optional): What was accomplished`,
518
- get_activity_history: `# get_activity_history
519
- Get background activity history.
520
-
521
- **Parameters:**
522
- - project_id (required): Project UUID
523
- - activity_type (optional): Filter by type
518
+ get_activity_history: `# get_activity_history
519
+ Get background activity history.
520
+
521
+ **Parameters:**
522
+ - project_id (required): Project UUID
523
+ - activity_type (optional): Filter by type
524
524
  - limit (optional): Max items`,
525
- get_activity_schedules: `# get_activity_schedules
526
- Get activity schedules.
527
-
528
- **Parameters:**
525
+ get_activity_schedules: `# get_activity_schedules
526
+ Get activity schedules.
527
+
528
+ **Parameters:**
529
529
  - project_id (required): Project UUID`,
530
- get_pending_requests: `# get_pending_requests
531
- Get unacknowledged user requests.
532
-
533
- **Parameters:**
530
+ get_pending_requests: `# get_pending_requests
531
+ Get unacknowledged user requests.
532
+
533
+ **Parameters:**
534
534
  - project_id (required): Project UUID`,
535
- acknowledge_request: `# acknowledge_request
536
- Mark a request as handled.
537
-
538
- **Parameters:**
535
+ acknowledge_request: `# acknowledge_request
536
+ Mark a request as handled.
537
+
538
+ **Parameters:**
539
539
  - request_id (required): Request UUID`,
540
- answer_question: `# answer_question
541
- Answer a user question from dashboard.
542
-
543
- **Parameters:**
544
- - request_id (required): Request UUID
540
+ answer_question: `# answer_question
541
+ Answer a user question from dashboard.
542
+
543
+ **Parameters:**
544
+ - request_id (required): Request UUID
545
545
  - answer (required): Your answer`,
546
- discover_tools: `# discover_tools
547
- List available tools by category.
548
-
549
- **Parameters:**
550
- - category (optional): Filter to specific category
551
-
552
- Without category, returns all categories with tool counts.
546
+ discover_tools: `# discover_tools
547
+ List available tools by category.
548
+
549
+ **Parameters:**
550
+ - category (optional): Filter to specific category
551
+
552
+ Without category, returns all categories with tool counts.
553
553
  With category, returns tools in that category with brief descriptions.`,
554
- get_tool_info: `# get_tool_info
555
- Get detailed info for a specific tool.
556
-
557
- **Parameters:**
558
- - tool_name (required): Name of the tool
559
-
554
+ get_tool_info: `# get_tool_info
555
+ Get detailed info for a specific tool.
556
+
557
+ **Parameters:**
558
+ - tool_name (required): Name of the tool
559
+
560
560
  Returns: full documentation, parameters, examples, best practices.`,
561
561
  // Organization tools
562
- list_organizations: `# list_organizations
563
- List organizations the current user belongs to.
564
-
565
- **Parameters:** None
566
-
562
+ list_organizations: `# list_organizations
563
+ List organizations the current user belongs to.
564
+
565
+ **Parameters:** None
566
+
567
567
  **Returns:** Array of organizations with role and joined_at`,
568
- create_organization: `# create_organization
569
- Create a new organization. You become the owner.
570
-
571
- **Parameters:**
572
- - name (required): Organization display name
573
- - description (optional): Brief description
574
- - slug (optional): URL-friendly identifier (auto-generated if not provided)
575
-
568
+ create_organization: `# create_organization
569
+ Create a new organization. You become the owner.
570
+
571
+ **Parameters:**
572
+ - name (required): Organization display name
573
+ - description (optional): Brief description
574
+ - slug (optional): URL-friendly identifier (auto-generated if not provided)
575
+
576
576
  **Example:** create_organization(name: "Acme Corp", description: "Our development team")`,
577
- update_organization: `# update_organization
578
- Update organization details. Requires admin role.
579
-
580
- **Parameters:**
581
- - organization_id (required): Organization UUID
577
+ update_organization: `# update_organization
578
+ Update organization details. Requires admin role.
579
+
580
+ **Parameters:**
581
+ - organization_id (required): Organization UUID
582
582
  - name, description, logo_url (optional updates)`,
583
- delete_organization: `# delete_organization
584
- Delete an organization. Requires owner role. Removes all shares.
585
-
586
- **Parameters:**
587
- - organization_id (required): Organization UUID
588
-
583
+ delete_organization: `# delete_organization
584
+ Delete an organization. Requires owner role. Removes all shares.
585
+
586
+ **Parameters:**
587
+ - organization_id (required): Organization UUID
588
+
589
589
  **Warning:** This will remove all project shares with this organization.`,
590
- list_org_members: `# list_org_members
591
- List members of an organization.
592
-
593
- **Parameters:**
594
- - organization_id (required): Organization UUID
595
-
590
+ list_org_members: `# list_org_members
591
+ List members of an organization.
592
+
593
+ **Parameters:**
594
+ - organization_id (required): Organization UUID
595
+
596
596
  **Returns:** Array of members with role and joined_at`,
597
- invite_member: `# invite_member
598
- Invite a user to an organization by email. Requires admin role.
599
-
600
- **Parameters:**
601
- - organization_id (required): Organization UUID
602
- - email (required): Email address to invite
603
- - role (optional): admin, member, or viewer (default: member)
604
-
597
+ invite_member: `# invite_member
598
+ Invite a user to an organization by email. Requires admin role.
599
+
600
+ **Parameters:**
601
+ - organization_id (required): Organization UUID
602
+ - email (required): Email address to invite
603
+ - role (optional): admin, member, or viewer (default: member)
604
+
605
605
  **Returns:** Invite details with token`,
606
- update_member_role: `# update_member_role
607
- Change a member's role. Requires admin role.
608
-
609
- **Parameters:**
610
- - organization_id (required): Organization UUID
611
- - user_id (required): User UUID to update
612
- - role (required): admin, member, or viewer
613
-
606
+ update_member_role: `# update_member_role
607
+ Change a member's role. Requires admin role.
608
+
609
+ **Parameters:**
610
+ - organization_id (required): Organization UUID
611
+ - user_id (required): User UUID to update
612
+ - role (required): admin, member, or viewer
613
+
614
614
  **Note:** Cannot change your own role or the owner's role.`,
615
- remove_member: `# remove_member
616
- Remove a member from an organization. Requires admin role.
617
-
618
- **Parameters:**
619
- - organization_id (required): Organization UUID
620
- - user_id (required): User UUID to remove
621
-
615
+ remove_member: `# remove_member
616
+ Remove a member from an organization. Requires admin role.
617
+
618
+ **Parameters:**
619
+ - organization_id (required): Organization UUID
620
+ - user_id (required): User UUID to remove
621
+
622
622
  **Note:** Cannot remove the owner. Their org-scoped API keys are invalidated.`,
623
- leave_organization: `# leave_organization
624
- Leave an organization.
625
-
626
- **Parameters:**
627
- - organization_id (required): Organization UUID
628
-
623
+ leave_organization: `# leave_organization
624
+ Leave an organization.
625
+
626
+ **Parameters:**
627
+ - organization_id (required): Organization UUID
628
+
629
629
  **Note:** Owner cannot leave. Must transfer ownership or delete organization.`,
630
- share_project_with_org: `# share_project_with_org
631
- Share a project with an organization. You must own the project.
632
-
633
- **Parameters:**
634
- - project_id (required): Project UUID
635
- - organization_id (required): Organization UUID to share with
636
- - permission (optional): read, write, or admin (default: read)
637
-
638
- **Permission levels:**
639
- - read: View project and tasks
640
- - write: Add/update tasks, log progress
630
+ share_project_with_org: `# share_project_with_org
631
+ Share a project with an organization. You must own the project.
632
+
633
+ **Parameters:**
634
+ - project_id (required): Project UUID
635
+ - organization_id (required): Organization UUID to share with
636
+ - permission (optional): read, write, or admin (default: read)
637
+
638
+ **Permission levels:**
639
+ - read: View project and tasks
640
+ - write: Add/update tasks, log progress
641
641
  - admin: All write permissions plus deployments`,
642
- update_project_share: `# update_project_share
643
- Update the permission level for a project share.
644
-
645
- **Parameters:**
646
- - project_id (required): Project UUID
647
- - organization_id (required): Organization UUID
642
+ update_project_share: `# update_project_share
643
+ Update the permission level for a project share.
644
+
645
+ **Parameters:**
646
+ - project_id (required): Project UUID
647
+ - organization_id (required): Organization UUID
648
648
  - permission (required): read, write, or admin`,
649
- unshare_project: `# unshare_project
650
- Remove a project share from an organization.
651
-
652
- **Parameters:**
653
- - project_id (required): Project UUID
654
- - organization_id (required): Organization UUID
655
-
649
+ unshare_project: `# unshare_project
650
+ Remove a project share from an organization.
651
+
652
+ **Parameters:**
653
+ - project_id (required): Project UUID
654
+ - organization_id (required): Organization UUID
655
+
656
656
  **Note:** Org members will lose access immediately.`,
657
- list_project_shares: `# list_project_shares
658
- List all organizations a project is shared with.
659
-
660
- **Parameters:**
661
- - project_id (required): Project UUID
662
-
657
+ list_project_shares: `# list_project_shares
658
+ List all organizations a project is shared with.
659
+
660
+ **Parameters:**
661
+ - project_id (required): Project UUID
662
+
663
663
  **Returns:** Array of shares with organization info and permission level`,
664
664
  // Cost monitoring tools
665
- get_cost_summary: `# get_cost_summary
666
- Get cost summary (daily/weekly/monthly) for a project.
667
-
668
- **Parameters:**
669
- - project_id (required): Project UUID
670
- - period: 'daily' | 'weekly' | 'monthly' (default: daily)
671
- - limit: Max records to return (default: 30)
672
-
665
+ get_cost_summary: `# get_cost_summary
666
+ Get cost summary (daily/weekly/monthly) for a project.
667
+
668
+ **Parameters:**
669
+ - project_id (required): Project UUID
670
+ - period: 'daily' | 'weekly' | 'monthly' (default: daily)
671
+ - limit: Max records to return (default: 30)
672
+
673
673
  **Returns:** Cost summary with totals and breakdown by model`,
674
- get_cost_alerts: `# get_cost_alerts
675
- Get cost alerts for the current user.
676
-
677
- **Parameters:**
678
- - project_id (optional): Filter by project
679
-
674
+ get_cost_alerts: `# get_cost_alerts
675
+ Get cost alerts for the current user.
676
+
677
+ **Parameters:**
678
+ - project_id (optional): Filter by project
679
+
680
680
  **Returns:** Array of configured cost alerts`,
681
- add_cost_alert: `# add_cost_alert
682
- Add a cost threshold alert.
683
-
684
- **Parameters:**
685
- - project_id (optional): Specific project or null for all
686
- - threshold_amount (required): Amount in USD
687
- - threshold_period (required): 'daily' | 'weekly' | 'monthly'
688
- - alert_type: 'warning' | 'critical' (default: warning)
689
-
681
+ add_cost_alert: `# add_cost_alert
682
+ Add a cost threshold alert.
683
+
684
+ **Parameters:**
685
+ - project_id (optional): Specific project or null for all
686
+ - threshold_amount (required): Amount in USD
687
+ - threshold_period (required): 'daily' | 'weekly' | 'monthly'
688
+ - alert_type: 'warning' | 'critical' (default: warning)
689
+
690
690
  **Example:** add_cost_alert(threshold_amount: 50, threshold_period: "daily", alert_type: "warning")`,
691
- update_cost_alert: `# update_cost_alert
692
- Update an existing cost alert.
693
-
694
- **Parameters:**
695
- - alert_id (required): Alert UUID
696
- - threshold_amount: New amount in USD
697
- - threshold_period: New period
698
- - alert_type: New alert type
691
+ update_cost_alert: `# update_cost_alert
692
+ Update an existing cost alert.
693
+
694
+ **Parameters:**
695
+ - alert_id (required): Alert UUID
696
+ - threshold_amount: New amount in USD
697
+ - threshold_period: New period
698
+ - alert_type: New alert type
699
699
  - enabled: Enable/disable the alert`,
700
- delete_cost_alert: `# delete_cost_alert
701
- Delete a cost alert.
702
-
703
- **Parameters:**
700
+ delete_cost_alert: `# delete_cost_alert
701
+ Delete a cost alert.
702
+
703
+ **Parameters:**
704
704
  - alert_id (required): Alert UUID to delete`,
705
- get_task_costs: `# get_task_costs
706
- Get cost breakdown by task for a project.
707
-
708
- **Parameters:**
709
- - project_id (required): Project UUID
710
- - limit: Max tasks to return (default: 20)
711
-
705
+ get_task_costs: `# get_task_costs
706
+ Get cost breakdown by task for a project.
707
+
708
+ **Parameters:**
709
+ - project_id (required): Project UUID
710
+ - limit: Max tasks to return (default: 20)
711
+
712
712
  **Returns:** Tasks sorted by estimated cost with model breakdown`,
713
713
  // Subtasks
714
- add_subtask: `# add_subtask
715
- Add a subtask to break down a larger task.
716
-
717
- **Parameters:**
718
- - parent_task_id (required): UUID of the parent task
719
- - title (required): Subtask title
720
- - description (optional): Detailed description
721
- - priority (optional): 1-5 (defaults to parent priority)
722
- - estimated_minutes (optional): Time estimate
723
-
714
+ add_subtask: `# add_subtask
715
+ Add a subtask to break down a larger task.
716
+
717
+ **Parameters:**
718
+ - parent_task_id (required): UUID of the parent task
719
+ - title (required): Subtask title
720
+ - description (optional): Detailed description
721
+ - priority (optional): 1-5 (defaults to parent priority)
722
+ - estimated_minutes (optional): Time estimate
723
+
724
724
  **Note:** Max depth is 1 (subtasks cannot have their own subtasks).`,
725
- get_subtasks: `# get_subtasks
726
- Get subtasks for a parent task.
727
-
728
- **Parameters:**
729
- - parent_task_id (required): UUID of the parent task
730
- - status (optional): Filter by status
731
-
725
+ get_subtasks: `# get_subtasks
726
+ Get subtasks for a parent task.
727
+
728
+ **Parameters:**
729
+ - parent_task_id (required): UUID of the parent task
730
+ - status (optional): Filter by status
731
+
732
732
  **Returns:** Subtasks with aggregate completion stats.`,
733
733
  // Bodies of work
734
- create_body_of_work: `# create_body_of_work
735
- Create a new body of work to group tasks into phases.
736
-
737
- **Parameters:**
738
- - project_id (required): Project UUID
739
- - title (required): Title for the body of work
740
- - description (optional): Description
741
- - auto_deploy_on_completion (optional): Auto-deploy when all tasks complete (default: false)
742
- - deploy_environment (optional): Target environment (default: production)
743
- - deploy_version_bump (optional): Version bump (default: minor)
734
+ create_body_of_work: `# create_body_of_work
735
+ Create a new body of work to group tasks into phases.
736
+
737
+ **Parameters:**
738
+ - project_id (required): Project UUID
739
+ - title (required): Title for the body of work
740
+ - description (optional): Description
741
+ - auto_deploy_on_completion (optional): Auto-deploy when all tasks complete (default: false)
742
+ - deploy_environment (optional): Target environment (default: production)
743
+ - deploy_version_bump (optional): Version bump (default: minor)
744
744
  - deploy_trigger (optional): When to trigger auto-deploy (default: all_completed_validated)`,
745
- update_body_of_work: `# update_body_of_work
746
- Update a body of work's settings.
747
-
748
- **Parameters:**
749
- - body_of_work_id (required): Body of work UUID
750
- - title, description (optional)
745
+ update_body_of_work: `# update_body_of_work
746
+ Update a body of work's settings.
747
+
748
+ **Parameters:**
749
+ - body_of_work_id (required): Body of work UUID
750
+ - title, description (optional)
751
751
  - auto_deploy_on_completion, deploy_environment, deploy_version_bump, deploy_trigger (optional)`,
752
- get_body_of_work: `# get_body_of_work
753
- Get a body of work with all its tasks organized by phase.
754
-
755
- **Parameters:**
756
- - body_of_work_id (required): Body of work UUID
757
-
752
+ get_body_of_work: `# get_body_of_work
753
+ Get a body of work with all its tasks organized by phase.
754
+
755
+ **Parameters:**
756
+ - body_of_work_id (required): Body of work UUID
757
+
758
758
  **Returns:** Body of work with tasks grouped by pre/core/post phases.`,
759
- get_bodies_of_work: `# get_bodies_of_work
760
- List bodies of work for a project.
761
-
762
- **Parameters:**
763
- - project_id (required): Project UUID
764
- - status (optional): Filter by status (draft, active, completed, cancelled)
759
+ get_bodies_of_work: `# get_bodies_of_work
760
+ List bodies of work for a project.
761
+
762
+ **Parameters:**
763
+ - project_id (required): Project UUID
764
+ - status (optional): Filter by status (draft, active, completed, cancelled)
765
765
  - limit (optional): Max items (default 50)`,
766
- delete_body_of_work: `# delete_body_of_work
767
- Delete a body of work. Tasks are preserved but no longer grouped.
768
-
769
- **Parameters:**
766
+ delete_body_of_work: `# delete_body_of_work
767
+ Delete a body of work. Tasks are preserved but no longer grouped.
768
+
769
+ **Parameters:**
770
770
  - body_of_work_id (required): Body of work UUID`,
771
- add_task_to_body_of_work: `# add_task_to_body_of_work
772
- Add a task to a body of work in a specific phase.
773
-
774
- **Parameters:**
775
- - body_of_work_id (required): Body of work UUID
776
- - task_id (required): Task UUID to add
777
- - phase (optional): pre, core, or post (default: core)
771
+ add_task_to_body_of_work: `# add_task_to_body_of_work
772
+ Add a task to a body of work in a specific phase.
773
+
774
+ **Parameters:**
775
+ - body_of_work_id (required): Body of work UUID
776
+ - task_id (required): Task UUID to add
777
+ - phase (optional): pre, core, or post (default: core)
778
778
  - order_index (optional): Order within phase`,
779
- remove_task_from_body_of_work: `# remove_task_from_body_of_work
780
- Remove a task from its body of work.
781
-
782
- **Parameters:**
783
- - task_id (required): Task UUID to remove
784
-
779
+ remove_task_from_body_of_work: `# remove_task_from_body_of_work
780
+ Remove a task from its body of work.
781
+
782
+ **Parameters:**
783
+ - task_id (required): Task UUID to remove
784
+
785
785
  **Note:** The task is preserved, just no longer grouped.`,
786
- activate_body_of_work: `# activate_body_of_work
787
- Activate a draft body of work to start execution.
788
-
789
- **Parameters:**
790
- - body_of_work_id (required): Body of work UUID
791
-
786
+ activate_body_of_work: `# activate_body_of_work
787
+ Activate a draft body of work to start execution.
788
+
789
+ **Parameters:**
790
+ - body_of_work_id (required): Body of work UUID
791
+
792
792
  **Note:** Requires at least one task. Once active, tasks follow phase order.`,
793
- add_task_dependency: `# add_task_dependency
794
- Add a dependency between tasks in a body of work.
795
-
796
- **Parameters:**
797
- - body_of_work_id (required): Body of work UUID
798
- - task_id (required): Task that depends on another
799
- - depends_on_task_id (required): Task that must complete first
800
-
793
+ add_task_dependency: `# add_task_dependency
794
+ Add a dependency between tasks in a body of work.
795
+
796
+ **Parameters:**
797
+ - body_of_work_id (required): Body of work UUID
798
+ - task_id (required): Task that depends on another
799
+ - depends_on_task_id (required): Task that must complete first
800
+
801
801
  **Note:** Prevents circular dependencies.`,
802
- remove_task_dependency: `# remove_task_dependency
803
- Remove a dependency between tasks.
804
-
805
- **Parameters:**
806
- - task_id (required): Task UUID
802
+ remove_task_dependency: `# remove_task_dependency
803
+ Remove a dependency between tasks.
804
+
805
+ **Parameters:**
806
+ - task_id (required): Task UUID
807
807
  - depends_on_task_id (required): Dependency task UUID`,
808
- get_task_dependencies: `# get_task_dependencies
809
- Get task dependencies for a body of work or specific task.
810
-
811
- **Parameters:**
812
- - body_of_work_id (optional): Body of work UUID
808
+ get_task_dependencies: `# get_task_dependencies
809
+ Get task dependencies for a body of work or specific task.
810
+
811
+ **Parameters:**
812
+ - body_of_work_id (optional): Body of work UUID
813
813
  - task_id (optional): Specific task UUID`,
814
- get_next_body_of_work_task: `# get_next_body_of_work_task
815
- Get the next available task from a body of work.
816
-
817
- **Parameters:**
818
- - body_of_work_id (required): Body of work UUID
819
-
814
+ get_next_body_of_work_task: `# get_next_body_of_work_task
815
+ Get the next available task from a body of work.
816
+
817
+ **Parameters:**
818
+ - body_of_work_id (required): Body of work UUID
819
+
820
820
  **Note:** Considers phase order (pre → core → post) and dependencies.`,
821
821
  // Sprints
822
- create_sprint: `# create_sprint
823
- Create a new sprint with time bounds and velocity tracking.
824
-
825
- **Parameters:**
826
- - project_id (required): Project UUID
827
- - title (required): Sprint title (e.g., "Sprint 5")
828
- - start_date (required): Start date (YYYY-MM-DD)
829
- - end_date (required): End date (YYYY-MM-DD)
830
- - goal (optional): Sprint goal statement
822
+ create_sprint: `# create_sprint
823
+ Create a new sprint with time bounds and velocity tracking.
824
+
825
+ **Parameters:**
826
+ - project_id (required): Project UUID
827
+ - title (required): Sprint title (e.g., "Sprint 5")
828
+ - start_date (required): Start date (YYYY-MM-DD)
829
+ - end_date (required): End date (YYYY-MM-DD)
830
+ - goal (optional): Sprint goal statement
831
831
  - auto_deploy_on_completion, deploy_environment, deploy_version_bump (optional)`,
832
- update_sprint: `# update_sprint
833
- Update a sprint's details.
834
-
835
- **Parameters:**
836
- - sprint_id (required): Sprint UUID
837
- - title, goal, start_date, end_date (optional)
832
+ update_sprint: `# update_sprint
833
+ Update a sprint's details.
834
+
835
+ **Parameters:**
836
+ - sprint_id (required): Sprint UUID
837
+ - title, goal, start_date, end_date (optional)
838
838
  - auto_deploy_on_completion, deploy_environment, deploy_version_bump (optional)`,
839
- get_sprint: `# get_sprint
840
- Get a sprint with all its tasks organized by phase.
841
-
842
- **Parameters:**
843
- - sprint_id (required): Sprint UUID
844
-
839
+ get_sprint: `# get_sprint
840
+ Get a sprint with all its tasks organized by phase.
841
+
842
+ **Parameters:**
843
+ - sprint_id (required): Sprint UUID
844
+
845
845
  **Returns:** Sprint with progress percentage, velocity points, committed points.`,
846
- get_sprints: `# get_sprints
847
- List sprints for a project with velocity metrics.
848
-
849
- **Parameters:**
850
- - project_id (required): Project UUID
851
- - status (optional): planning, active, in_review, retrospective, completed, cancelled
846
+ get_sprints: `# get_sprints
847
+ List sprints for a project with velocity metrics.
848
+
849
+ **Parameters:**
850
+ - project_id (required): Project UUID
851
+ - status (optional): planning, active, in_review, retrospective, completed, cancelled
852
852
  - limit (optional): Max sprints (default 20)`,
853
- delete_sprint: `# delete_sprint
854
- Delete a sprint. Tasks are preserved but no longer grouped.
855
-
856
- **Parameters:**
853
+ delete_sprint: `# delete_sprint
854
+ Delete a sprint. Tasks are preserved but no longer grouped.
855
+
856
+ **Parameters:**
857
857
  - sprint_id (required): Sprint UUID`,
858
- start_sprint: `# start_sprint
859
- Start a sprint. Transitions from 'planning' to 'active'.
860
-
861
- **Parameters:**
862
- - sprint_id (required): Sprint UUID
863
-
858
+ start_sprint: `# start_sprint
859
+ Start a sprint. Transitions from 'planning' to 'active'.
860
+
861
+ **Parameters:**
862
+ - sprint_id (required): Sprint UUID
863
+
864
864
  **Note:** Locks committed_points at current total story points.`,
865
- complete_sprint: `# complete_sprint
866
- Complete a sprint. Handles retrospective phase and auto-deployment.
867
-
868
- **Parameters:**
869
- - sprint_id (required): Sprint UUID
870
- - retrospective_notes (optional): Sprint retrospective notes
865
+ complete_sprint: `# complete_sprint
866
+ Complete a sprint. Handles retrospective phase and auto-deployment.
867
+
868
+ **Parameters:**
869
+ - sprint_id (required): Sprint UUID
870
+ - retrospective_notes (optional): Sprint retrospective notes
871
871
  - skip_retrospective (optional): Skip retrospective phase (default: false)`,
872
- add_task_to_sprint: `# add_task_to_sprint
873
- Add a task to a sprint with optional story points.
874
-
875
- **Parameters:**
876
- - sprint_id (required): Sprint UUID
877
- - task_id (required): Task UUID to add
878
- - story_points (optional): Story point estimate
872
+ add_task_to_sprint: `# add_task_to_sprint
873
+ Add a task to a sprint with optional story points.
874
+
875
+ **Parameters:**
876
+ - sprint_id (required): Sprint UUID
877
+ - task_id (required): Task UUID to add
878
+ - story_points (optional): Story point estimate
879
879
  - phase (optional): pre, core, or post (default: core)`,
880
- remove_task_from_sprint: `# remove_task_from_sprint
881
- Remove a task from a sprint.
882
-
883
- **Parameters:**
884
- - sprint_id (required): Sprint UUID
885
- - task_id (required): Task UUID to remove
886
-
880
+ remove_task_from_sprint: `# remove_task_from_sprint
881
+ Remove a task from a sprint.
882
+
883
+ **Parameters:**
884
+ - sprint_id (required): Sprint UUID
885
+ - task_id (required): Task UUID to remove
886
+
887
887
  **Note:** Task returns to backlog.`,
888
- get_sprint_backlog: `# get_sprint_backlog
889
- Get tasks that can be added to a sprint.
890
-
891
- **Parameters:**
892
- - project_id (required): Project UUID
893
- - sprint_id (optional): Exclude tasks already in this sprint
894
-
888
+ get_sprint_backlog: `# get_sprint_backlog
889
+ Get tasks that can be added to a sprint.
890
+
891
+ **Parameters:**
892
+ - project_id (required): Project UUID
893
+ - sprint_id (optional): Exclude tasks already in this sprint
894
+
895
895
  **Returns:** Tasks not assigned to any body of work or sprint.`,
896
- get_sprint_velocity: `# get_sprint_velocity
897
- Get velocity metrics for completed sprints.
898
-
899
- **Parameters:**
900
- - project_id (required): Project UUID
901
- - limit (optional): Number of sprints to analyze (default 10)
902
-
896
+ get_sprint_velocity: `# get_sprint_velocity
897
+ Get velocity metrics for completed sprints.
898
+
899
+ **Parameters:**
900
+ - project_id (required): Project UUID
901
+ - limit (optional): Number of sprints to analyze (default 10)
902
+
903
903
  **Returns:** Committed vs completed points, average velocity.`,
904
904
  // Git issues
905
- add_git_issue: `# add_git_issue
906
- Record a git-related issue (merge conflict, push failure, etc.).
907
-
908
- **Parameters:**
909
- - project_id (required): Project UUID
910
- - issue_type (required): merge_conflict, push_failed, rebase_needed, branch_diverged, pr_not_mergeable
911
- - branch (required): Branch where the issue occurred
905
+ add_git_issue: `# add_git_issue
906
+ Record a git-related issue (merge conflict, push failure, etc.).
907
+
908
+ **Parameters:**
909
+ - project_id (required): Project UUID
910
+ - issue_type (required): merge_conflict, push_failed, rebase_needed, branch_diverged, pr_not_mergeable
911
+ - branch (required): Branch where the issue occurred
912
912
  - target_branch, conflicting_files, error_message, pr_url, task_id (optional)`,
913
- resolve_git_issue: `# resolve_git_issue
914
- Mark a git issue as resolved.
915
-
916
- **Parameters:**
917
- - git_issue_id (required): Git issue UUID
918
- - resolution_note (optional): How the issue was resolved
913
+ resolve_git_issue: `# resolve_git_issue
914
+ Mark a git issue as resolved.
915
+
916
+ **Parameters:**
917
+ - git_issue_id (required): Git issue UUID
918
+ - resolution_note (optional): How the issue was resolved
919
919
  - auto_resolved (optional): Whether auto-resolved`,
920
- get_git_issues: `# get_git_issues
921
- Get git issues for a project.
922
-
923
- **Parameters:**
924
- - project_id (required): Project UUID
925
- - status (optional): open or resolved (default: open)
926
- - issue_type (optional): Filter by issue type
927
- - branch (optional): Filter by branch
920
+ get_git_issues: `# get_git_issues
921
+ Get git issues for a project.
922
+
923
+ **Parameters:**
924
+ - project_id (required): Project UUID
925
+ - status (optional): open or resolved (default: open)
926
+ - issue_type (optional): Filter by issue type
927
+ - branch (optional): Filter by branch
928
928
  - limit (optional): Max issues (default 50)`,
929
- delete_git_issue: `# delete_git_issue
930
- Delete a git issue.
931
-
932
- **Parameters:**
929
+ delete_git_issue: `# delete_git_issue
930
+ Delete a git issue.
931
+
932
+ **Parameters:**
933
933
  - git_issue_id (required): Git issue UUID`,
934
934
  // Deployment requirements
935
- add_deployment_requirement: `# add_deployment_requirement
936
- Add a pre-deployment requirement.
937
-
938
- **Parameters:**
939
- - project_id (required): Project UUID
940
- - type (required): migration, env_var, config, manual, breaking_change, agent_task
941
- - title (required): Brief description
942
- - description (optional): Detailed instructions
943
- - stage (optional): preparation, deployment, or verification (default: preparation)
944
- - file_path (optional): File path reference
935
+ add_deployment_requirement: `# add_deployment_requirement
936
+ Add a pre-deployment requirement.
937
+
938
+ **Parameters:**
939
+ - project_id (required): Project UUID
940
+ - type (required): migration, env_var, config, manual, breaking_change, agent_task
941
+ - title (required): Brief description
942
+ - description (optional): Detailed instructions
943
+ - stage (optional): preparation, deployment, or verification (default: preparation)
944
+ - file_path (optional): File path reference
945
945
  - blocking (optional): Whether converted task blocks other work`,
946
- complete_deployment_requirement: `# complete_deployment_requirement
947
- Mark a deployment requirement as completed.
948
-
949
- **Parameters:**
946
+ complete_deployment_requirement: `# complete_deployment_requirement
947
+ Mark a deployment requirement as completed.
948
+
949
+ **Parameters:**
950
950
  - requirement_id (required): Requirement UUID`,
951
- get_deployment_requirements: `# get_deployment_requirements
952
- Get pending deployment requirements.
953
-
954
- **Parameters:**
955
- - project_id (required): Project UUID
956
- - stage (optional): preparation, deployment, verification, or all
951
+ get_deployment_requirements: `# get_deployment_requirements
952
+ Get pending deployment requirements.
953
+
954
+ **Parameters:**
955
+ - project_id (required): Project UUID
956
+ - stage (optional): preparation, deployment, verification, or all
957
957
  - status (optional): pending, completed, converted_to_task, or all (default: pending)`,
958
- reorder_deployment_requirements: `# reorder_deployment_requirements
959
- Reorder deployment requirements within a stage.
960
-
961
- **Parameters:**
962
- - project_id (required): Project UUID
963
- - stage (required): preparation, deployment, or verification
958
+ reorder_deployment_requirements: `# reorder_deployment_requirements
959
+ Reorder deployment requirements within a stage.
960
+
961
+ **Parameters:**
962
+ - project_id (required): Project UUID
963
+ - stage (required): preparation, deployment, or verification
964
964
  - requirement_ids (required): Array of requirement UUIDs in desired order`,
965
965
  // Knowledge base
966
- query_knowledge_base: `# query_knowledge_base
967
- Query aggregated project knowledge in a single call. Reduces token usage by combining multiple data sources.
968
-
969
- **Parameters:**
970
- - project_id (required): Project UUID
971
- - scope: 'summary' (default) or 'detailed' (includes rationales, descriptions)
972
- - categories: Array of categories to include (default: all)
973
- - findings: Audit findings (security, performance, code quality)
974
- - qa: Questions and answers
975
- - decisions: Architectural decisions
976
- - completed_tasks: Tasks with completion summaries
977
- - blockers: Resolved blockers with resolution notes
978
- - progress: Recent progress logs
979
- - limit: Max items per category (default: 5, max: 20)
980
- - search_query: Optional text search across all knowledge
981
-
982
- **Returns:**
983
- - project: name, goal, tech_stack
984
- - stats: counts for each category, findings by severity
985
- - Category data based on selection
986
-
987
- **Token savings:** Replaces multiple tool calls (get_findings, get_decisions, get_blockers, etc.) with one call.
988
-
966
+ query_knowledge_base: `# query_knowledge_base
967
+ Query aggregated project knowledge in a single call. Reduces token usage by combining multiple data sources.
968
+
969
+ **Parameters:**
970
+ - project_id (required): Project UUID
971
+ - scope: 'summary' (default) or 'detailed' (includes rationales, descriptions)
972
+ - categories: Array of categories to include (default: all)
973
+ - findings: Audit findings (security, performance, code quality)
974
+ - qa: Questions and answers
975
+ - decisions: Architectural decisions
976
+ - completed_tasks: Tasks with completion summaries
977
+ - blockers: Resolved blockers with resolution notes
978
+ - progress: Recent progress logs
979
+ - limit: Max items per category (default: 5, max: 20)
980
+ - search_query: Optional text search across all knowledge
981
+
982
+ **Returns:**
983
+ - project: name, goal, tech_stack
984
+ - stats: counts for each category, findings by severity
985
+ - Category data based on selection
986
+
987
+ **Token savings:** Replaces multiple tool calls (get_findings, get_decisions, get_blockers, etc.) with one call.
988
+
989
989
  **Example:** query_knowledge_base(project_id, categories: ["findings", "decisions"], limit: 10)`,
990
990
  // Session tools (additional)
991
- report_token_usage: `# report_token_usage
992
- Report actual token usage from Claude API responses.
993
-
994
- **Parameters:**
995
- - session_id (optional): Session UUID (uses current session if not provided)
996
- - input_tokens (required): Number of input tokens
997
- - output_tokens (required): Number of output tokens
998
- - model (optional): Model used (e.g., "claude-3-opus")
999
-
991
+ report_token_usage: `# report_token_usage
992
+ Report actual token usage from Claude API responses.
993
+
994
+ **Parameters:**
995
+ - session_id (optional): Session UUID (uses current session if not provided)
996
+ - input_tokens (required): Number of input tokens
997
+ - output_tokens (required): Number of output tokens
998
+ - model (optional): Model used (e.g., "claude-3-opus")
999
+
1000
1000
  **Returns:** Updated token usage summary`,
1001
- signal_idle: `# signal_idle
1002
- Signal that the agent is idle and available for work.
1003
-
1004
- **Parameters:**
1005
- - session_id (optional): Session UUID (uses current session if not provided)
1006
-
1001
+ signal_idle: `# signal_idle
1002
+ Signal that the agent is idle and available for work.
1003
+
1004
+ **Parameters:**
1005
+ - session_id (optional): Session UUID (uses current session if not provided)
1006
+
1007
1007
  **Returns:** Idle status confirmation, may include suggested activities`,
1008
- confirm_agent_setup: `# confirm_agent_setup
1009
- Confirm that agent setup is complete after following setup instructions.
1010
-
1011
- **Parameters:**
1012
- - project_id (required): Project UUID
1013
- - agent_type (required): Type of agent (e.g., "claude", "gemini")
1014
-
1008
+ confirm_agent_setup: `# confirm_agent_setup
1009
+ Confirm that agent setup is complete after following setup instructions.
1010
+
1011
+ **Parameters:**
1012
+ - project_id (required): Project UUID
1013
+ - agent_type (required): Type of agent (e.g., "claude", "gemini")
1014
+
1015
1015
  **Returns:** Setup confirmation status`,
1016
1016
  // Project tools (additional)
1017
- get_project_summary: `# get_project_summary
1018
- Get unified project statistics overview in a single call.
1019
-
1020
- **Parameters:**
1021
- - project_id (required): Project UUID
1022
-
1017
+ get_project_summary: `# get_project_summary
1018
+ Get unified project statistics overview in a single call.
1019
+
1020
+ **Parameters:**
1021
+ - project_id (required): Project UUID
1022
+
1023
1023
  **Returns:** Task counts, blocker counts, finding counts, decision counts, and more`,
1024
1024
  // Blocker tools (additional)
1025
- get_blocker: `# get_blocker
1026
- Get a single blocker by ID.
1027
-
1028
- **Parameters:**
1029
- - blocker_id (required): Blocker UUID
1030
-
1025
+ get_blocker: `# get_blocker
1026
+ Get a single blocker by ID.
1027
+
1028
+ **Parameters:**
1029
+ - blocker_id (required): Blocker UUID
1030
+
1031
1031
  **Returns:** Blocker details including description, status, resolution`,
1032
- get_blockers_stats: `# get_blockers_stats
1033
- Get aggregate blocker statistics.
1034
-
1035
- **Parameters:**
1036
- - project_id (required): Project UUID
1037
-
1032
+ get_blockers_stats: `# get_blockers_stats
1033
+ Get aggregate blocker statistics.
1034
+
1035
+ **Parameters:**
1036
+ - project_id (required): Project UUID
1037
+
1038
1038
  **Returns:** Open/resolved counts, breakdown by age`,
1039
1039
  // Decision tools (additional)
1040
- get_decision: `# get_decision
1041
- Get a single decision by ID.
1042
-
1043
- **Parameters:**
1044
- - decision_id (required): Decision UUID
1045
-
1040
+ get_decision: `# get_decision
1041
+ Get a single decision by ID.
1042
+
1043
+ **Parameters:**
1044
+ - decision_id (required): Decision UUID
1045
+
1046
1046
  **Returns:** Decision details including title, description, rationale`,
1047
- get_decisions_stats: `# get_decisions_stats
1048
- Get aggregate decision statistics.
1049
-
1050
- **Parameters:**
1051
- - project_id (required): Project UUID
1052
-
1047
+ get_decisions_stats: `# get_decisions_stats
1048
+ Get aggregate decision statistics.
1049
+
1050
+ **Parameters:**
1051
+ - project_id (required): Project UUID
1052
+
1053
1053
  **Returns:** Total count, recent decisions count`,
1054
1054
  // Idea tools (additional)
1055
- get_idea: `# get_idea
1056
- Get a single idea by ID.
1057
-
1058
- **Parameters:**
1059
- - idea_id (required): Idea UUID
1060
-
1055
+ get_idea: `# get_idea
1056
+ Get a single idea by ID.
1057
+
1058
+ **Parameters:**
1059
+ - idea_id (required): Idea UUID
1060
+
1061
1061
  **Returns:** Idea details including title, description, status`,
1062
1062
  // Finding tools (additional)
1063
- get_finding: `# get_finding
1064
- Get a single finding by ID.
1065
-
1066
- **Parameters:**
1067
- - finding_id (required): Finding UUID
1068
-
1063
+ get_finding: `# get_finding
1064
+ Get a single finding by ID.
1065
+
1066
+ **Parameters:**
1067
+ - finding_id (required): Finding UUID
1068
+
1069
1069
  **Returns:** Finding details including title, category, severity, status`,
1070
- get_findings_stats: `# get_findings_stats
1071
- Get aggregate finding statistics.
1072
-
1073
- **Parameters:**
1074
- - project_id (required): Project UUID
1075
-
1070
+ get_findings_stats: `# get_findings_stats
1071
+ Get aggregate finding statistics.
1072
+
1073
+ **Parameters:**
1074
+ - project_id (required): Project UUID
1075
+
1076
1076
  **Returns:** Counts by category, severity, and status`,
1077
1077
  // Deployment tools (additional)
1078
- get_deployment_requirements_stats: `# get_deployment_requirements_stats
1079
- Get aggregate deployment requirement statistics.
1080
-
1081
- **Parameters:**
1082
- - project_id (required): Project UUID
1083
-
1078
+ get_deployment_requirements_stats: `# get_deployment_requirements_stats
1079
+ Get aggregate deployment requirement statistics.
1080
+
1081
+ **Parameters:**
1082
+ - project_id (required): Project UUID
1083
+
1084
1084
  **Returns:** Counts by stage and status`,
1085
1085
  // Worktree tools
1086
- get_stale_worktrees: `# get_stale_worktrees
1087
- Find orphaned worktrees that need cleanup.
1088
-
1089
- **Parameters:**
1090
- - project_id (required): Project UUID
1091
- - hostname (optional): Filter to worktrees created on this machine
1092
-
1086
+ get_stale_worktrees: `# get_stale_worktrees
1087
+ Find orphaned worktrees that need cleanup.
1088
+
1089
+ **Parameters:**
1090
+ - project_id (required): Project UUID
1091
+ - hostname (optional): Filter to worktrees created on this machine
1092
+
1093
1093
  **Returns:** List of stale worktrees with task info and cleanup commands`,
1094
- clear_worktree_path: `# clear_worktree_path
1095
- Clear worktree path from a task after cleanup.
1096
-
1097
- **Parameters:**
1098
- - task_id (required): Task UUID
1099
-
1094
+ clear_worktree_path: `# clear_worktree_path
1095
+ Clear worktree path from a task after cleanup.
1096
+
1097
+ **Parameters:**
1098
+ - task_id (required): Task UUID
1099
+
1100
1100
  **Note:** Call this AFTER running git worktree remove`,
1101
1101
  // Role tools
1102
- get_role_settings: `# get_role_settings
1103
- Get project role settings and configuration.
1104
-
1105
- **Parameters:**
1106
- - project_id (required): Project UUID
1107
-
1102
+ get_role_settings: `# get_role_settings
1103
+ Get project role settings and configuration.
1104
+
1105
+ **Parameters:**
1106
+ - project_id (required): Project UUID
1107
+
1108
1108
  **Returns:** Role configuration including allowed roles, default role`,
1109
- update_role_settings: `# update_role_settings
1110
- Configure project role behavior.
1111
-
1112
- **Parameters:**
1113
- - project_id (required): Project UUID
1114
- - default_role (optional): Default role for new sessions
1115
- - allowed_roles (optional): Array of allowed role names
1116
-
1109
+ update_role_settings: `# update_role_settings
1110
+ Configure project role behavior.
1111
+
1112
+ **Parameters:**
1113
+ - project_id (required): Project UUID
1114
+ - default_role (optional): Default role for new sessions
1115
+ - allowed_roles (optional): Array of allowed role names
1116
+
1117
1117
  **Returns:** Updated role settings`,
1118
- set_session_role: `# set_session_role
1119
- Set the role for the current session.
1120
-
1121
- **Parameters:**
1122
- - session_id (optional): Session UUID (uses current session)
1123
- - role (required): Role name (e.g., "developer", "validator", "deployer")
1124
-
1118
+ set_session_role: `# set_session_role
1119
+ Set the role for the current session.
1120
+
1121
+ **Parameters:**
1122
+ - session_id (optional): Session UUID (uses current session)
1123
+ - role (required): Role name (e.g., "developer", "validator", "deployer")
1124
+
1125
1125
  **Returns:** Updated session with new role`,
1126
- get_agents_by_role: `# get_agents_by_role
1127
- List active agents grouped by role.
1128
-
1129
- **Parameters:**
1130
- - project_id (required): Project UUID
1131
-
1126
+ get_agents_by_role: `# get_agents_by_role
1127
+ List active agents grouped by role.
1128
+
1129
+ **Parameters:**
1130
+ - project_id (required): Project UUID
1131
+
1132
1132
  **Returns:** Agents organized by role`,
1133
1133
  // File checkout/lock tools
1134
- checkout_file: `# checkout_file
1135
- Lock a file for editing to prevent conflicts with other agents.
1136
-
1137
- **Parameters:**
1138
- - project_id (required): Project UUID
1139
- - file_path (required): Path to the file to lock
1140
- - reason (optional): Why you need to edit this file
1141
-
1134
+ checkout_file: `# checkout_file
1135
+ Lock a file for editing to prevent conflicts with other agents.
1136
+
1137
+ **Parameters:**
1138
+ - project_id (required): Project UUID
1139
+ - file_path (required): Path to the file to lock
1140
+ - reason (optional): Why you need to edit this file
1141
+
1142
1142
  **Returns:** Checkout confirmation with expiry time`,
1143
- checkin_file: `# checkin_file
1144
- Release a file lock after editing.
1145
-
1146
- **Parameters:**
1147
- - project_id (required): Project UUID
1148
- - file_path (required): Path to the file to release
1149
-
1143
+ checkin_file: `# checkin_file
1144
+ Release a file lock after editing.
1145
+
1146
+ **Parameters:**
1147
+ - project_id (required): Project UUID
1148
+ - file_path (required): Path to the file to release
1149
+
1150
1150
  **Returns:** Checkin confirmation`,
1151
- get_file_checkouts: `# get_file_checkouts
1152
- List current file locks.
1153
-
1154
- **Parameters:**
1155
- - project_id (required): Project UUID
1156
- - file_path (optional): Filter to specific file
1157
-
1151
+ get_file_checkouts: `# get_file_checkouts
1152
+ List current file locks.
1153
+
1154
+ **Parameters:**
1155
+ - project_id (required): Project UUID
1156
+ - file_path (optional): Filter to specific file
1157
+
1158
1158
  **Returns:** List of active file checkouts`,
1159
- get_file_checkouts_stats: `# get_file_checkouts_stats
1160
- Get file checkout statistics.
1161
-
1162
- **Parameters:**
1163
- - project_id (required): Project UUID
1164
-
1159
+ get_file_checkouts_stats: `# get_file_checkouts_stats
1160
+ Get file checkout statistics.
1161
+
1162
+ **Parameters:**
1163
+ - project_id (required): Project UUID
1164
+
1165
1165
  **Returns:** Active checkout count, breakdown by agent`,
1166
- abandon_checkout: `# abandon_checkout
1167
- Force-release a file lock (use with caution).
1168
-
1169
- **Parameters:**
1170
- - project_id (required): Project UUID
1171
- - file_path (required): Path to the file to release
1172
-
1166
+ abandon_checkout: `# abandon_checkout
1167
+ Force-release a file lock (use with caution).
1168
+
1169
+ **Parameters:**
1170
+ - project_id (required): Project UUID
1171
+ - file_path (required): Path to the file to release
1172
+
1173
1173
  **Note:** Only use when the original agent is unreachable`,
1174
- is_file_available: `# is_file_available
1175
- Check if a file is available for checkout.
1176
-
1177
- **Parameters:**
1178
- - project_id (required): Project UUID
1179
- - file_path (required): Path to check
1180
-
1174
+ is_file_available: `# is_file_available
1175
+ Check if a file is available for checkout.
1176
+
1177
+ **Parameters:**
1178
+ - project_id (required): Project UUID
1179
+ - file_path (required): Path to check
1180
+
1181
1181
  **Returns:** Availability status, current holder if locked`,
1182
1182
  // Connector tools
1183
- get_connectors: `# get_connectors
1184
- List project connectors (integrations).
1185
-
1186
- **Parameters:**
1187
- - project_id (required): Project UUID
1188
-
1183
+ get_connectors: `# get_connectors
1184
+ List project connectors (integrations).
1185
+
1186
+ **Parameters:**
1187
+ - project_id (required): Project UUID
1188
+
1189
1189
  **Returns:** Array of configured connectors`,
1190
- get_connector: `# get_connector
1191
- Get connector details.
1192
-
1193
- **Parameters:**
1194
- - connector_id (required): Connector UUID
1195
-
1190
+ get_connector: `# get_connector
1191
+ Get connector details.
1192
+
1193
+ **Parameters:**
1194
+ - connector_id (required): Connector UUID
1195
+
1196
1196
  **Returns:** Connector configuration and status`,
1197
- add_connector: `# add_connector
1198
- Create a new external integration connector.
1199
-
1200
- **Parameters:**
1201
- - project_id (required): Project UUID
1202
- - type (required): Connector type (webhook, slack, discord, etc.)
1203
- - name (required): Display name
1204
- - config (required): Type-specific configuration
1205
-
1197
+ add_connector: `# add_connector
1198
+ Create a new external integration connector.
1199
+
1200
+ **Parameters:**
1201
+ - project_id (required): Project UUID
1202
+ - type (required): Connector type (webhook, slack, discord, etc.)
1203
+ - name (required): Display name
1204
+ - config (required): Type-specific configuration
1205
+
1206
1206
  **Returns:** Created connector details`,
1207
- update_connector: `# update_connector
1208
- Update connector configuration.
1209
-
1210
- **Parameters:**
1211
- - connector_id (required): Connector UUID
1212
- - name (optional): New display name
1213
- - config (optional): Updated configuration
1214
- - enabled (optional): Enable/disable connector
1215
-
1207
+ update_connector: `# update_connector
1208
+ Update connector configuration.
1209
+
1210
+ **Parameters:**
1211
+ - connector_id (required): Connector UUID
1212
+ - name (optional): New display name
1213
+ - config (optional): Updated configuration
1214
+ - enabled (optional): Enable/disable connector
1215
+
1216
1216
  **Returns:** Updated connector details`,
1217
- delete_connector: `# delete_connector
1218
- Remove a connector.
1219
-
1220
- **Parameters:**
1221
- - connector_id (required): Connector UUID
1222
-
1217
+ delete_connector: `# delete_connector
1218
+ Remove a connector.
1219
+
1220
+ **Parameters:**
1221
+ - connector_id (required): Connector UUID
1222
+
1223
1223
  **Returns:** Deletion confirmation`,
1224
- test_connector: `# test_connector
1225
- Send a test event to verify connector configuration.
1226
-
1227
- **Parameters:**
1228
- - connector_id (required): Connector UUID
1229
-
1224
+ test_connector: `# test_connector
1225
+ Send a test event to verify connector configuration.
1226
+
1227
+ **Parameters:**
1228
+ - connector_id (required): Connector UUID
1229
+
1230
1230
  **Returns:** Test result with success/failure details`,
1231
- get_connector_events: `# get_connector_events
1232
- Get event history for a connector.
1233
-
1234
- **Parameters:**
1235
- - connector_id (required): Connector UUID
1236
- - limit (optional): Max events to return (default: 50)
1237
-
1231
+ get_connector_events: `# get_connector_events
1232
+ Get event history for a connector.
1233
+
1234
+ **Parameters:**
1235
+ - connector_id (required): Connector UUID
1236
+ - limit (optional): Max events to return (default: 50)
1237
+
1238
1238
  **Returns:** Array of sent events with status`,
1239
1239
  // Cloud agent tools
1240
- update_agent_status: `# update_agent_status
1241
- Update your status message on the dashboard. Call this after start_work_session and whenever you start a new task.
1242
-
1243
- **Parameters:**
1244
- - status_message (required): Status text shown on dashboard (e.g. "Working on: Task title")
1245
- - agent_name (required): Your agent name
1246
- - project_id (required): Project UUID
1247
-
1240
+ update_agent_status: `# update_agent_status
1241
+ Update your status message on the dashboard. Call this after start_work_session and whenever you start a new task.
1242
+
1243
+ **Parameters:**
1244
+ - status_message (required): Status text shown on dashboard (e.g. "Working on: Task title")
1245
+ - agent_name (required): Your agent name
1246
+ - project_id (required): Project UUID
1247
+
1248
1248
  **Example:** update_agent_status(status_message: "Working on: Progress Report Modal", agent_name: "Leon", project_id: "...")`,
1249
- cleanup_stale_cloud_agents: `# cleanup_stale_cloud_agents
1250
- Clean up stale cloud agents that failed to start or lost connection.
1251
-
1252
- **Parameters:**
1253
- - project_id (required): Project UUID
1254
- - stale_minutes (optional): Minutes of inactivity before considered stale (default: 5)
1255
- - include_running (optional): Include running agents in cleanup (default: false)
1256
- - dry_run (optional): Preview what would be cleaned without actually cleaning (default: false)
1257
-
1258
- **Returns:**
1259
- - cleaned: Number of agents cleaned up
1260
- - failed: Number of cleanup failures
1261
- - agents: Array of affected agents with status
1262
-
1249
+ cleanup_stale_cloud_agents: `# cleanup_stale_cloud_agents
1250
+ Clean up stale cloud agents that failed to start or lost connection.
1251
+
1252
+ **Parameters:**
1253
+ - project_id (required): Project UUID
1254
+ - stale_minutes (optional): Minutes of inactivity before considered stale (default: 5)
1255
+ - include_running (optional): Include running agents in cleanup (default: false)
1256
+ - dry_run (optional): Preview what would be cleaned without actually cleaning (default: false)
1257
+
1258
+ **Returns:**
1259
+ - cleaned: Number of agents cleaned up
1260
+ - failed: Number of cleanup failures
1261
+ - agents: Array of affected agents with status
1262
+
1263
1263
  **Example:** cleanup_stale_cloud_agents(project_id, stale_minutes: 10, dry_run: true)`,
1264
- list_cloud_agents: `# list_cloud_agents
1265
- List cloud agents for a project with optional status filter.
1266
-
1267
- **Parameters:**
1268
- - project_id (required): Project UUID
1269
- - status (optional): Filter by status - starting, running, stopped, failed, or all (default: all)
1270
-
1271
- **Returns:**
1272
- - agents: Array of agents with id, name, status, created_at, last_heartbeat, public_ip, ecs_task_id
1273
- - count: Total number of agents returned
1274
-
1264
+ list_cloud_agents: `# list_cloud_agents
1265
+ List cloud agents for a project with optional status filter.
1266
+
1267
+ **Parameters:**
1268
+ - project_id (required): Project UUID
1269
+ - status (optional): Filter by status - starting, running, stopped, failed, or all (default: all)
1270
+
1271
+ **Returns:**
1272
+ - agents: Array of agents with id, name, status, created_at, last_heartbeat, public_ip, ecs_task_id
1273
+ - count: Total number of agents returned
1274
+
1275
1275
  **Example:** list_cloud_agents(project_id, status: "running")`,
1276
1276
  // Chat tools
1277
- send_project_message: `# send_project_message
1278
- Send a message to the project chat channel for agent and user communication.
1279
-
1280
- **Parameters:**
1281
- - project_id (required): Project UUID
1282
- - message (required): Message content to send
1283
- - author_name (optional): Name of the message sender (defaults to session persona)
1284
-
1285
- **Returns:**
1286
- - message_id: UUID of the sent message
1287
- - timestamp: When the message was sent
1288
-
1277
+ send_project_message: `# send_project_message
1278
+ Send a message to the project chat channel for agent and user communication.
1279
+
1280
+ **Parameters:**
1281
+ - project_id (required): Project UUID
1282
+ - message (required): Message content to send
1283
+ - author_name (optional): Name of the message sender (defaults to session persona)
1284
+
1285
+ **Returns:**
1286
+ - message_id: UUID of the sent message
1287
+ - timestamp: When the message was sent
1288
+
1289
1289
  **Example:** send_project_message(project_id: "123e4567-e89b-12d3-a456-426614174000", message: "Deployment completed successfully")`,
1290
- get_project_messages: `# get_project_messages
1291
- Read recent project chat messages to stay informed about project communication.
1292
-
1293
- **Parameters:**
1294
- - project_id (required): Project UUID
1295
- - limit (optional): Number of recent messages to retrieve (default: 20, max: 100)
1296
- - since (optional): ISO timestamp to get messages after this time
1297
-
1298
- **Returns:**
1299
- - messages: Array of messages with id, author_name, message, timestamp
1300
- - count: Number of messages returned
1301
-
1290
+ get_project_messages: `# get_project_messages
1291
+ Read recent project chat messages to stay informed about project communication.
1292
+
1293
+ **Parameters:**
1294
+ - project_id (required): Project UUID
1295
+ - limit (optional): Number of recent messages to retrieve (default: 20, max: 100)
1296
+ - since (optional): ISO timestamp to get messages after this time
1297
+
1298
+ **Returns:**
1299
+ - messages: Array of messages with id, author_name, message, timestamp
1300
+ - count: Number of messages returned
1301
+
1302
1302
  **Example:** get_project_messages(project_id: "123e4567-e89b-12d3-a456-426614174000", limit: 10)`,
1303
1303
  // Version management tools
1304
- check_mcp_version: `# check_mcp_version
1305
- Check for available MCP server updates and version information.
1306
-
1307
- **Parameters:**
1308
- - check_remote (optional): Whether to check remote registry for updates (default: true)
1309
-
1310
- **Returns:**
1311
- - current_version: Currently running MCP server version
1312
- - latest_version: Latest available version (if check_remote is true)
1313
- - update_available: Boolean indicating if an update is available
1314
- - release_notes: Summary of changes in latest version (if available)
1315
-
1304
+ check_mcp_version: `# check_mcp_version
1305
+ Check for available MCP server updates and version information.
1306
+
1307
+ **Parameters:**
1308
+ - check_remote (optional): Whether to check remote registry for updates (default: true)
1309
+
1310
+ **Returns:**
1311
+ - current_version: Currently running MCP server version
1312
+ - latest_version: Latest available version (if check_remote is true)
1313
+ - update_available: Boolean indicating if an update is available
1314
+ - release_notes: Summary of changes in latest version (if available)
1315
+
1316
1316
  **Example:** check_mcp_version(check_remote: true)`,
1317
- update_mcp_server: `# update_mcp_server
1318
- Self-update the MCP server to the latest available version.
1319
-
1320
- **Parameters:**
1321
- - version (optional): Specific version to update to (defaults to latest)
1322
- - restart_after_update (optional): Whether to restart after update (default: true)
1323
- - backup_config (optional): Whether to backup current config (default: true)
1324
-
1325
- **Returns:**
1326
- - success: Boolean indicating if update succeeded
1327
- - old_version: Previous version before update
1328
- - new_version: Version after update
1329
- - restart_required: Whether manual restart is needed
1330
-
1331
- **Example:** update_mcp_server()
1332
-
1317
+ update_mcp_server: `# update_mcp_server
1318
+ Self-update the MCP server to the latest available version.
1319
+
1320
+ **Parameters:**
1321
+ - version (optional): Specific version to update to (defaults to latest)
1322
+ - restart_after_update (optional): Whether to restart after update (default: true)
1323
+ - backup_config (optional): Whether to backup current config (default: true)
1324
+
1325
+ **Returns:**
1326
+ - success: Boolean indicating if update succeeded
1327
+ - old_version: Previous version before update
1328
+ - new_version: Version after update
1329
+ - restart_required: Whether manual restart is needed
1330
+
1331
+ **Example:** update_mcp_server()
1332
+
1333
1333
  **Note:** This operation may temporarily disconnect active sessions during restart.`,
1334
+ add_feature: `# add_feature
1335
+ Create a draft feature spec. Features sit between ideas (quick thoughts) and tasks (actionable work).
1336
+
1337
+ **Parameters:**
1338
+ - project_id (required): Project UUID
1339
+ - title (required): Feature title (max 200 chars)
1340
+ - body (optional): Markdown spec content — requirements, user stories, acceptance criteria, technical approach
1341
+ - priority (optional): Priority 1-5 (1 = highest, default: 2)
1342
+
1343
+ **Returns:** Created feature object with id, status ('draft'), and timestamps.
1344
+
1345
+ **Example:** add_feature(project_id, title: "Dark mode support", body: "## Goal\\nAdd dark mode toggle...")`,
1346
+ update_feature: `# update_feature
1347
+ Update feature details, status, or priority.
1348
+
1349
+ **Parameters:**
1350
+ - feature_id (required): Feature UUID
1351
+ - title (optional): Updated title
1352
+ - body (optional): Updated markdown spec content
1353
+ - status (optional): New status — draft → refining → specced → ready → building → shipped
1354
+ - priority (optional): Priority 1-5 (1 = highest)
1355
+
1356
+ **Returns:** Updated feature object.
1357
+
1358
+ **Example:** update_feature(feature_id, status: "specced")`,
1359
+ get_feature: `# get_feature
1360
+ Get a single feature by ID.
1361
+
1362
+ **Parameters:**
1363
+ - feature_id (required): Feature UUID
1364
+
1365
+ **Returns:** Full feature object including title, body, status, priority, and timestamps.
1366
+
1367
+ **Example:** get_feature(feature_id: "abc-123")`,
1368
+ get_features: `# get_features
1369
+ List features for a project, optionally filtered by status.
1370
+
1371
+ **Parameters:**
1372
+ - project_id (required): Project UUID
1373
+ - status (optional): Filter by status — draft, refining, specced, ready, building, shipped
1374
+ - limit (optional): Max results (default: 50, max: 500)
1375
+ - offset (optional): Pagination offset (default: 0)
1376
+ - search_query (optional): Search by title or body content
1377
+
1378
+ **Returns:** Array of feature objects with pagination metadata.
1379
+
1380
+ **Example:** get_features(project_id, status: "specced")`,
1381
+ delete_feature: `# delete_feature
1382
+ Delete a feature permanently.
1383
+
1384
+ **Parameters:**
1385
+ - feature_id (required): Feature UUID
1386
+
1387
+ **Returns:** Confirmation of deletion.
1388
+
1389
+ **Example:** delete_feature(feature_id: "abc-123")`,
1390
+ link_idea_to_feature: `# link_idea_to_feature
1391
+ Link an existing idea to a feature spec, creating a traceable connection.
1392
+
1393
+ **Parameters:**
1394
+ - feature_id (required): Feature UUID
1395
+ - idea_id (required): Idea UUID to link
1396
+
1397
+ **Returns:** Confirmation of the link creation.
1398
+
1399
+ **Example:** link_idea_to_feature(feature_id: "abc-123", idea_id: "def-456")`,
1334
1400
  };