@vibescope/mcp-server 0.4.5 → 0.4.7

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 (176) 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 +4 -1
  5. package/dist/api-client.js +24 -7
  6. package/dist/cli-init.js +25 -24
  7. package/dist/cli.js +26 -26
  8. package/dist/handlers/chat.d.ts +2 -0
  9. package/dist/handlers/chat.js +25 -0
  10. package/dist/handlers/discovery.js +12 -0
  11. package/dist/handlers/project.js +4 -2
  12. package/dist/handlers/tool-docs.js +1203 -1137
  13. package/dist/handlers/version.js +1 -1
  14. package/dist/index.js +159 -87
  15. package/dist/setup.js +13 -7
  16. package/dist/templates/agent-guidelines.d.ts +1 -1
  17. package/dist/templates/agent-guidelines.js +205 -187
  18. package/dist/templates/help-content.js +1621 -1621
  19. package/dist/tools/bodies-of-work.js +6 -6
  20. package/dist/tools/chat.d.ts +1 -0
  21. package/dist/tools/chat.js +24 -0
  22. package/dist/tools/cloud-agents.js +22 -22
  23. package/dist/tools/features.d.ts +13 -0
  24. package/dist/tools/features.js +151 -0
  25. package/dist/tools/index.d.ts +3 -1
  26. package/dist/tools/index.js +4 -1
  27. package/dist/tools/milestones.js +2 -2
  28. package/dist/tools/project.js +4 -0
  29. package/dist/tools/requests.js +1 -1
  30. package/dist/tools/session.js +11 -11
  31. package/dist/tools/sprints.js +9 -9
  32. package/dist/tools/tasks.js +35 -35
  33. package/dist/tools/worktrees.js +14 -14
  34. package/dist/tools.d.ts +2 -0
  35. package/dist/tools.js +3602 -0
  36. package/dist/utils.js +11 -11
  37. package/dist/version.d.ts +9 -3
  38. package/dist/version.js +56 -8
  39. package/docs/TOOLS.md +2663 -2559
  40. package/package.json +53 -53
  41. package/scripts/generate-docs.ts +212 -212
  42. package/scripts/version-bump.ts +203 -203
  43. package/src/api-client/blockers.ts +86 -86
  44. package/src/api-client/bodies-of-work.ts +194 -194
  45. package/src/api-client/chat.ts +50 -50
  46. package/src/api-client/connectors.ts +152 -152
  47. package/src/api-client/cost.ts +185 -185
  48. package/src/api-client/decisions.ts +87 -87
  49. package/src/api-client/deployment.ts +313 -313
  50. package/src/api-client/discovery.ts +81 -81
  51. package/src/api-client/fallback.ts +52 -52
  52. package/src/api-client/file-checkouts.ts +115 -115
  53. package/src/api-client/findings.ts +100 -100
  54. package/src/api-client/git-issues.ts +88 -88
  55. package/src/api-client/ideas.ts +112 -112
  56. package/src/api-client/index.ts +592 -592
  57. package/src/api-client/milestones.ts +83 -83
  58. package/src/api-client/organizations.ts +185 -185
  59. package/src/api-client/progress.ts +94 -94
  60. package/src/api-client/project.ts +180 -179
  61. package/src/api-client/requests.ts +54 -54
  62. package/src/api-client/session.ts +220 -220
  63. package/src/api-client/sprints.ts +227 -227
  64. package/src/api-client/subtasks.ts +57 -57
  65. package/src/api-client/tasks.ts +450 -450
  66. package/src/api-client/types.ts +32 -32
  67. package/src/api-client/validation.ts +60 -60
  68. package/src/api-client/worktrees.ts +53 -53
  69. package/src/api-client.test.ts +847 -847
  70. package/src/api-client.ts +2723 -2706
  71. package/src/cli-init.ts +558 -557
  72. package/src/cli.test.ts +284 -284
  73. package/src/cli.ts +204 -204
  74. package/src/handlers/__test-setup__.ts +240 -240
  75. package/src/handlers/__test-utils__.ts +89 -89
  76. package/src/handlers/blockers.test.ts +468 -468
  77. package/src/handlers/blockers.ts +172 -172
  78. package/src/handlers/bodies-of-work.test.ts +704 -704
  79. package/src/handlers/bodies-of-work.ts +526 -526
  80. package/src/handlers/chat.test.ts +185 -185
  81. package/src/handlers/chat.ts +101 -69
  82. package/src/handlers/cloud-agents.test.ts +438 -438
  83. package/src/handlers/cloud-agents.ts +156 -156
  84. package/src/handlers/connectors.test.ts +834 -834
  85. package/src/handlers/connectors.ts +229 -229
  86. package/src/handlers/cost.test.ts +462 -462
  87. package/src/handlers/cost.ts +285 -285
  88. package/src/handlers/decisions.test.ts +382 -382
  89. package/src/handlers/decisions.ts +153 -153
  90. package/src/handlers/deployment.test.ts +551 -551
  91. package/src/handlers/deployment.ts +570 -570
  92. package/src/handlers/discovery.test.ts +206 -206
  93. package/src/handlers/discovery.ts +427 -415
  94. package/src/handlers/fallback.test.ts +537 -537
  95. package/src/handlers/fallback.ts +194 -194
  96. package/src/handlers/file-checkouts.test.ts +750 -750
  97. package/src/handlers/file-checkouts.ts +185 -185
  98. package/src/handlers/findings.test.ts +633 -633
  99. package/src/handlers/findings.ts +239 -239
  100. package/src/handlers/git-issues.test.ts +631 -631
  101. package/src/handlers/git-issues.ts +136 -136
  102. package/src/handlers/ideas.test.ts +644 -644
  103. package/src/handlers/ideas.ts +207 -207
  104. package/src/handlers/index.ts +93 -93
  105. package/src/handlers/milestones.test.ts +475 -475
  106. package/src/handlers/milestones.ts +180 -180
  107. package/src/handlers/organizations.test.ts +826 -826
  108. package/src/handlers/organizations.ts +315 -315
  109. package/src/handlers/progress.test.ts +269 -269
  110. package/src/handlers/progress.ts +77 -77
  111. package/src/handlers/project.test.ts +546 -546
  112. package/src/handlers/project.ts +242 -239
  113. package/src/handlers/requests.test.ts +303 -303
  114. package/src/handlers/requests.ts +99 -99
  115. package/src/handlers/roles.test.ts +305 -305
  116. package/src/handlers/roles.ts +219 -219
  117. package/src/handlers/session.test.ts +998 -998
  118. package/src/handlers/session.ts +1105 -1105
  119. package/src/handlers/sprints.test.ts +732 -732
  120. package/src/handlers/sprints.ts +537 -537
  121. package/src/handlers/tasks.test.ts +931 -931
  122. package/src/handlers/tasks.ts +1133 -1133
  123. package/src/handlers/tool-categories.test.ts +66 -66
  124. package/src/handlers/tool-docs.test.ts +511 -511
  125. package/src/handlers/tool-docs.ts +1571 -1499
  126. package/src/handlers/types.test.ts +259 -259
  127. package/src/handlers/types.ts +176 -176
  128. package/src/handlers/validation.test.ts +582 -582
  129. package/src/handlers/validation.ts +164 -164
  130. package/src/handlers/version.ts +63 -63
  131. package/src/index.test.ts +674 -674
  132. package/src/index.ts +884 -807
  133. package/src/setup.test.ts +243 -233
  134. package/src/setup.ts +410 -404
  135. package/src/templates/agent-guidelines.ts +233 -215
  136. package/src/templates/help-content.ts +1751 -1751
  137. package/src/token-tracking.test.ts +463 -463
  138. package/src/token-tracking.ts +167 -167
  139. package/src/tools/blockers.ts +122 -122
  140. package/src/tools/bodies-of-work.ts +283 -283
  141. package/src/tools/chat.ts +72 -46
  142. package/src/tools/cloud-agents.ts +101 -101
  143. package/src/tools/connectors.ts +191 -191
  144. package/src/tools/cost.ts +111 -111
  145. package/src/tools/decisions.ts +111 -111
  146. package/src/tools/deployment.ts +455 -455
  147. package/src/tools/discovery.ts +76 -76
  148. package/src/tools/fallback.ts +111 -111
  149. package/src/tools/features.ts +154 -0
  150. package/src/tools/file-checkouts.ts +145 -145
  151. package/src/tools/findings.ts +101 -101
  152. package/src/tools/git-issues.ts +130 -130
  153. package/src/tools/ideas.ts +162 -162
  154. package/src/tools/index.ts +141 -137
  155. package/src/tools/milestones.ts +118 -118
  156. package/src/tools/organizations.ts +224 -224
  157. package/src/tools/progress.ts +73 -73
  158. package/src/tools/project.ts +206 -202
  159. package/src/tools/requests.ts +68 -68
  160. package/src/tools/roles.ts +112 -112
  161. package/src/tools/session.ts +181 -181
  162. package/src/tools/sprints.ts +298 -298
  163. package/src/tools/tasks.ts +550 -550
  164. package/src/tools/tools.test.ts +222 -222
  165. package/src/tools/types.ts +9 -9
  166. package/src/tools/validation.ts +75 -75
  167. package/src/tools/version.ts +34 -34
  168. package/src/tools/worktrees.ts +66 -66
  169. package/src/tools.test.ts +416 -416
  170. package/src/utils.test.ts +1014 -1014
  171. package/src/utils.ts +586 -586
  172. package/src/validators.test.ts +223 -223
  173. package/src/validators.ts +249 -249
  174. package/src/version.ts +162 -109
  175. package/tsconfig.json +16 -16
  176. package/vitest.config.ts +14 -14
package/CHANGELOG.md CHANGED
@@ -1,84 +1,84 @@
1
- # Changelog
2
-
3
- All notable changes to `@vibescope/mcp-server` will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [Unreleased]
9
-
10
- ### Added
11
- - Test writing reminders in developer workflow - `update_task(status: "in_progress")` now includes test guidance
12
- - Test check in validation workflow - `claim_validation` now checks for test file modifications in PR
13
- - PR link display on completed tasks in dashboard
14
- - Smart task selection respecting sprints, bodies of work, phases and dependencies
15
- - `get_project_summary` endpoint for unified project overview
16
- - `get_file_checkouts_stats` endpoint for aggregate file lock statistics
17
- - Pagination support for `get_pending_requests`, `get_deployment_requirements`, `get_decisions`, `get_blockers`
18
- - Offset pagination for `get_git_issues`, `get_file_checkouts`, `get_activity_history`
19
- - Pagination for scheduled deployments, activity schedules, and stale worktrees
20
- - New project settings: `require_pr_for_validation`, `auto_merge_on_approval`, `validation_required`, `default_task_priority`, `require_time_estimates`, `fallback_activities_enabled`, `git_delete_branch_on_merge`
21
- - Stats endpoints for blockers and decisions
22
- - Automatic semantic version bumping script (`scripts/version-bump.ts`)
23
- - Version npm scripts: `version:check`, `version:bump`, `version:patch`, `version:minor`, `version:major`
24
-
25
- ### Changed
26
- - Worktree naming now includes agent persona and short task description for easier identification
27
- - Return `unanswered_questions_count` instead of full array in session responses for token efficiency
28
-
29
- ## [0.2.3] - 2026-01-14
30
-
31
- ### Fixed
32
- - Route complete_task through proxy endpoint for proper authentication
33
- - Surface unanswered questions prominently in start_work_session
34
-
35
- ### Changed
36
- - Improved session context type handling for completeTask
37
-
38
- ## [0.2.2] - 2026-01-13
39
-
40
- ### Added
41
- - Token tracking module with unit tests
42
- - Connector handlers with unit tests
43
- - Custom connectors support for external integrations
44
-
45
- ### Changed
46
- - Refactored duplicate tool definitions from index.ts
47
-
48
- ## [0.2.1] - 2026-01-12
49
-
50
- ### Added
51
- - Unit tests for blockers, decisions, and findings handlers
52
- - Stats endpoints for blockers, decisions, and findings
53
-
54
- ### Fixed
55
- - Security vulnerability in @modelcontextprotocol/sdk (GHSA-8r9q-7v3j-jr4g)
56
-
57
- ## [0.2.0] - 2026-01-11
58
-
59
- ### Added
60
- - Deployment priority feature - active deployments block regular task assignment
61
- - Background activity history and scheduling
62
- - Agent creator tracking for tasks, ideas, blockers, decisions
63
- - Setup CLI package for guided onboarding
64
-
65
- ### Changed
66
- - Updated get_next_task tool description to mention deployment blocking
67
- - Enhanced CLAUDE.md with deployment priority instructions
68
-
69
- ## [0.1.0] - 2026-01-10
70
-
71
- ### Added
72
- - Initial release of MCP server for Vibescope
73
- - Core tools: tasks, projects, sessions, progress tracking
74
- - Background activity support (fallback activities)
75
- - Git workflow integration with worktree support
76
- - Validation workflow for cross-agent task validation
77
- - Deployment coordination tools
78
-
79
- [Unreleased]: https://github.com/Nonatomic/Vibescope/compare/v0.2.3...HEAD
80
- [0.2.3]: https://github.com/Nonatomic/Vibescope/compare/v0.2.2...v0.2.3
81
- [0.2.2]: https://github.com/Nonatomic/Vibescope/compare/v0.2.1...v0.2.2
82
- [0.2.1]: https://github.com/Nonatomic/Vibescope/compare/v0.2.0...v0.2.1
83
- [0.2.0]: https://github.com/Nonatomic/Vibescope/compare/v0.1.0...v0.2.0
84
- [0.1.0]: https://github.com/Nonatomic/Vibescope/releases/tag/v0.1.0
1
+ # Changelog
2
+
3
+ All notable changes to `@vibescope/mcp-server` will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [Unreleased]
9
+
10
+ ### Added
11
+ - Test writing reminders in developer workflow - `update_task(status: "in_progress")` now includes test guidance
12
+ - Test check in validation workflow - `claim_validation` now checks for test file modifications in PR
13
+ - PR link display on completed tasks in dashboard
14
+ - Smart task selection respecting sprints, bodies of work, phases and dependencies
15
+ - `get_project_summary` endpoint for unified project overview
16
+ - `get_file_checkouts_stats` endpoint for aggregate file lock statistics
17
+ - Pagination support for `get_pending_requests`, `get_deployment_requirements`, `get_decisions`, `get_blockers`
18
+ - Offset pagination for `get_git_issues`, `get_file_checkouts`, `get_activity_history`
19
+ - Pagination for scheduled deployments, activity schedules, and stale worktrees
20
+ - New project settings: `require_pr_for_validation`, `auto_merge_on_approval`, `validation_required`, `default_task_priority`, `require_time_estimates`, `fallback_activities_enabled`, `git_delete_branch_on_merge`
21
+ - Stats endpoints for blockers and decisions
22
+ - Automatic semantic version bumping script (`scripts/version-bump.ts`)
23
+ - Version npm scripts: `version:check`, `version:bump`, `version:patch`, `version:minor`, `version:major`
24
+
25
+ ### Changed
26
+ - Worktree naming now includes agent persona and short task description for easier identification
27
+ - Return `unanswered_questions_count` instead of full array in session responses for token efficiency
28
+
29
+ ## [0.2.3] - 2026-01-14
30
+
31
+ ### Fixed
32
+ - Route complete_task through proxy endpoint for proper authentication
33
+ - Surface unanswered questions prominently in start_work_session
34
+
35
+ ### Changed
36
+ - Improved session context type handling for completeTask
37
+
38
+ ## [0.2.2] - 2026-01-13
39
+
40
+ ### Added
41
+ - Token tracking module with unit tests
42
+ - Connector handlers with unit tests
43
+ - Custom connectors support for external integrations
44
+
45
+ ### Changed
46
+ - Refactored duplicate tool definitions from index.ts
47
+
48
+ ## [0.2.1] - 2026-01-12
49
+
50
+ ### Added
51
+ - Unit tests for blockers, decisions, and findings handlers
52
+ - Stats endpoints for blockers, decisions, and findings
53
+
54
+ ### Fixed
55
+ - Security vulnerability in @modelcontextprotocol/sdk (GHSA-8r9q-7v3j-jr4g)
56
+
57
+ ## [0.2.0] - 2026-01-11
58
+
59
+ ### Added
60
+ - Deployment priority feature - active deployments block regular task assignment
61
+ - Background activity history and scheduling
62
+ - Agent creator tracking for tasks, ideas, blockers, decisions
63
+ - Setup CLI package for guided onboarding
64
+
65
+ ### Changed
66
+ - Updated get_next_task tool description to mention deployment blocking
67
+ - Enhanced CLAUDE.md with deployment priority instructions
68
+
69
+ ## [0.1.0] - 2026-01-10
70
+
71
+ ### Added
72
+ - Initial release of MCP server for Vibescope
73
+ - Core tools: tasks, projects, sessions, progress tracking
74
+ - Background activity support (fallback activities)
75
+ - Git workflow integration with worktree support
76
+ - Validation workflow for cross-agent task validation
77
+ - Deployment coordination tools
78
+
79
+ [Unreleased]: https://github.com/Nonatomic/Vibescope/compare/v0.2.3...HEAD
80
+ [0.2.3]: https://github.com/Nonatomic/Vibescope/compare/v0.2.2...v0.2.3
81
+ [0.2.2]: https://github.com/Nonatomic/Vibescope/compare/v0.2.1...v0.2.2
82
+ [0.2.1]: https://github.com/Nonatomic/Vibescope/compare/v0.2.0...v0.2.1
83
+ [0.2.0]: https://github.com/Nonatomic/Vibescope/compare/v0.1.0...v0.2.0
84
+ [0.1.0]: https://github.com/Nonatomic/Vibescope/releases/tag/v0.1.0
package/README.md CHANGED
@@ -1,194 +1,194 @@
1
- # @vibescope/mcp-server
2
-
3
- MCP server for Vibescope - enables AI agents to track project progress, tasks, blockers, and decisions.
4
-
5
- ## Installation
6
-
7
- ### Option 1: npx (Recommended - No Installation)
8
-
9
- Use directly in your MCP config without installing:
10
-
11
- ```json
12
- {
13
- "mcpServers": {
14
- "vibescope": {
15
- "command": "npx",
16
- "args": ["-y", "-p", "@vibescope/mcp-server@latest", "vibescope-mcp"],
17
- "env": {
18
- "VIBESCOPE_API_KEY": "your-api-key"
19
- }
20
- }
21
- }
22
- }
23
- ```
24
-
25
- ### Option 2: Global Install
26
-
27
- ```bash
28
- npm install -g @vibescope/mcp-server@latest
29
- ```
30
-
31
- Then configure:
32
-
33
- ```json
34
- {
35
- "mcpServers": {
36
- "vibescope": {
37
- "command": "vibescope-mcp",
38
- "env": {
39
- "VIBESCOPE_API_KEY": "your-api-key"
40
- }
41
- }
42
- }
43
- }
44
- ```
45
-
46
- ## Quick Start
47
-
48
- ### Interactive Setup (Recommended)
49
-
50
- Run the setup wizard to automatically configure Vibescope for your IDE:
51
-
52
- ```bash
53
- npx -p @vibescope/mcp-server vibescope-cli setup
54
- ```
55
-
56
- This guides you through:
57
- 1. Selecting your IDE (Claude Code, Claude Desktop, Cursor, or Gemini CLI)
58
- 2. Getting your API key from the Vibescope dashboard
59
- 3. Writing the configuration file
60
-
61
- ### Claude Code (Manual)
62
-
63
- ```bash
64
- claude mcp add vibescope npx @vibescope/mcp-server@latest \
65
- --env VIBESCOPE_API_KEY=your_key
66
- ```
67
-
68
- ### Gemini CLI (Manual)
69
-
70
- Add to your `~/.gemini/settings.json` or project-level `.gemini/settings.json`:
71
-
72
- ```json
73
- {
74
- "mcpServers": {
75
- "vibescope": {
76
- "command": "npx",
77
- "args": ["-y", "-p", "@vibescope/mcp-server@latest", "vibescope-mcp"],
78
- "env": {
79
- "VIBESCOPE_API_KEY": "$VIBESCOPE_API_KEY"
80
- },
81
- "timeout": 30000,
82
- "trust": true
83
- }
84
- }
85
- }
86
- ```
87
-
88
- Then set your API key as an environment variable:
89
- ```bash
90
- export VIBESCOPE_API_KEY=your_key_here
91
- ```
92
-
93
- ## How to Call MCP Tools (Important for AI Agents)
94
-
95
- MCP tools are invoked **from within your AI conversation**, not via command line.
96
-
97
- **WRONG - CLI does not have a 'call' command:**
98
- ```bash
99
- # This does NOT work
100
- claude mcp call vibescope start_work_session '{"git_url": "..."}'
101
- ```
102
-
103
- **RIGHT - Call tools within your conversation response:**
104
- ```
105
- # Invoke as a tool call, same as Read, Edit, or Bash
106
- mcp__vibescope__start_work_session(git_url: "...", model: "opus")
107
- ```
108
-
109
- The CLI commands (`claude mcp`, `gemini mcp`) are only for **server configuration** (`add`, `remove`, `list`), not for calling tools. All tool invocations happen within the AI conversation context.
110
-
111
- ## Getting an API Key
112
-
113
- 1. Sign up at [vibescope.dev](https://vibescope.dev)
114
- 2. Go to Settings
115
- 3. Generate an API key
116
-
117
- ## Available Tools
118
-
119
- The MCP server provides **140+ tools** for AI agents. Here are the key tools by category:
120
-
121
- ### Session
122
- | Tool | Description |
123
- |------|-------------|
124
- | `start_work_session` | Initialize session, get persona, role, and next task |
125
- | `end_work_session` | End session and release claimed tasks |
126
- | `heartbeat` | Keep session active (call every 30-60s) |
127
- | `get_help` | Get guidance on workflows |
128
- | `discover_tools` | List tools by category |
129
- | `get_tool_info` | Get detailed tool documentation |
130
-
131
- ### Projects
132
- | Tool | Description |
133
- |------|-------------|
134
- | `create_project` | Create a new project |
135
- | `update_project` | Update project details and git workflow |
136
- | `get_project_context` | Get full project context |
137
- | `get_git_workflow` | Get git branching instructions |
138
- | `query_knowledge_base` | Query aggregated project knowledge |
139
-
140
- ### Tasks
141
- | Tool | Description |
142
- |------|-------------|
143
- | `get_tasks` | List tasks, optionally filtered by status |
144
- | `get_next_task` | Get highest priority pending task |
145
- | `add_task` | Create a new task |
146
- | `update_task` | Update task status, progress, or details |
147
- | `complete_task` | Mark a task as completed |
148
- | `add_subtask` | Break down tasks into subtasks |
149
- | `add_task_reference` | Add reference URL (docs, PRs) |
150
- | `batch_update_tasks` | Update multiple tasks at once |
151
-
152
- ### Progress & Context
153
- | Tool | Description |
154
- |------|-------------|
155
- | `log_progress` | Log a progress update |
156
- | `add_blocker` | Flag a blocker needing human input |
157
- | `resolve_blocker` | Mark a blocker as resolved |
158
- | `log_decision` | Record an architectural decision |
159
- | `add_idea` | Record an improvement idea |
160
- | `add_finding` | Record an audit finding |
161
-
162
- ### Validation & Deployment
163
- | Tool | Description |
164
- |------|-------------|
165
- | `get_tasks_awaiting_validation` | Get tasks needing review |
166
- | `claim_validation` | Claim a task for review |
167
- | `validate_task` | Approve or reject work |
168
- | `request_deployment` | Request a deployment |
169
- | `check_deployment_status` | Check deployment state |
170
- | `complete_deployment` | Mark deployment done |
171
-
172
- ### Collaboration
173
- | Tool | Description |
174
- |------|-------------|
175
- | `add_milestone` | Track progress on complex tasks |
176
- | `create_body_of_work` | Group tasks into phases |
177
- | `create_sprint` | Create time-bounded sprints |
178
- | `checkout_file` | Prevent file conflicts |
179
- | `get_pending_requests` | Get human requests |
180
- | `answer_question` | Answer user questions |
181
-
182
- ### Additional Categories
183
- - **Organizations**: Create, manage, and share projects with teams
184
- - **Cost Tracking**: Monitor spending with alerts and summaries
185
- - **Git Issues**: Track merge conflicts and push failures
186
- - **Role Management**: Configure agent roles (developer, validator, deployer)
187
- - **Scheduled Deployments**: Schedule recurring deployments
188
-
189
- Use `discover_tools` to explore all categories and `get_tool_info` for detailed documentation
190
-
191
- ## Rate Limits
192
-
193
- - 60 requests per minute per API key
194
- - Warning shown when quota drops below 10 requests
1
+ # @vibescope/mcp-server
2
+
3
+ MCP server for Vibescope - enables AI agents to track project progress, tasks, blockers, and decisions.
4
+
5
+ ## Installation
6
+
7
+ ### Option 1: npx (Recommended - No Installation)
8
+
9
+ Use directly in your MCP config without installing:
10
+
11
+ ```json
12
+ {
13
+ "mcpServers": {
14
+ "vibescope": {
15
+ "command": "npx",
16
+ "args": ["-y", "-p", "@vibescope/mcp-server@latest", "vibescope-mcp"],
17
+ "env": {
18
+ "VIBESCOPE_API_KEY": "your-api-key"
19
+ }
20
+ }
21
+ }
22
+ }
23
+ ```
24
+
25
+ ### Option 2: Global Install
26
+
27
+ ```bash
28
+ npm install -g @vibescope/mcp-server@latest
29
+ ```
30
+
31
+ Then configure:
32
+
33
+ ```json
34
+ {
35
+ "mcpServers": {
36
+ "vibescope": {
37
+ "command": "vibescope-mcp",
38
+ "env": {
39
+ "VIBESCOPE_API_KEY": "your-api-key"
40
+ }
41
+ }
42
+ }
43
+ }
44
+ ```
45
+
46
+ ## Quick Start
47
+
48
+ ### Interactive Setup (Recommended)
49
+
50
+ Run the setup wizard to automatically configure Vibescope for your IDE:
51
+
52
+ ```bash
53
+ npx -p @vibescope/mcp-server vibescope-cli setup
54
+ ```
55
+
56
+ This guides you through:
57
+ 1. Selecting your IDE (Claude Code, Claude Desktop, Cursor, or Gemini CLI)
58
+ 2. Getting your API key from the Vibescope dashboard
59
+ 3. Writing the configuration file
60
+
61
+ ### Claude Code (Manual)
62
+
63
+ ```bash
64
+ claude mcp add vibescope npx @vibescope/mcp-server@latest \
65
+ --env VIBESCOPE_API_KEY=your_key
66
+ ```
67
+
68
+ ### Gemini CLI (Manual)
69
+
70
+ Add to your `~/.gemini/settings.json` or project-level `.gemini/settings.json`:
71
+
72
+ ```json
73
+ {
74
+ "mcpServers": {
75
+ "vibescope": {
76
+ "command": "npx",
77
+ "args": ["-y", "-p", "@vibescope/mcp-server@latest", "vibescope-mcp"],
78
+ "env": {
79
+ "VIBESCOPE_API_KEY": "$VIBESCOPE_API_KEY"
80
+ },
81
+ "timeout": 30000,
82
+ "trust": true
83
+ }
84
+ }
85
+ }
86
+ ```
87
+
88
+ Then set your API key as an environment variable:
89
+ ```bash
90
+ export VIBESCOPE_API_KEY=your_key_here
91
+ ```
92
+
93
+ ## How to Call MCP Tools (Important for AI Agents)
94
+
95
+ MCP tools are invoked **from within your AI conversation**, not via command line.
96
+
97
+ **WRONG - CLI does not have a 'call' command:**
98
+ ```bash
99
+ # This does NOT work
100
+ claude mcp call vibescope start_work_session '{"git_url": "..."}'
101
+ ```
102
+
103
+ **RIGHT - Call tools within your conversation response:**
104
+ ```
105
+ # Invoke as a tool call, same as Read, Edit, or Bash
106
+ mcp__vibescope__start_work_session(git_url: "...", model: "opus")
107
+ ```
108
+
109
+ The CLI commands (`claude mcp`, `gemini mcp`) are only for **server configuration** (`add`, `remove`, `list`), not for calling tools. All tool invocations happen within the AI conversation context.
110
+
111
+ ## Getting an API Key
112
+
113
+ 1. Sign up at [vibescope.dev](https://vibescope.dev)
114
+ 2. Go to Settings
115
+ 3. Generate an API key
116
+
117
+ ## Available Tools
118
+
119
+ The MCP server provides **140+ tools** for AI agents. Here are the key tools by category:
120
+
121
+ ### Session
122
+ | Tool | Description |
123
+ |------|-------------|
124
+ | `start_work_session` | Initialize session, get persona, role, and next task |
125
+ | `end_work_session` | End session and release claimed tasks |
126
+ | `heartbeat` | Keep session active (call every 30-60s) |
127
+ | `get_help` | Get guidance on workflows |
128
+ | `discover_tools` | List tools by category |
129
+ | `get_tool_info` | Get detailed tool documentation |
130
+
131
+ ### Projects
132
+ | Tool | Description |
133
+ |------|-------------|
134
+ | `create_project` | Create a new project |
135
+ | `update_project` | Update project details and git workflow |
136
+ | `get_project_context` | Get full project context |
137
+ | `get_git_workflow` | Get git branching instructions |
138
+ | `query_knowledge_base` | Query aggregated project knowledge |
139
+
140
+ ### Tasks
141
+ | Tool | Description |
142
+ |------|-------------|
143
+ | `get_tasks` | List tasks, optionally filtered by status |
144
+ | `get_next_task` | Get highest priority pending task |
145
+ | `add_task` | Create a new task |
146
+ | `update_task` | Update task status, progress, or details |
147
+ | `complete_task` | Mark a task as completed |
148
+ | `add_subtask` | Break down tasks into subtasks |
149
+ | `add_task_reference` | Add reference URL (docs, PRs) |
150
+ | `batch_update_tasks` | Update multiple tasks at once |
151
+
152
+ ### Progress & Context
153
+ | Tool | Description |
154
+ |------|-------------|
155
+ | `log_progress` | Log a progress update |
156
+ | `add_blocker` | Flag a blocker needing human input |
157
+ | `resolve_blocker` | Mark a blocker as resolved |
158
+ | `log_decision` | Record an architectural decision |
159
+ | `add_idea` | Record an improvement idea |
160
+ | `add_finding` | Record an audit finding |
161
+
162
+ ### Validation & Deployment
163
+ | Tool | Description |
164
+ |------|-------------|
165
+ | `get_tasks_awaiting_validation` | Get tasks needing review |
166
+ | `claim_validation` | Claim a task for review |
167
+ | `validate_task` | Approve or reject work |
168
+ | `request_deployment` | Request a deployment |
169
+ | `check_deployment_status` | Check deployment state |
170
+ | `complete_deployment` | Mark deployment done |
171
+
172
+ ### Collaboration
173
+ | Tool | Description |
174
+ |------|-------------|
175
+ | `add_milestone` | Track progress on complex tasks |
176
+ | `create_body_of_work` | Group tasks into phases |
177
+ | `create_sprint` | Create time-bounded sprints |
178
+ | `checkout_file` | Prevent file conflicts |
179
+ | `get_pending_requests` | Get human requests |
180
+ | `answer_question` | Answer user questions |
181
+
182
+ ### Additional Categories
183
+ - **Organizations**: Create, manage, and share projects with teams
184
+ - **Cost Tracking**: Monitor spending with alerts and summaries
185
+ - **Git Issues**: Track merge conflicts and push failures
186
+ - **Role Management**: Configure agent roles (developer, validator, deployer)
187
+ - **Scheduled Deployments**: Schedule recurring deployments
188
+
189
+ Use `discover_tools` to explore all categories and `get_tool_info` for detailed documentation
190
+
191
+ ## Rate Limits
192
+
193
+ - 60 requests per minute per API key
194
+ - Warning shown when quota drops below 10 requests
@@ -96,6 +96,7 @@ export interface ProjectMethods {
96
96
  require_time_estimates?: boolean;
97
97
  fallback_activities_enabled?: boolean;
98
98
  preferred_fallback_activities?: string[];
99
+ allow_agent_task_creation?: boolean;
99
100
  }): Promise<ApiResponse<{
100
101
  success: boolean;
101
102
  project_id: string;
@@ -27,7 +27,9 @@ export declare class VibescopeApiClient {
27
27
  private retryConfig;
28
28
  constructor(config: ApiClientConfig);
29
29
  private request;
30
- validateAuth(): Promise<ApiResponse<{
30
+ validateAuth(options?: {
31
+ timeoutMs?: number;
32
+ }): Promise<ApiResponse<{
31
33
  valid: boolean;
32
34
  user_id: string;
33
35
  api_key_id: string;
@@ -245,6 +247,7 @@ export declare class VibescopeApiClient {
245
247
  require_time_estimates?: boolean;
246
248
  fallback_activities_enabled?: boolean;
247
249
  preferred_fallback_activities?: string[];
250
+ allow_agent_task_creation?: boolean;
248
251
  }): Promise<ApiResponse<{
249
252
  success: boolean;
250
253
  project_id: string;
@@ -47,21 +47,30 @@ export class VibescopeApiClient {
47
47
  retryStatusCodes: config.retry?.retryStatusCodes ?? DEFAULT_RETRY_STATUS_CODES,
48
48
  };
49
49
  }
50
- async request(method, path, body) {
50
+ async request(method, path, body, options) {
51
51
  const url = `${this.baseUrl}${path}`;
52
52
  const { maxRetries, baseDelayMs, maxDelayMs, retryStatusCodes } = this.retryConfig;
53
53
  let lastError = null;
54
54
  let lastResponse = null;
55
55
  for (let attempt = 0; attempt <= maxRetries; attempt++) {
56
+ let timeoutId;
56
57
  try {
57
- const response = await fetch(url, {
58
+ const fetchOptions = {
58
59
  method,
59
60
  headers: {
60
61
  'Content-Type': 'application/json',
61
62
  'X-API-Key': this.apiKey
62
63
  },
63
- body: body ? JSON.stringify(body) : undefined
64
- });
64
+ body: body ? JSON.stringify(body) : undefined,
65
+ };
66
+ if (options?.timeoutMs) {
67
+ const controller = new AbortController();
68
+ timeoutId = setTimeout(() => controller.abort(), options.timeoutMs);
69
+ fetchOptions.signal = controller.signal;
70
+ }
71
+ const response = await fetch(url, fetchOptions);
72
+ if (timeoutId)
73
+ clearTimeout(timeoutId);
65
74
  // Check if we should retry this status code
66
75
  if (retryStatusCodes.includes(response.status) && attempt < maxRetries) {
67
76
  lastResponse = response;
@@ -94,7 +103,15 @@ export class VibescopeApiClient {
94
103
  };
95
104
  }
96
105
  catch (err) {
97
- lastError = err instanceof Error ? err : new Error('Network error');
106
+ if (timeoutId)
107
+ clearTimeout(timeoutId);
108
+ // Detect AbortError from timeout
109
+ if (err instanceof Error && err.name === 'AbortError' && options?.timeoutMs) {
110
+ lastError = new Error(`Request timed out after ${options.timeoutMs}ms`);
111
+ }
112
+ else {
113
+ lastError = err instanceof Error ? err : new Error('Network error');
114
+ }
98
115
  // Retry on network errors (connection failures, timeouts)
99
116
  if (attempt < maxRetries) {
100
117
  const delay = calculateBackoffDelay(attempt, baseDelayMs, maxDelayMs);
@@ -130,10 +147,10 @@ export class VibescopeApiClient {
130
147
  };
131
148
  }
132
149
  // Auth endpoints
133
- async validateAuth() {
150
+ async validateAuth(options) {
134
151
  return this.request('POST', '/api/mcp/auth/validate', {
135
152
  api_key: this.apiKey
136
- });
153
+ }, options);
137
154
  }
138
155
  // Session endpoints
139
156
  async startSession(params) {