@vibescope/mcp-server 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/api-client.js +8 -1
- package/dist/cli-init.js +0 -0
- package/dist/cli.js +0 -0
- package/dist/handlers/session.js +1 -1
- package/dist/index.js +0 -0
- package/docs/TOOLS.md +30 -34
- package/package.json +1 -1
- package/src/api-client.ts +10 -1
- package/src/handlers/session.ts +1 -1
package/dist/api-client.js
CHANGED
|
@@ -4,7 +4,11 @@
|
|
|
4
4
|
* HTTP client for communicating with the Vibescope API.
|
|
5
5
|
* All database operations are handled server-side through these endpoints.
|
|
6
6
|
*/
|
|
7
|
+
import crypto from 'crypto';
|
|
7
8
|
const DEFAULT_API_URL = 'https://vibescope.dev';
|
|
9
|
+
// Stable instance ID for this process — persists across start_work_session calls
|
|
10
|
+
// so the API can recognise reconnections after context clears
|
|
11
|
+
const PROCESS_INSTANCE_ID = crypto.randomUUID();
|
|
8
12
|
// Retry configuration defaults
|
|
9
13
|
const DEFAULT_RETRY_STATUS_CODES = [429, 503, 504];
|
|
10
14
|
const DEFAULT_MAX_RETRIES = 3;
|
|
@@ -133,7 +137,10 @@ export class VibescopeApiClient {
|
|
|
133
137
|
}
|
|
134
138
|
// Session endpoints
|
|
135
139
|
async startSession(params) {
|
|
136
|
-
return this.request('POST', '/api/mcp/sessions/start',
|
|
140
|
+
return this.request('POST', '/api/mcp/sessions/start', {
|
|
141
|
+
...params,
|
|
142
|
+
instance_id: PROCESS_INSTANCE_ID,
|
|
143
|
+
});
|
|
137
144
|
}
|
|
138
145
|
async heartbeat(sessionId, options) {
|
|
139
146
|
return this.request('POST', '/api/mcp/sessions/heartbeat', {
|
package/dist/cli-init.js
CHANGED
|
File without changes
|
package/dist/cli.js
CHANGED
|
File without changes
|
package/dist/handlers/session.js
CHANGED
|
@@ -295,7 +295,7 @@ export const startWorkSession = async (args, ctx) => {
|
|
|
295
295
|
// Task lifecycle rules
|
|
296
296
|
agentRules.push('COMPLETE TASKS: Always call complete_task(task_id, summary, session_id) immediately after creating a PR. This is mandatory — it updates the dashboard and triggers validation.');
|
|
297
297
|
agentRules.push('SESSION ID: Pass session_id on EVERY update_task and complete_task call. Without it, the dashboard shows "Agent" instead of your name.');
|
|
298
|
-
agentRules.push(
|
|
298
|
+
agentRules.push(`STATUS UPDATES: Call update_agent_status(status_message: "Working on: TASK_TITLE", project_id: "${data.project?.id || ''}", agent_name: "${result.persona || ''}") whenever you start or finish a task.`);
|
|
299
299
|
agentRules.push('TRACK PROGRESS: Call update_task with progress_percentage (0-100) every 15-20% of task completion.');
|
|
300
300
|
// Validation rules (dynamic based on project settings)
|
|
301
301
|
if (data.project?.validation_required !== false) {
|
package/dist/index.js
CHANGED
|
File without changes
|
package/docs/TOOLS.md
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
|
|
3
3
|
> Auto-generated from tool definitions. Do not edit manually.
|
|
4
4
|
>
|
|
5
|
-
> Generated: 2026-02-
|
|
5
|
+
> Generated: 2026-02-21
|
|
6
6
|
>
|
|
7
7
|
> Total tools: 159
|
|
8
8
|
|
|
@@ -33,7 +33,7 @@
|
|
|
33
33
|
- [roles](#roles) - Agent role management (4 tools)
|
|
34
34
|
- [file_locks](#file-locks) - File checkout/locking for multi-agent (6 tools)
|
|
35
35
|
- [connectors](#connectors) - External integration connectors (7 tools)
|
|
36
|
-
- [cloud_agents](#cloud-agents) - Cloud agent management and cleanup (
|
|
36
|
+
- [cloud_agents](#cloud-agents) - Cloud agent management and cleanup (3 tools)
|
|
37
37
|
- [chat](#chat) - Project-wide chat channel for agent and user communication (2 tools)
|
|
38
38
|
- [version](#version) - MCP server version management and updates (2 tools)
|
|
39
39
|
|
|
@@ -2416,6 +2416,34 @@ Get event history for a connector or project. Shows delivery status and errors.
|
|
|
2416
2416
|
|
|
2417
2417
|
*Cloud agent management and cleanup*
|
|
2418
2418
|
|
|
2419
|
+
### update_agent_status
|
|
2420
|
+
|
|
2421
|
+
Report what you're currently doing. This updates the status message shown on the dashboard.
|
|
2422
|
+
|
|
2423
|
+
Call this at key milestones during boot and work:
|
|
2424
|
+
|
|
2425
|
+
- "Installing dependencies..."
|
|
2426
|
+
|
|
2427
|
+
- "Running start_work_session..."
|
|
2428
|
+
|
|
2429
|
+
- "Working on: <task title>"
|
|
2430
|
+
|
|
2431
|
+
- "Running tests..."
|
|
2432
|
+
|
|
2433
|
+
- "Committing changes..."
|
|
2434
|
+
|
|
2435
|
+
Keep messages short (under 80 chars). The dashboard shows this in real-time.
|
|
2436
|
+
|
|
2437
|
+
**Parameters:**
|
|
2438
|
+
|
|
2439
|
+
| Parameter | Type | Required | Description |
|
|
2440
|
+
|-----------|------|----------|-------------|
|
|
2441
|
+
| `status_message` | `string` | Yes | Short status message to display on dashboard (max 80 chars) |
|
|
2442
|
+
| `project_id` | `string` | No | Project UUID (optional if session has project context) |
|
|
2443
|
+
| `agent_name` | `string` | No | Agent name (used to find the spawned_agents record) |
|
|
2444
|
+
|
|
2445
|
+
---
|
|
2446
|
+
|
|
2419
2447
|
### cleanup_stale_cloud_agents
|
|
2420
2448
|
|
|
2421
2449
|
Clean up stale cloud agents that failed to start or lost connection.
|
|
@@ -2515,35 +2543,3 @@ Update the Vibescope MCP server to the latest version. Runs npm install to fetch
|
|
|
2515
2543
|
| `global` | `boolean` | No | If true, update the global installation (npm install -g). If false, update locally. Default: true. |
|
|
2516
2544
|
|
|
2517
2545
|
---
|
|
2518
|
-
|
|
2519
|
-
## Uncategorized
|
|
2520
|
-
|
|
2521
|
-
*Tools not yet assigned to a category*
|
|
2522
|
-
|
|
2523
|
-
### update_agent_status
|
|
2524
|
-
|
|
2525
|
-
Report what you're currently doing. This updates the status message shown on the dashboard.
|
|
2526
|
-
|
|
2527
|
-
Call this at key milestones during boot and work:
|
|
2528
|
-
|
|
2529
|
-
- "Installing dependencies..."
|
|
2530
|
-
|
|
2531
|
-
- "Running start_work_session..."
|
|
2532
|
-
|
|
2533
|
-
- "Working on: <task title>"
|
|
2534
|
-
|
|
2535
|
-
- "Running tests..."
|
|
2536
|
-
|
|
2537
|
-
- "Committing changes..."
|
|
2538
|
-
|
|
2539
|
-
Keep messages short (under 80 chars). The dashboard shows this in real-time.
|
|
2540
|
-
|
|
2541
|
-
**Parameters:**
|
|
2542
|
-
|
|
2543
|
-
| Parameter | Type | Required | Description |
|
|
2544
|
-
|-----------|------|----------|-------------|
|
|
2545
|
-
| `status_message` | `string` | Yes | Short status message to display on dashboard (max 80 chars) |
|
|
2546
|
-
| `project_id` | `string` | No | Project UUID (optional if session has project context) |
|
|
2547
|
-
| `agent_name` | `string` | No | Agent name (used to find the spawned_agents record) |
|
|
2548
|
-
|
|
2549
|
-
---
|
package/package.json
CHANGED
package/src/api-client.ts
CHANGED
|
@@ -5,8 +5,14 @@
|
|
|
5
5
|
* All database operations are handled server-side through these endpoints.
|
|
6
6
|
*/
|
|
7
7
|
|
|
8
|
+
import crypto from 'crypto';
|
|
9
|
+
|
|
8
10
|
const DEFAULT_API_URL = 'https://vibescope.dev';
|
|
9
11
|
|
|
12
|
+
// Stable instance ID for this process — persists across start_work_session calls
|
|
13
|
+
// so the API can recognise reconnections after context clears
|
|
14
|
+
const PROCESS_INSTANCE_ID = crypto.randomUUID();
|
|
15
|
+
|
|
10
16
|
// Retry configuration defaults
|
|
11
17
|
const DEFAULT_RETRY_STATUS_CODES = [429, 503, 504];
|
|
12
18
|
const DEFAULT_MAX_RETRIES = 3;
|
|
@@ -282,7 +288,10 @@ export class VibescopeApiClient {
|
|
|
282
288
|
next_action?: string;
|
|
283
289
|
error?: string;
|
|
284
290
|
}>> {
|
|
285
|
-
return this.request('POST', '/api/mcp/sessions/start',
|
|
291
|
+
return this.request('POST', '/api/mcp/sessions/start', {
|
|
292
|
+
...params,
|
|
293
|
+
instance_id: PROCESS_INSTANCE_ID,
|
|
294
|
+
});
|
|
286
295
|
}
|
|
287
296
|
|
|
288
297
|
async heartbeat(sessionId: string, options?: {
|
package/src/handlers/session.ts
CHANGED
|
@@ -341,7 +341,7 @@ export const startWorkSession: Handler = async (args, ctx) => {
|
|
|
341
341
|
// Task lifecycle rules
|
|
342
342
|
agentRules.push('COMPLETE TASKS: Always call complete_task(task_id, summary, session_id) immediately after creating a PR. This is mandatory — it updates the dashboard and triggers validation.');
|
|
343
343
|
agentRules.push('SESSION ID: Pass session_id on EVERY update_task and complete_task call. Without it, the dashboard shows "Agent" instead of your name.');
|
|
344
|
-
agentRules.push(
|
|
344
|
+
agentRules.push(`STATUS UPDATES: Call update_agent_status(status_message: "Working on: TASK_TITLE", project_id: "${data.project?.id || ''}", agent_name: "${result.persona || ''}") whenever you start or finish a task.`);
|
|
345
345
|
agentRules.push('TRACK PROGRESS: Call update_task with progress_percentage (0-100) every 15-20% of task completion.');
|
|
346
346
|
|
|
347
347
|
// Validation rules (dynamic based on project settings)
|