@vibetasks/mcp-server 0.6.0 → 0.6.1

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 +19 -40
  2. package/package.json +58 -58
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. If you plan to work on it immediately, set start_vibing=true.",
27
+ description: "Create a new task in VibeTasks. Use this instead of TodoWrite - tasks persist across sessions and sync everywhere.",
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,8 +36,7 @@ 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"),
40
- start_vibing: z.boolean().default(false).describe(`If true, immediately set task to "vibing" status (you're starting work on it now)`)
39
+ tags: z.array(z.string()).optional().describe("Tag names to attach")
41
40
  }),
42
41
  handler: async (args, taskOps2) => {
43
42
  let tagIds = [];
@@ -65,10 +64,6 @@ function setupTools(taskOps) {
65
64
  if (tagIds.length > 0) {
66
65
  await taskOps2.linkTaskTags(task.id, tagIds);
67
66
  }
68
- let finalTask = task;
69
- if (args.start_vibing) {
70
- finalTask = await taskOps2.updateTask(task.id, { status: "vibing" });
71
- }
72
67
  return {
73
68
  content: [
74
69
  {
@@ -77,16 +72,14 @@ function setupTools(taskOps) {
77
72
  {
78
73
  success: true,
79
74
  task: {
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,
75
+ id: task.id,
76
+ title: task.title,
77
+ description: task.description,
78
+ priority: task.priority,
79
+ due_date: task.due_date,
86
80
  subtasks: subtasksJson,
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"
81
+ created_at: task.created_at
82
+ }
90
83
  },
91
84
  null,
92
85
  2
@@ -274,15 +267,14 @@ function setupTools(taskOps) {
274
267
  // create_task_with_subtasks
275
268
  {
276
269
  name: "create_task_with_subtasks",
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.",
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.",
278
271
  inputSchema: z.object({
279
272
  title: z.string().describe("Parent task title (the overall goal)"),
280
273
  subtasks: z.array(z.string()).describe("Array of subtask titles (one for each todo item)"),
281
274
  notes: z.string().optional().describe("Notes for parent task"),
282
275
  due_date: z.string().optional().describe("Due date for parent task (ISO 8601 format)"),
283
276
  priority: z.enum(["none", "low", "medium", "high"]).default("none").describe("Priority for 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)`)
277
+ tags: z.array(z.string()).optional().describe("Tag names to attach to parent task")
286
278
  }),
287
279
  handler: async (args, taskOps2) => {
288
280
  let tagIds = [];
@@ -312,10 +304,6 @@ function setupTools(taskOps) {
312
304
  });
313
305
  subtasks.push(subtask);
314
306
  }
315
- let finalParentTask = parentTask;
316
- if (args.start_vibing) {
317
- finalParentTask = await taskOps2.updateTask(parentTask.id, { status: "vibing" });
318
- }
319
307
  return {
320
308
  content: [
321
309
  {
@@ -324,17 +312,15 @@ function setupTools(taskOps) {
324
312
  {
325
313
  success: true,
326
314
  parent_task: {
327
- id: finalParentTask.id,
328
- title: finalParentTask.title,
329
- priority: finalParentTask.priority,
330
- status: finalParentTask.status,
315
+ id: parentTask.id,
316
+ title: parentTask.title,
317
+ priority: parentTask.priority,
331
318
  subtask_count: subtasks.length
332
319
  },
333
320
  subtasks: subtasks.map((s) => ({
334
321
  id: s.id,
335
322
  title: s.title
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"
323
+ }))
338
324
  },
339
325
  null,
340
326
  2
@@ -790,7 +776,7 @@ Generated by TaskFlow MCP Server`;
790
776
  // update_subtask
791
777
  {
792
778
  name: "update_subtask",
793
- description: "\u26A1 CRITICAL: Mark subtasks done IMMEDIATELY after completing each one. This tool updates a subtask - use it to mark done=true RIGHT AFTER you finish each step (not all at once!). Also for adding progress notes or updating titles.",
779
+ description: "Update a subtask within a task. Mark it done, add progress notes, or update the title. Use this to track progress on individual steps.",
794
780
  inputSchema: z.object({
795
781
  task_id: z.string().describe("Parent task ID"),
796
782
  subtask_id: z.string().describe("Subtask ID to update"),
@@ -816,12 +802,6 @@ Generated by TaskFlow MCP Server`;
816
802
  if (args.title !== void 0) subtasks[subtaskIndex].title = args.title;
817
803
  if (args.notes !== void 0) subtasks[subtaskIndex].notes = args.notes;
818
804
  const updated = await taskOps2.updateTask(args.task_id, { subtasks_json: subtasks });
819
- const doneCount = subtasks.filter((s) => s.done).length;
820
- const totalCount = subtasks.length;
821
- const percentage = Math.round(doneCount / totalCount * 100);
822
- const barLength = 20;
823
- const filled = Math.round(doneCount / totalCount * barLength);
824
- const progressBar = "\u2588".repeat(filled) + "\u2591".repeat(barLength - filled);
825
805
  return {
826
806
  content: [
827
807
  {
@@ -830,10 +810,9 @@ Generated by TaskFlow MCP Server`;
830
810
  {
831
811
  success: true,
832
812
  task_id: args.task_id,
833
- subtask_updated: subtasks[subtaskIndex],
834
- progress: `${doneCount}/${totalCount} subtasks completed (${percentage}%)`,
835
- progress_bar: `[${progressBar}] ${percentage}%`,
836
- message: args.done ? `\u2713 Subtask marked done! ${doneCount}/${totalCount} complete.${doneCount === totalCount ? " \u{1F389} All subtasks complete!" : ""}` : `Subtask updated. ${doneCount}/${totalCount} complete.`
813
+ subtask: subtasks[subtaskIndex],
814
+ all_subtasks: subtasks,
815
+ progress: `${subtasks.filter((s) => s.done).length}/${subtasks.length} done`
837
816
  },
838
817
  null,
839
818
  2
package/package.json CHANGED
@@ -1,58 +1,58 @@
1
- {
2
- "name": "@vibetasks/mcp-server",
3
- "version": "0.6.0",
4
- "description": "VibeTasks MCP Server for Claude Code, Cursor, and AI coding tools. Status-based task management: todo → vibing → done.",
5
- "author": "Vyas",
6
- "license": "MIT",
7
- "type": "module",
8
- "main": "./dist/index.js",
9
- "bin": {
10
- "vibetasks-mcp": "./dist/index.js"
11
- },
12
- "files": [
13
- "dist"
14
- ],
15
- "keywords": [
16
- "vibetasks",
17
- "vibe",
18
- "vibecoding",
19
- "mcp",
20
- "mcp-server",
21
- "model-context-protocol",
22
- "claude-code",
23
- "cursor",
24
- "ai-tools",
25
- "task-management",
26
- "productivity"
27
- ],
28
- "repository": {
29
- "type": "git",
30
- "url": "https://github.com/vyassathya/vibetasks.git",
31
- "directory": "apps/mcp-server"
32
- },
33
- "homepage": "https://vibetasks.dev",
34
- "bugs": {
35
- "url": "https://github.com/vyassathya/vibetasks/issues"
36
- },
37
- "scripts": {
38
- "dev": "tsx src/index.ts",
39
- "build": "tsup src/index.ts --format esm --clean --outDir dist --shims",
40
- "start": "node dist/index.js",
41
- "typecheck": "tsc --noEmit"
42
- },
43
- "publishConfig": {
44
- "access": "public"
45
- },
46
- "dependencies": {
47
- "@modelcontextprotocol/sdk": "^0.5.0",
48
- "@vibetasks/core": "^0.5.4",
49
- "@vibetasks/shared": "*",
50
- "zod": "^3.22.0"
51
- },
52
- "devDependencies": {
53
- "@types/node": "^20.0.0",
54
- "tsx": "^4.7.0",
55
- "tsup": "^8.0.0",
56
- "typescript": "^5.3.3"
57
- }
58
- }
1
+ {
2
+ "name": "@vibetasks/mcp-server",
3
+ "version": "0.6.1",
4
+ "description": "VibeTasks MCP Server for Claude Code, Cursor, and AI coding tools. Status-based task management: todo → vibing → done.",
5
+ "author": "Vyas",
6
+ "license": "MIT",
7
+ "type": "module",
8
+ "main": "./dist/index.js",
9
+ "bin": {
10
+ "vibetasks-mcp": "./dist/index.js"
11
+ },
12
+ "files": [
13
+ "dist"
14
+ ],
15
+ "keywords": [
16
+ "vibetasks",
17
+ "vibe",
18
+ "vibecoding",
19
+ "mcp",
20
+ "mcp-server",
21
+ "model-context-protocol",
22
+ "claude-code",
23
+ "cursor",
24
+ "ai-tools",
25
+ "task-management",
26
+ "productivity"
27
+ ],
28
+ "repository": {
29
+ "type": "git",
30
+ "url": "https://github.com/vyassathya/vibetasks.git",
31
+ "directory": "apps/mcp-server"
32
+ },
33
+ "homepage": "https://vibetasks.dev",
34
+ "bugs": {
35
+ "url": "https://github.com/vyassathya/vibetasks/issues"
36
+ },
37
+ "scripts": {
38
+ "dev": "tsx src/index.ts",
39
+ "build": "tsup src/index.ts --format esm --clean --outDir dist --shims",
40
+ "start": "node dist/index.js",
41
+ "typecheck": "tsc --noEmit"
42
+ },
43
+ "publishConfig": {
44
+ "access": "public"
45
+ },
46
+ "dependencies": {
47
+ "@modelcontextprotocol/sdk": "^0.5.0",
48
+ "@vibetasks/core": "^0.5.4",
49
+ "@vibetasks/shared": "^1.4.1",
50
+ "zod": "^3.22.0"
51
+ },
52
+ "devDependencies": {
53
+ "@types/node": "^20.0.0",
54
+ "tsx": "^4.7.0",
55
+ "tsup": "^8.0.0",
56
+ "typescript": "^5.3.3"
57
+ }
58
+ }