@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 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,7 @@
1
+ /**
2
+ * Project chat tools:
3
+ * - send_project_message
4
+ * - get_project_messages
5
+ */
6
+ import type { Tool } from './types.js';
7
+ export declare const chatTools: Tool[];
@@ -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
  ];
@@ -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-12
5
+ > Generated: 2026-02-13
6
6
  >
7
- > Total tools: 156
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 | What does "done" look like for this project? |
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
- ## Uncategorized
2463
+ ## chat
2462
2464
 
2463
- *Tools not yet assigned to a category*
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
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibescope/mcp-server",
3
- "version": "0.3.7",
3
+ "version": "0.3.9",
4
4
  "description": "MCP server for Vibescope - AI project tracking tools",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -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
  ];
@@ -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
  /**