@vibetasks/mcp-server 0.5.5 → 0.5.6

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 (2) hide show
  1. package/dist/index.js +29 -15
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -24,7 +24,7 @@ function setupTools(taskOps) {
24
24
  // create_task
25
25
  {
26
26
  name: "create_task",
27
- description: "Create a new task in VibeTasks. Use this instead of TodoWrite - tasks persist across sessions and sync everywhere.",
27
+ description: "Create a new task in VibeTasks. Use this instead of TodoWrite - tasks persist across sessions and sync everywhere. If you plan to work on it immediately, set start_vibing=true.",
28
28
  inputSchema: z.object({
29
29
  title: z.string().describe("Task title (required)"),
30
30
  description: z.string().optional().describe("Brief description of what this task involves"),
@@ -36,7 +36,8 @@ function setupTools(taskOps) {
36
36
  })).optional().describe("Inline subtasks - each with title, done status, and optional notes"),
37
37
  due_date: z.string().optional().describe("Due date (ISO 8601 format)"),
38
38
  priority: z.enum(["none", "low", "medium", "high"]).default("none").describe("Task priority"),
39
- tags: z.array(z.string()).optional().describe("Tag names to attach")
39
+ tags: z.array(z.string()).optional().describe("Tag names to attach"),
40
+ start_vibing: z.boolean().default(false).describe(`If true, immediately set task to "vibing" status (you're starting work on it now)`)
40
41
  }),
41
42
  handler: async (args, taskOps2) => {
42
43
  let tagIds = [];
@@ -64,6 +65,10 @@ function setupTools(taskOps) {
64
65
  if (tagIds.length > 0) {
65
66
  await taskOps2.linkTaskTags(task.id, tagIds);
66
67
  }
68
+ let finalTask = task;
69
+ if (args.start_vibing) {
70
+ finalTask = await taskOps2.updateTask(task.id, { status: "vibing" });
71
+ }
67
72
  return {
68
73
  content: [
69
74
  {
@@ -72,14 +77,16 @@ function setupTools(taskOps) {
72
77
  {
73
78
  success: true,
74
79
  task: {
75
- id: task.id,
76
- title: task.title,
77
- description: task.description,
78
- priority: task.priority,
79
- due_date: task.due_date,
80
+ id: finalTask.id,
81
+ title: finalTask.title,
82
+ description: finalTask.description,
83
+ priority: finalTask.priority,
84
+ due_date: finalTask.due_date,
85
+ status: finalTask.status,
80
86
  subtasks: subtasksJson,
81
- created_at: task.created_at
82
- }
87
+ created_at: finalTask.created_at
88
+ },
89
+ message: args.start_vibing ? "Task created and set to vibing status - you're now working on it!" : "Task created successfully"
83
90
  },
84
91
  null,
85
92
  2
@@ -267,14 +274,15 @@ function setupTools(taskOps) {
267
274
  // create_task_with_subtasks
268
275
  {
269
276
  name: "create_task_with_subtasks",
270
- description: "Create a parent task with multiple subtasks in one call. Use this when using TodoWrite - it automatically mirrors your todo list to TaskFlow for persistent tracking.",
277
+ description: "Create a parent task with multiple subtasks in one call. Use this when using TodoWrite - it automatically mirrors your todo list to TaskFlow for persistent tracking. Set start_vibing=true if you're starting work immediately.",
271
278
  inputSchema: z.object({
272
279
  title: z.string().describe("Parent task title (the overall goal)"),
273
280
  subtasks: z.array(z.string()).describe("Array of subtask titles (one for each todo item)"),
274
281
  notes: z.string().optional().describe("Notes for parent task"),
275
282
  due_date: z.string().optional().describe("Due date for parent task (ISO 8601 format)"),
276
283
  priority: z.enum(["none", "low", "medium", "high"]).default("none").describe("Priority for parent task"),
277
- tags: z.array(z.string()).optional().describe("Tag names to attach to parent task")
284
+ tags: z.array(z.string()).optional().describe("Tag names to attach to parent task"),
285
+ start_vibing: z.boolean().default(false).describe(`If true, immediately set parent task to "vibing" status (you're starting work on it now)`)
278
286
  }),
279
287
  handler: async (args, taskOps2) => {
280
288
  let tagIds = [];
@@ -304,6 +312,10 @@ function setupTools(taskOps) {
304
312
  });
305
313
  subtasks.push(subtask);
306
314
  }
315
+ let finalParentTask = parentTask;
316
+ if (args.start_vibing) {
317
+ finalParentTask = await taskOps2.updateTask(parentTask.id, { status: "vibing" });
318
+ }
307
319
  return {
308
320
  content: [
309
321
  {
@@ -312,15 +324,17 @@ function setupTools(taskOps) {
312
324
  {
313
325
  success: true,
314
326
  parent_task: {
315
- id: parentTask.id,
316
- title: parentTask.title,
317
- priority: parentTask.priority,
327
+ id: finalParentTask.id,
328
+ title: finalParentTask.title,
329
+ priority: finalParentTask.priority,
330
+ status: finalParentTask.status,
318
331
  subtask_count: subtasks.length
319
332
  },
320
333
  subtasks: subtasks.map((s) => ({
321
334
  id: s.id,
322
335
  title: s.title
323
- }))
336
+ })),
337
+ message: args.start_vibing ? "Parent task created and set to vibing status - you're now working on it!" : "Parent task and subtasks created successfully"
324
338
  },
325
339
  null,
326
340
  2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vibetasks/mcp-server",
3
- "version": "0.5.5",
3
+ "version": "0.5.6",
4
4
  "description": "VibeTasks MCP Server for Claude Code, Cursor, and AI coding tools. Status-based task management: todo → vibing → done.",
5
5
  "author": "Vyas",
6
6
  "license": "MIT",