@vibescope/mcp-server 0.4.8 → 0.5.0
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/project.d.ts +2 -1
- package/dist/api-client.d.ts +8 -1
- package/dist/api-client.js +2 -0
- package/dist/handlers/project.js +5 -3
- package/dist/handlers/tasks.js +5 -1
- package/dist/tools/project.js +6 -2
- package/dist/tools/tasks.js +17 -0
- package/docs/TOOLS.md +5 -2
- package/package.json +1 -1
- package/src/api-client/project.ts +2 -1
- package/src/api-client.ts +6 -1
- package/src/handlers/project.ts +6 -3
- package/src/handlers/tasks.ts +5 -1
- package/src/tools/project.ts +6 -2
- package/src/tools/tasks.ts +17 -0
|
@@ -96,7 +96,8 @@ export interface ProjectMethods {
|
|
|
96
96
|
require_time_estimates?: boolean;
|
|
97
97
|
fallback_activities_enabled?: boolean;
|
|
98
98
|
preferred_fallback_activities?: string[];
|
|
99
|
-
|
|
99
|
+
allow_local_agent_task_creation?: boolean;
|
|
100
|
+
allow_cloud_agent_task_creation?: boolean;
|
|
100
101
|
}): Promise<ApiResponse<{
|
|
101
102
|
success: boolean;
|
|
102
103
|
project_id: string;
|
package/dist/api-client.d.ts
CHANGED
|
@@ -247,7 +247,8 @@ export declare class VibescopeApiClient {
|
|
|
247
247
|
require_time_estimates?: boolean;
|
|
248
248
|
fallback_activities_enabled?: boolean;
|
|
249
249
|
preferred_fallback_activities?: string[];
|
|
250
|
-
|
|
250
|
+
allow_local_agent_task_creation?: boolean;
|
|
251
|
+
allow_cloud_agent_task_creation?: boolean;
|
|
251
252
|
}): Promise<ApiResponse<{
|
|
252
253
|
success: boolean;
|
|
253
254
|
project_id: string;
|
|
@@ -486,6 +487,12 @@ export declare class VibescopeApiClient {
|
|
|
486
487
|
completeTask(taskId: string, params: {
|
|
487
488
|
summary?: string;
|
|
488
489
|
session_id?: string;
|
|
490
|
+
commit_hash?: string;
|
|
491
|
+
check_results?: Array<{
|
|
492
|
+
command: string;
|
|
493
|
+
passed: boolean;
|
|
494
|
+
output?: string;
|
|
495
|
+
}>;
|
|
489
496
|
}): Promise<ApiResponse<{
|
|
490
497
|
success: boolean;
|
|
491
498
|
directive: string;
|
package/dist/api-client.js
CHANGED
|
@@ -285,6 +285,8 @@ export class VibescopeApiClient {
|
|
|
285
285
|
return this.proxy('complete_task', {
|
|
286
286
|
task_id: taskId,
|
|
287
287
|
summary: params.summary,
|
|
288
|
+
...(params.commit_hash ? { commit_hash: params.commit_hash } : {}),
|
|
289
|
+
...(params.check_results ? { check_results: params.check_results } : {}),
|
|
288
290
|
}, params.session_id ? { session_id: params.session_id, persona: null, instance_id: '' } : undefined);
|
|
289
291
|
}
|
|
290
292
|
async deleteTask(taskId) {
|
package/dist/handlers/project.js
CHANGED
|
@@ -50,7 +50,8 @@ const updateProjectSchema = {
|
|
|
50
50
|
require_time_estimates: { type: 'boolean' },
|
|
51
51
|
fallback_activities_enabled: { type: 'boolean' },
|
|
52
52
|
preferred_fallback_activities: { type: 'array' },
|
|
53
|
-
|
|
53
|
+
allow_local_agent_task_creation: { type: 'boolean' },
|
|
54
|
+
allow_cloud_agent_task_creation: { type: 'boolean' },
|
|
54
55
|
};
|
|
55
56
|
const updateProjectReadmeSchema = {
|
|
56
57
|
project_id: { type: 'string', required: true, validate: uuidValidator },
|
|
@@ -112,7 +113,7 @@ export const createProject = async (args, _ctx) => {
|
|
|
112
113
|
export const updateProject = async (args, _ctx) => {
|
|
113
114
|
const { project_id, name, description, goal, git_url, tech_stack, status, git_workflow, git_main_branch, git_develop_branch, git_auto_branch, git_auto_tag, deployment_instructions,
|
|
114
115
|
// New project settings
|
|
115
|
-
git_delete_branch_on_merge, require_pr_for_validation, auto_merge_on_approval, validation_required, default_task_priority, require_time_estimates, fallback_activities_enabled, preferred_fallback_activities,
|
|
116
|
+
git_delete_branch_on_merge, require_pr_for_validation, auto_merge_on_approval, validation_required, default_task_priority, require_time_estimates, fallback_activities_enabled, preferred_fallback_activities, allow_local_agent_task_creation, allow_cloud_agent_task_creation } = parseArgs(args, updateProjectSchema);
|
|
116
117
|
const apiClient = getApiClient();
|
|
117
118
|
const response = await apiClient.updateProject(project_id, {
|
|
118
119
|
name,
|
|
@@ -136,7 +137,8 @@ export const updateProject = async (args, _ctx) => {
|
|
|
136
137
|
require_time_estimates,
|
|
137
138
|
fallback_activities_enabled,
|
|
138
139
|
preferred_fallback_activities: preferred_fallback_activities,
|
|
139
|
-
|
|
140
|
+
allow_local_agent_task_creation: allow_local_agent_task_creation,
|
|
141
|
+
allow_cloud_agent_task_creation: allow_cloud_agent_task_creation
|
|
140
142
|
});
|
|
141
143
|
if (!response.ok) {
|
|
142
144
|
return { result: { error: response.error || 'Failed to update project' }, isError: true };
|
package/dist/handlers/tasks.js
CHANGED
|
@@ -67,6 +67,8 @@ const completeTaskSchema = {
|
|
|
67
67
|
task_id: { type: 'string', required: true, validate: uuidValidator },
|
|
68
68
|
summary: { type: 'string' },
|
|
69
69
|
session_id: { type: 'string' },
|
|
70
|
+
commit_hash: { type: 'string' },
|
|
71
|
+
check_results: { type: 'object' },
|
|
70
72
|
};
|
|
71
73
|
const deleteTaskSchema = {
|
|
72
74
|
task_id: { type: 'string', required: true, validate: uuidValidator },
|
|
@@ -429,11 +431,13 @@ export const updateTask = async (args, ctx) => {
|
|
|
429
431
|
return { result };
|
|
430
432
|
};
|
|
431
433
|
export const completeTask = async (args, ctx) => {
|
|
432
|
-
const { task_id, summary, session_id: explicit_session_id } = parseArgs(args, completeTaskSchema);
|
|
434
|
+
const { task_id, summary, session_id: explicit_session_id, commit_hash, check_results } = parseArgs(args, completeTaskSchema);
|
|
433
435
|
const api = getApiClient();
|
|
434
436
|
const response = await api.completeTask(task_id, {
|
|
435
437
|
summary,
|
|
436
438
|
session_id: explicit_session_id || ctx.session.currentSessionId || undefined,
|
|
439
|
+
commit_hash,
|
|
440
|
+
check_results: check_results,
|
|
437
441
|
});
|
|
438
442
|
if (!response.ok) {
|
|
439
443
|
return { result: { error: response.error || 'Failed to complete task' }, isError: true };
|
package/dist/tools/project.js
CHANGED
|
@@ -160,9 +160,13 @@ export const projectTools = [
|
|
|
160
160
|
items: { type: 'string' },
|
|
161
161
|
description: 'Array of preferred fallback activities (e.g., ["code_review", "security_review"]). Null means all allowed.',
|
|
162
162
|
},
|
|
163
|
-
|
|
163
|
+
allow_local_agent_task_creation: {
|
|
164
164
|
type: 'boolean',
|
|
165
|
-
description: 'Allow agents to create tasks via add_task (default:
|
|
165
|
+
description: 'Allow local agents (running on developer machine) to create tasks via add_task (default: true).',
|
|
166
|
+
},
|
|
167
|
+
allow_cloud_agent_task_creation: {
|
|
168
|
+
type: 'boolean',
|
|
169
|
+
description: 'Allow cloud/remote agents to create tasks via add_task (default: false).',
|
|
166
170
|
},
|
|
167
171
|
},
|
|
168
172
|
required: ['project_id'],
|
package/dist/tools/tasks.js
CHANGED
|
@@ -342,6 +342,23 @@ The auto_continue: true flag in the response means you are expected to continue
|
|
|
342
342
|
type: 'string',
|
|
343
343
|
description: 'Session ID from start_work_session. Required for cloud agents using mcporter.',
|
|
344
344
|
},
|
|
345
|
+
commit_hash: {
|
|
346
|
+
type: 'string',
|
|
347
|
+
description: 'Git commit hash (7-40 hex chars) of your last commit. Stored on the task for verification.',
|
|
348
|
+
},
|
|
349
|
+
check_results: {
|
|
350
|
+
type: 'array',
|
|
351
|
+
description: 'Results of pre-completion checks (required if project has pre_completion_commands configured). Each item: { command, passed, output? }',
|
|
352
|
+
items: {
|
|
353
|
+
type: 'object',
|
|
354
|
+
properties: {
|
|
355
|
+
command: { type: 'string', description: 'The command that was run' },
|
|
356
|
+
passed: { type: 'boolean', description: 'Whether the command succeeded' },
|
|
357
|
+
output: { type: 'string', description: 'First 500 chars of output if failed' },
|
|
358
|
+
},
|
|
359
|
+
required: ['command', 'passed'],
|
|
360
|
+
},
|
|
361
|
+
},
|
|
345
362
|
},
|
|
346
363
|
required: ['task_id'],
|
|
347
364
|
},
|
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-03-
|
|
5
|
+
> Generated: 2026-03-10
|
|
6
6
|
>
|
|
7
7
|
> Total tools: 168
|
|
8
8
|
|
|
@@ -246,7 +246,8 @@ Update project details (name, description, goal, settings).
|
|
|
246
246
|
| `require_time_estimates` | `boolean` | No | Require estimated_minutes when creating tasks (default: false) |
|
|
247
247
|
| `fallback_activities_enabled` | `boolean` | No | Allow agents to perform background activities when no tasks available (default: true) |
|
|
248
248
|
| `preferred_fallback_activities` | `string[]` | No | Array of preferred fallback activities (e.g., ["code_review", "security_review"]). Null means all allowed. |
|
|
249
|
-
| `
|
|
249
|
+
| `allow_local_agent_task_creation` | `boolean` | No | Allow local agents (running on developer machine) to create tasks via add_task (default: true). |
|
|
250
|
+
| `allow_cloud_agent_task_creation` | `boolean` | No | Allow cloud/remote agents to create tasks via add_task (default: false). |
|
|
250
251
|
|
|
251
252
|
---
|
|
252
253
|
|
|
@@ -454,6 +455,8 @@ The auto_continue: true flag in the response means you are expected to continue
|
|
|
454
455
|
| `task_id` | `string` | Yes | Task UUID |
|
|
455
456
|
| `summary` | `string` | No | Brief summary of what was done. This is stored on the task as completion_summary and displayed when reviewing completed tasks. |
|
|
456
457
|
| `session_id` | `string` | No | Session ID from start_work_session. Required for cloud agents using mcporter. |
|
|
458
|
+
| `commit_hash` | `string` | No | Git commit hash (7-40 hex chars) of your last commit. Stored on the task for verification. |
|
|
459
|
+
| `check_results` | `object[]` | No | Results of pre-completion checks (required if project has pre_completion_commands configured). Each item: { command, passed, output? } |
|
|
457
460
|
|
|
458
461
|
---
|
|
459
462
|
|
package/package.json
CHANGED
|
@@ -101,7 +101,8 @@ export interface ProjectMethods {
|
|
|
101
101
|
require_time_estimates?: boolean;
|
|
102
102
|
fallback_activities_enabled?: boolean;
|
|
103
103
|
preferred_fallback_activities?: string[];
|
|
104
|
-
|
|
104
|
+
allow_local_agent_task_creation?: boolean;
|
|
105
|
+
allow_cloud_agent_task_creation?: boolean;
|
|
105
106
|
}): Promise<ApiResponse<{
|
|
106
107
|
success: boolean;
|
|
107
108
|
project_id: string;
|
package/src/api-client.ts
CHANGED
|
@@ -449,7 +449,8 @@ export class VibescopeApiClient {
|
|
|
449
449
|
require_time_estimates?: boolean;
|
|
450
450
|
fallback_activities_enabled?: boolean;
|
|
451
451
|
preferred_fallback_activities?: string[];
|
|
452
|
-
|
|
452
|
+
allow_local_agent_task_creation?: boolean;
|
|
453
|
+
allow_cloud_agent_task_creation?: boolean;
|
|
453
454
|
}): Promise<ApiResponse<{
|
|
454
455
|
success: boolean;
|
|
455
456
|
project_id: string;
|
|
@@ -754,6 +755,8 @@ export class VibescopeApiClient {
|
|
|
754
755
|
async completeTask(taskId: string, params: {
|
|
755
756
|
summary?: string;
|
|
756
757
|
session_id?: string;
|
|
758
|
+
commit_hash?: string;
|
|
759
|
+
check_results?: Array<{ command: string; passed: boolean; output?: string }>;
|
|
757
760
|
}): Promise<ApiResponse<{
|
|
758
761
|
success: boolean;
|
|
759
762
|
directive: string;
|
|
@@ -778,6 +781,8 @@ export class VibescopeApiClient {
|
|
|
778
781
|
return this.proxy('complete_task', {
|
|
779
782
|
task_id: taskId,
|
|
780
783
|
summary: params.summary,
|
|
784
|
+
...(params.commit_hash ? { commit_hash: params.commit_hash } : {}),
|
|
785
|
+
...(params.check_results ? { check_results: params.check_results } : {}),
|
|
781
786
|
}, params.session_id ? { session_id: params.session_id, persona: null, instance_id: '' } : undefined);
|
|
782
787
|
}
|
|
783
788
|
|
package/src/handlers/project.ts
CHANGED
|
@@ -64,7 +64,8 @@ const updateProjectSchema = {
|
|
|
64
64
|
require_time_estimates: { type: 'boolean' as const },
|
|
65
65
|
fallback_activities_enabled: { type: 'boolean' as const },
|
|
66
66
|
preferred_fallback_activities: { type: 'array' as const },
|
|
67
|
-
|
|
67
|
+
allow_local_agent_task_creation: { type: 'boolean' as const },
|
|
68
|
+
allow_cloud_agent_task_creation: { type: 'boolean' as const },
|
|
68
69
|
};
|
|
69
70
|
|
|
70
71
|
const updateProjectReadmeSchema = {
|
|
@@ -167,7 +168,8 @@ export const updateProject: Handler = async (args, _ctx) => {
|
|
|
167
168
|
require_time_estimates,
|
|
168
169
|
fallback_activities_enabled,
|
|
169
170
|
preferred_fallback_activities,
|
|
170
|
-
|
|
171
|
+
allow_local_agent_task_creation,
|
|
172
|
+
allow_cloud_agent_task_creation
|
|
171
173
|
} = parseArgs(args, updateProjectSchema);
|
|
172
174
|
|
|
173
175
|
const apiClient = getApiClient();
|
|
@@ -193,7 +195,8 @@ export const updateProject: Handler = async (args, _ctx) => {
|
|
|
193
195
|
require_time_estimates,
|
|
194
196
|
fallback_activities_enabled,
|
|
195
197
|
preferred_fallback_activities: preferred_fallback_activities as string[] | undefined,
|
|
196
|
-
|
|
198
|
+
allow_local_agent_task_creation: allow_local_agent_task_creation as boolean | undefined,
|
|
199
|
+
allow_cloud_agent_task_creation: allow_cloud_agent_task_creation as boolean | undefined
|
|
197
200
|
});
|
|
198
201
|
|
|
199
202
|
if (!response.ok) {
|
package/src/handlers/tasks.ts
CHANGED
|
@@ -85,6 +85,8 @@ const completeTaskSchema = {
|
|
|
85
85
|
task_id: { type: 'string' as const, required: true as const, validate: uuidValidator },
|
|
86
86
|
summary: { type: 'string' as const },
|
|
87
87
|
session_id: { type: 'string' as const },
|
|
88
|
+
commit_hash: { type: 'string' as const },
|
|
89
|
+
check_results: { type: 'object' as const },
|
|
88
90
|
};
|
|
89
91
|
|
|
90
92
|
const deleteTaskSchema = {
|
|
@@ -529,12 +531,14 @@ export const updateTask: Handler = async (args, ctx) => {
|
|
|
529
531
|
};
|
|
530
532
|
|
|
531
533
|
export const completeTask: Handler = async (args, ctx) => {
|
|
532
|
-
const { task_id, summary, session_id: explicit_session_id } = parseArgs(args, completeTaskSchema);
|
|
534
|
+
const { task_id, summary, session_id: explicit_session_id, commit_hash, check_results } = parseArgs(args, completeTaskSchema);
|
|
533
535
|
|
|
534
536
|
const api = getApiClient();
|
|
535
537
|
const response = await api.completeTask(task_id, {
|
|
536
538
|
summary,
|
|
537
539
|
session_id: explicit_session_id || ctx.session.currentSessionId || undefined,
|
|
540
|
+
commit_hash,
|
|
541
|
+
check_results: check_results as unknown as Array<{ command: string; passed: boolean; output?: string }>,
|
|
538
542
|
});
|
|
539
543
|
|
|
540
544
|
if (!response.ok) {
|
package/src/tools/project.ts
CHANGED
|
@@ -163,9 +163,13 @@ export const projectTools: Tool[] = [
|
|
|
163
163
|
items: { type: 'string' },
|
|
164
164
|
description: 'Array of preferred fallback activities (e.g., ["code_review", "security_review"]). Null means all allowed.',
|
|
165
165
|
},
|
|
166
|
-
|
|
166
|
+
allow_local_agent_task_creation: {
|
|
167
167
|
type: 'boolean',
|
|
168
|
-
description: 'Allow agents to create tasks via add_task (default:
|
|
168
|
+
description: 'Allow local agents (running on developer machine) to create tasks via add_task (default: true).',
|
|
169
|
+
},
|
|
170
|
+
allow_cloud_agent_task_creation: {
|
|
171
|
+
type: 'boolean',
|
|
172
|
+
description: 'Allow cloud/remote agents to create tasks via add_task (default: false).',
|
|
169
173
|
},
|
|
170
174
|
},
|
|
171
175
|
required: ['project_id'],
|
package/src/tools/tasks.ts
CHANGED
|
@@ -345,6 +345,23 @@ The auto_continue: true flag in the response means you are expected to continue
|
|
|
345
345
|
type: 'string',
|
|
346
346
|
description: 'Session ID from start_work_session. Required for cloud agents using mcporter.',
|
|
347
347
|
},
|
|
348
|
+
commit_hash: {
|
|
349
|
+
type: 'string',
|
|
350
|
+
description: 'Git commit hash (7-40 hex chars) of your last commit. Stored on the task for verification.',
|
|
351
|
+
},
|
|
352
|
+
check_results: {
|
|
353
|
+
type: 'array',
|
|
354
|
+
description: 'Results of pre-completion checks (required if project has pre_completion_commands configured). Each item: { command, passed, output? }',
|
|
355
|
+
items: {
|
|
356
|
+
type: 'object',
|
|
357
|
+
properties: {
|
|
358
|
+
command: { type: 'string', description: 'The command that was run' },
|
|
359
|
+
passed: { type: 'boolean', description: 'Whether the command succeeded' },
|
|
360
|
+
output: { type: 'string', description: 'First 500 chars of output if failed' },
|
|
361
|
+
},
|
|
362
|
+
required: ['command', 'passed'],
|
|
363
|
+
},
|
|
364
|
+
},
|
|
348
365
|
},
|
|
349
366
|
required: ['task_id'],
|
|
350
367
|
},
|