@vibescope/mcp-server 0.3.7 → 0.3.9
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/cli-init.js +0 -0
- package/dist/handlers/cloud-agents.d.ts +4 -0
- package/dist/handlers/cloud-agents.js +22 -0
- package/dist/handlers/discovery.js +14 -0
- package/dist/tools/chat.d.ts +7 -0
- package/dist/tools/chat.js +43 -0
- package/dist/tools/cloud-agents.js +31 -0
- package/dist/tools/index.js +2 -0
- package/docs/TOOLS.md +37 -5
- package/package.json +1 -1
- package/src/handlers/cloud-agents.ts +28 -0
- package/src/handlers/discovery.ts +14 -0
- package/src/tools/chat.ts +46 -0
- package/src/tools/cloud-agents.ts +31 -0
- package/src/tools/index.ts +2 -0
package/dist/cli-init.js
CHANGED
|
File without changes
|
|
@@ -15,6 +15,10 @@ export declare const cleanupStaleCloudAgents: Handler;
|
|
|
15
15
|
* List cloud agents for a project with optional status filter.
|
|
16
16
|
*/
|
|
17
17
|
export declare const listCloudAgents: Handler;
|
|
18
|
+
/**
|
|
19
|
+
* Update agent status message (for dashboard display).
|
|
20
|
+
*/
|
|
21
|
+
export declare const updateAgentStatus: Handler;
|
|
18
22
|
/**
|
|
19
23
|
* Cloud agents handlers registry
|
|
20
24
|
*/
|
|
@@ -82,10 +82,32 @@ export const listCloudAgents = async (args, ctx) => {
|
|
|
82
82
|
count: response.data.agents.length
|
|
83
83
|
});
|
|
84
84
|
};
|
|
85
|
+
/**
|
|
86
|
+
* Update agent status message (for dashboard display).
|
|
87
|
+
*/
|
|
88
|
+
export const updateAgentStatus = async (args, ctx) => {
|
|
89
|
+
const statusMessage = args.status_message;
|
|
90
|
+
const projectId = (args.project_id || ctx.session.currentProjectId);
|
|
91
|
+
const agentName = args.agent_name;
|
|
92
|
+
if (!statusMessage) {
|
|
93
|
+
return error('status_message is required');
|
|
94
|
+
}
|
|
95
|
+
const apiClient = getApiClient();
|
|
96
|
+
const response = await apiClient.proxy('update_agent_status', {
|
|
97
|
+
project_id: projectId,
|
|
98
|
+
agent_name: agentName,
|
|
99
|
+
status_message: statusMessage,
|
|
100
|
+
});
|
|
101
|
+
if (!response.ok) {
|
|
102
|
+
return error(response.error || 'Failed to update status');
|
|
103
|
+
}
|
|
104
|
+
return success({ updated: true, status_message: statusMessage });
|
|
105
|
+
};
|
|
85
106
|
/**
|
|
86
107
|
* Cloud agents handlers registry
|
|
87
108
|
*/
|
|
88
109
|
export const cloudAgentHandlers = {
|
|
89
110
|
cleanup_stale_cloud_agents: cleanupStaleCloudAgents,
|
|
90
111
|
list_cloud_agents: listCloudAgents,
|
|
112
|
+
update_agent_status: updateAgentStatus,
|
|
91
113
|
};
|
|
@@ -323,6 +323,20 @@ export const TOOL_CATEGORIES = {
|
|
|
323
323
|
{ name: 'list_cloud_agents', brief: 'List cloud agents for project' },
|
|
324
324
|
],
|
|
325
325
|
},
|
|
326
|
+
chat: {
|
|
327
|
+
description: 'Project-wide chat channel for agent and user communication',
|
|
328
|
+
tools: [
|
|
329
|
+
{ name: 'send_project_message', brief: 'Send a message to the project chat' },
|
|
330
|
+
{ name: 'get_project_messages', brief: 'Read recent project chat messages' },
|
|
331
|
+
],
|
|
332
|
+
},
|
|
333
|
+
version: {
|
|
334
|
+
description: 'MCP server version management and updates',
|
|
335
|
+
tools: [
|
|
336
|
+
{ name: 'check_mcp_version', brief: 'Check for MCP server updates' },
|
|
337
|
+
{ name: 'update_mcp_server', brief: 'Self-update the MCP server' },
|
|
338
|
+
],
|
|
339
|
+
},
|
|
326
340
|
};
|
|
327
341
|
export const discoverTools = async (args) => {
|
|
328
342
|
const { category } = parseArgs(args, discoverToolsSchema);
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project chat tools:
|
|
3
|
+
* - send_project_message
|
|
4
|
+
* - get_project_messages
|
|
5
|
+
*/
|
|
6
|
+
export const chatTools = [
|
|
7
|
+
{
|
|
8
|
+
name: 'send_project_message',
|
|
9
|
+
description: 'Send a message to the project chat channel. All agents and the project owner can see messages here. Use this to communicate status updates, ask questions, report blockers, or coordinate with other agents.',
|
|
10
|
+
inputSchema: {
|
|
11
|
+
type: 'object',
|
|
12
|
+
properties: {
|
|
13
|
+
project_id: {
|
|
14
|
+
type: 'string',
|
|
15
|
+
description: 'Project UUID',
|
|
16
|
+
},
|
|
17
|
+
message: {
|
|
18
|
+
type: 'string',
|
|
19
|
+
description: 'Message content (supports markdown)',
|
|
20
|
+
},
|
|
21
|
+
},
|
|
22
|
+
required: ['project_id', 'message'],
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
name: 'get_project_messages',
|
|
27
|
+
description: 'Read recent messages from the project chat channel. Use this to check if the user or other agents have posted anything.',
|
|
28
|
+
inputSchema: {
|
|
29
|
+
type: 'object',
|
|
30
|
+
properties: {
|
|
31
|
+
project_id: {
|
|
32
|
+
type: 'string',
|
|
33
|
+
description: 'Project UUID',
|
|
34
|
+
},
|
|
35
|
+
limit: {
|
|
36
|
+
type: 'number',
|
|
37
|
+
description: 'Number of recent messages to fetch (default: 20, max: 100)',
|
|
38
|
+
},
|
|
39
|
+
},
|
|
40
|
+
required: ['project_id'],
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
];
|
|
@@ -63,5 +63,36 @@ Use this to check the state of cloud agents before/after cleanup.`,
|
|
|
63
63
|
},
|
|
64
64
|
required: ['project_id']
|
|
65
65
|
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
name: 'update_agent_status',
|
|
69
|
+
description: `Report what you're currently doing. This updates the status message shown on the dashboard.
|
|
70
|
+
|
|
71
|
+
Call this at key milestones during boot and work:
|
|
72
|
+
- "Installing dependencies..."
|
|
73
|
+
- "Running start_work_session..."
|
|
74
|
+
- "Working on: <task title>"
|
|
75
|
+
- "Running tests..."
|
|
76
|
+
- "Committing changes..."
|
|
77
|
+
|
|
78
|
+
Keep messages short (under 80 chars). The dashboard shows this in real-time.`,
|
|
79
|
+
inputSchema: {
|
|
80
|
+
type: 'object',
|
|
81
|
+
properties: {
|
|
82
|
+
status_message: {
|
|
83
|
+
type: 'string',
|
|
84
|
+
description: 'Short status message to display on dashboard (max 80 chars)'
|
|
85
|
+
},
|
|
86
|
+
project_id: {
|
|
87
|
+
type: 'string',
|
|
88
|
+
description: 'Project UUID (optional if session has project context)'
|
|
89
|
+
},
|
|
90
|
+
agent_name: {
|
|
91
|
+
type: 'string',
|
|
92
|
+
description: 'Agent name (used to find the spawned_agents record)'
|
|
93
|
+
}
|
|
94
|
+
},
|
|
95
|
+
required: ['status_message']
|
|
96
|
+
}
|
|
66
97
|
}
|
|
67
98
|
];
|
package/dist/tools/index.js
CHANGED
|
@@ -30,6 +30,7 @@ import { gitIssueTools } from './git-issues.js';
|
|
|
30
30
|
import { connectorTools } from './connectors.js';
|
|
31
31
|
import { cloudAgentTools } from './cloud-agents.js';
|
|
32
32
|
import { versionTools } from './version.js';
|
|
33
|
+
import { chatTools } from './chat.js';
|
|
33
34
|
/**
|
|
34
35
|
* All MCP tool definitions combined
|
|
35
36
|
*/
|
|
@@ -59,6 +60,7 @@ export const tools = [
|
|
|
59
60
|
...connectorTools,
|
|
60
61
|
...cloudAgentTools,
|
|
61
62
|
...versionTools,
|
|
63
|
+
...chatTools,
|
|
62
64
|
];
|
|
63
65
|
/**
|
|
64
66
|
* Build the complete tool list from all domain modules
|
package/docs/TOOLS.md
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
|
|
3
3
|
> Auto-generated from tool definitions. Do not edit manually.
|
|
4
4
|
>
|
|
5
|
-
> Generated: 2026-02-
|
|
5
|
+
> Generated: 2026-02-13
|
|
6
6
|
>
|
|
7
|
-
> Total tools:
|
|
7
|
+
> Total tools: 158
|
|
8
8
|
|
|
9
9
|
## Table of Contents
|
|
10
10
|
|
|
@@ -34,6 +34,8 @@
|
|
|
34
34
|
- [file_locks](#file-locks) - File checkout/locking for multi-agent (6 tools)
|
|
35
35
|
- [connectors](#connectors) - External integration connectors (7 tools)
|
|
36
36
|
- [cloud_agents](#cloud-agents) - Cloud agent management and cleanup (2 tools)
|
|
37
|
+
- [chat](#chat) - Project-wide chat channel for agent and user communication (2 tools)
|
|
38
|
+
- [version](#version) - MCP server version management and updates (2 tools)
|
|
37
39
|
|
|
38
40
|
## session
|
|
39
41
|
|
|
@@ -207,7 +209,7 @@ Create a new project to track in Vibescope.
|
|
|
207
209
|
|-----------|------|----------|-------------|
|
|
208
210
|
| `name` | `string` | Yes | Project display name |
|
|
209
211
|
| `description` | `string` | No | Brief project description |
|
|
210
|
-
| `goal` | `string` | No |
|
|
212
|
+
| `goal` | `string` | No | High-level project goal or purpose (e.g. "A multiplayer card game platform") |
|
|
211
213
|
| `git_url` | `string` | No | Git repository URL (if available) |
|
|
212
214
|
| `tech_stack` | `string[]` | No | Technologies used (e.g., ["TypeScript", "React", "PostgreSQL"]) |
|
|
213
215
|
|
|
@@ -2458,9 +2460,39 @@ Use this to check the state of cloud agents before/after cleanup.
|
|
|
2458
2460
|
|
|
2459
2461
|
---
|
|
2460
2462
|
|
|
2461
|
-
##
|
|
2463
|
+
## chat
|
|
2462
2464
|
|
|
2463
|
-
*
|
|
2465
|
+
*Project-wide chat channel for agent and user communication*
|
|
2466
|
+
|
|
2467
|
+
### send_project_message
|
|
2468
|
+
|
|
2469
|
+
Send a message to the project chat channel. All agents and the project owner can see messages here. Use this to communicate status updates, ask questions, report blockers, or coordinate with other agents.
|
|
2470
|
+
|
|
2471
|
+
**Parameters:**
|
|
2472
|
+
|
|
2473
|
+
| Parameter | Type | Required | Description |
|
|
2474
|
+
|-----------|------|----------|-------------|
|
|
2475
|
+
| `project_id` | `string` | Yes | Project UUID |
|
|
2476
|
+
| `message` | `string` | Yes | Message content (supports markdown) |
|
|
2477
|
+
|
|
2478
|
+
---
|
|
2479
|
+
|
|
2480
|
+
### get_project_messages
|
|
2481
|
+
|
|
2482
|
+
Read recent messages from the project chat channel. Use this to check if the user or other agents have posted anything.
|
|
2483
|
+
|
|
2484
|
+
**Parameters:**
|
|
2485
|
+
|
|
2486
|
+
| Parameter | Type | Required | Description |
|
|
2487
|
+
|-----------|------|----------|-------------|
|
|
2488
|
+
| `project_id` | `string` | Yes | Project UUID |
|
|
2489
|
+
| `limit` | `number` | No | Number of recent messages to fetch (default: 20, max: 100) |
|
|
2490
|
+
|
|
2491
|
+
---
|
|
2492
|
+
|
|
2493
|
+
## version
|
|
2494
|
+
|
|
2495
|
+
*MCP server version management and updates*
|
|
2464
2496
|
|
|
2465
2497
|
### check_mcp_version
|
|
2466
2498
|
|
package/package.json
CHANGED
|
@@ -129,10 +129,38 @@ export const listCloudAgents: Handler = async (args, ctx) => {
|
|
|
129
129
|
});
|
|
130
130
|
};
|
|
131
131
|
|
|
132
|
+
/**
|
|
133
|
+
* Update agent status message (for dashboard display).
|
|
134
|
+
*/
|
|
135
|
+
export const updateAgentStatus: Handler = async (args, ctx) => {
|
|
136
|
+
const statusMessage = args.status_message as string;
|
|
137
|
+
const projectId = (args.project_id || ctx.session.currentProjectId) as string;
|
|
138
|
+
const agentName = args.agent_name as string | undefined;
|
|
139
|
+
|
|
140
|
+
if (!statusMessage) {
|
|
141
|
+
return error('status_message is required');
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
const apiClient = getApiClient();
|
|
145
|
+
|
|
146
|
+
const response = await apiClient.proxy<{ success: boolean }>('update_agent_status', {
|
|
147
|
+
project_id: projectId,
|
|
148
|
+
agent_name: agentName,
|
|
149
|
+
status_message: statusMessage,
|
|
150
|
+
});
|
|
151
|
+
|
|
152
|
+
if (!response.ok) {
|
|
153
|
+
return error(response.error || 'Failed to update status');
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
return success({ updated: true, status_message: statusMessage });
|
|
157
|
+
};
|
|
158
|
+
|
|
132
159
|
/**
|
|
133
160
|
* Cloud agents handlers registry
|
|
134
161
|
*/
|
|
135
162
|
export const cloudAgentHandlers: HandlerRegistry = {
|
|
136
163
|
cleanup_stale_cloud_agents: cleanupStaleCloudAgents,
|
|
137
164
|
list_cloud_agents: listCloudAgents,
|
|
165
|
+
update_agent_status: updateAgentStatus,
|
|
138
166
|
};
|
|
@@ -331,6 +331,20 @@ export const TOOL_CATEGORIES: Record<string, { description: string; tools: Array
|
|
|
331
331
|
{ name: 'list_cloud_agents', brief: 'List cloud agents for project' },
|
|
332
332
|
],
|
|
333
333
|
},
|
|
334
|
+
chat: {
|
|
335
|
+
description: 'Project-wide chat channel for agent and user communication',
|
|
336
|
+
tools: [
|
|
337
|
+
{ name: 'send_project_message', brief: 'Send a message to the project chat' },
|
|
338
|
+
{ name: 'get_project_messages', brief: 'Read recent project chat messages' },
|
|
339
|
+
],
|
|
340
|
+
},
|
|
341
|
+
version: {
|
|
342
|
+
description: 'MCP server version management and updates',
|
|
343
|
+
tools: [
|
|
344
|
+
{ name: 'check_mcp_version', brief: 'Check for MCP server updates' },
|
|
345
|
+
{ name: 'update_mcp_server', brief: 'Self-update the MCP server' },
|
|
346
|
+
],
|
|
347
|
+
},
|
|
334
348
|
};
|
|
335
349
|
|
|
336
350
|
export const discoverTools: Handler = async (args) => {
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Project chat tools:
|
|
3
|
+
* - send_project_message
|
|
4
|
+
* - get_project_messages
|
|
5
|
+
*/
|
|
6
|
+
|
|
7
|
+
import type { Tool } from './types.js';
|
|
8
|
+
|
|
9
|
+
export const chatTools: Tool[] = [
|
|
10
|
+
{
|
|
11
|
+
name: 'send_project_message',
|
|
12
|
+
description: 'Send a message to the project chat channel. All agents and the project owner can see messages here. Use this to communicate status updates, ask questions, report blockers, or coordinate with other agents.',
|
|
13
|
+
inputSchema: {
|
|
14
|
+
type: 'object',
|
|
15
|
+
properties: {
|
|
16
|
+
project_id: {
|
|
17
|
+
type: 'string',
|
|
18
|
+
description: 'Project UUID',
|
|
19
|
+
},
|
|
20
|
+
message: {
|
|
21
|
+
type: 'string',
|
|
22
|
+
description: 'Message content (supports markdown)',
|
|
23
|
+
},
|
|
24
|
+
},
|
|
25
|
+
required: ['project_id', 'message'],
|
|
26
|
+
},
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
name: 'get_project_messages',
|
|
30
|
+
description: 'Read recent messages from the project chat channel. Use this to check if the user or other agents have posted anything.',
|
|
31
|
+
inputSchema: {
|
|
32
|
+
type: 'object',
|
|
33
|
+
properties: {
|
|
34
|
+
project_id: {
|
|
35
|
+
type: 'string',
|
|
36
|
+
description: 'Project UUID',
|
|
37
|
+
},
|
|
38
|
+
limit: {
|
|
39
|
+
type: 'number',
|
|
40
|
+
description: 'Number of recent messages to fetch (default: 20, max: 100)',
|
|
41
|
+
},
|
|
42
|
+
},
|
|
43
|
+
required: ['project_id'],
|
|
44
|
+
},
|
|
45
|
+
},
|
|
46
|
+
];
|
|
@@ -66,5 +66,36 @@ Use this to check the state of cloud agents before/after cleanup.`,
|
|
|
66
66
|
},
|
|
67
67
|
required: ['project_id']
|
|
68
68
|
}
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
name: 'update_agent_status',
|
|
72
|
+
description: `Report what you're currently doing. This updates the status message shown on the dashboard.
|
|
73
|
+
|
|
74
|
+
Call this at key milestones during boot and work:
|
|
75
|
+
- "Installing dependencies..."
|
|
76
|
+
- "Running start_work_session..."
|
|
77
|
+
- "Working on: <task title>"
|
|
78
|
+
- "Running tests..."
|
|
79
|
+
- "Committing changes..."
|
|
80
|
+
|
|
81
|
+
Keep messages short (under 80 chars). The dashboard shows this in real-time.`,
|
|
82
|
+
inputSchema: {
|
|
83
|
+
type: 'object',
|
|
84
|
+
properties: {
|
|
85
|
+
status_message: {
|
|
86
|
+
type: 'string',
|
|
87
|
+
description: 'Short status message to display on dashboard (max 80 chars)'
|
|
88
|
+
},
|
|
89
|
+
project_id: {
|
|
90
|
+
type: 'string',
|
|
91
|
+
description: 'Project UUID (optional if session has project context)'
|
|
92
|
+
},
|
|
93
|
+
agent_name: {
|
|
94
|
+
type: 'string',
|
|
95
|
+
description: 'Agent name (used to find the spawned_agents record)'
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
required: ['status_message']
|
|
99
|
+
}
|
|
69
100
|
}
|
|
70
101
|
];
|
package/src/tools/index.ts
CHANGED
|
@@ -34,6 +34,7 @@ import { gitIssueTools } from './git-issues.js';
|
|
|
34
34
|
import { connectorTools } from './connectors.js';
|
|
35
35
|
import { cloudAgentTools } from './cloud-agents.js';
|
|
36
36
|
import { versionTools } from './version.js';
|
|
37
|
+
import { chatTools } from './chat.js';
|
|
37
38
|
|
|
38
39
|
/**
|
|
39
40
|
* All MCP tool definitions combined
|
|
@@ -64,6 +65,7 @@ export const tools: Tool[] = [
|
|
|
64
65
|
...connectorTools,
|
|
65
66
|
...cloudAgentTools,
|
|
66
67
|
...versionTools,
|
|
68
|
+
...chatTools,
|
|
67
69
|
];
|
|
68
70
|
|
|
69
71
|
/**
|