@damper/mcp 0.7.1 → 0.8.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 +16 -6
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -60,6 +60,7 @@ const TaskSummarySchema = z.object({
60
60
  dueDate: z.string().nullable().optional(),
61
61
  feedbackCount: z.number(),
62
62
  hasImplementationPlan: z.boolean(),
63
+ publicUrl: z.string().nullable().optional(),
63
64
  subtaskProgress: SubtaskProgressSchema.optional(),
64
65
  });
65
66
  const SubtaskSchema = z.object({
@@ -87,6 +88,7 @@ const TaskDetailSchema = z.object({
87
88
  subtasks: z.array(SubtaskSchema).optional(),
88
89
  agentNotes: z.string().nullable().optional(),
89
90
  commits: z.array(CommitSchema).optional(),
91
+ publicUrl: z.string().nullable().optional(),
90
92
  feedback: z.array(z.object({
91
93
  id: z.string(),
92
94
  title: z.string(),
@@ -242,6 +244,12 @@ server.registerTool('get_task', {
242
244
  parts.push(`\n## Feedback (${t.feedback.length})`);
243
245
  t.feedback.forEach((f) => parts.push(`- ${f.title} (${f.voterCount} votes)`));
244
246
  }
247
+ if (t.publicUrl) {
248
+ parts.push(`\nšŸ”— Public URL: ${t.publicUrl}`);
249
+ }
250
+ else if (t.publicUrlNote) {
251
+ parts.push(`\nšŸ”— ${t.publicUrlNote}`);
252
+ }
245
253
  // Add workflow reminder for tasks not yet started
246
254
  if (t.status === 'planned') {
247
255
  parts.push('\n---');
@@ -262,8 +270,8 @@ server.registerTool('update_task', {
262
270
  inputSchema: z.object({
263
271
  taskId: z.string().describe('Task ID'),
264
272
  title: z.string().optional().describe('Task title'),
265
- description: z.string().optional().describe('Task description'),
266
- implementationPlan: z.string().optional().describe('Implementation plan (markdown)'),
273
+ description: z.string().optional().describe('Task description (shown on public roadmap)'),
274
+ implementationPlan: z.string().optional().describe('Implementation plan (markdown, internal only - never shown publicly)'),
267
275
  priority: z.enum(['high', 'medium', 'low']).nullable().optional().describe('Task priority'),
268
276
  effort: z.enum(['xs', 's', 'm', 'l', 'xl']).nullable().optional().describe('Estimated effort'),
269
277
  quarter: z.string().nullable().optional().describe('Target quarter (e.g., "Q1 2025", "Q2 2025")'),
@@ -345,11 +353,11 @@ server.registerTool('create_task', {
345
353
  inputSchema: z.object({
346
354
  title: z.string().describe('Task title. Use verb prefix matching the type: ' +
347
355
  'bug → "Fix …", feature → "Add …", improvement → "Improve …", task → "Set up …" / "Update …"'),
348
- description: z.string().optional(),
356
+ description: z.string().optional().describe('Task description (shown on public roadmap)'),
349
357
  type: z.enum(['bug', 'feature', 'improvement', 'task']).optional().describe('Task type (default: feature)'),
350
358
  status: z.enum(['planned', 'in_progress', 'done']).optional(),
351
359
  priority: z.enum(['high', 'medium', 'low']).optional().describe('Task priority'),
352
- implementationPlan: z.string().optional(),
360
+ implementationPlan: z.string().optional().describe('Implementation plan (markdown, internal only - never shown publicly)'),
353
361
  isPublic: z.boolean().optional().describe('Whether task is visible on public roadmap (default: true)'),
354
362
  }),
355
363
  outputSchema: z.object({
@@ -773,8 +781,10 @@ This project uses Damper MCP for task tracking. **You MUST follow this workflow.
773
781
  - \`update_project_settings\` - Configure completion checklist and other agent-relevant settings
774
782
 
775
783
  ### At Session End (MANDATORY)
776
- - **Ask the user for confirmation before committing or completing a task** - Never autonomously commit code or call \`complete_task\`
777
- - Once user confirms, call \`complete_task\` (if done) or \`abandon_task\` (if stopping early)
784
+ - **Do NOT commit or complete tasks without explicit user confirmation**
785
+ - If a task is still in progress, **ask the user** whether to:
786
+ 1. **Complete the task now** - The active agent (you) should finish the completion flow: push commits, verify the completion checklist, and call \`complete_task\`. You have the full context, so you're best positioned to do this correctly.
787
+ 2. **Abandon and hand off** - Call \`abandon_task\` with a detailed handoff summary for the next agent.
778
788
  - NEVER leave a started task without completing or abandoning it
779
789
  - If the project has a **completion checklist** (shown in \`start_task\` response), you MUST pass all items as \`confirmations\` when calling \`complete_task\`
780
790
  - If you learned something about the codebase, consider updating project context
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@damper/mcp",
3
- "version": "0.7.1",
3
+ "version": "0.8.1",
4
4
  "description": "MCP server for Damper task management",
5
5
  "author": "Damper <hello@usedamper.com>",
6
6
  "repository": {