@damper/mcp 0.1.12 → 0.1.13
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/README.md +14 -1
- package/dist/index.js +4 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -71,7 +71,7 @@ The AI will see tools from both servers and can distinguish between them:
|
|
|
71
71
|
|
|
72
72
|
| Tool | Description |
|
|
73
73
|
|------|-------------|
|
|
74
|
-
| `list_tasks` | Get roadmap tasks (filter by `status`, `type`, `quarter`) |
|
|
74
|
+
| `list_tasks` | Get roadmap tasks (filter by `status`, `type`, `quarter`, sort by `importance`/`newest`/`votes`) |
|
|
75
75
|
| `get_task` | Task details + subtasks + linked feedback |
|
|
76
76
|
| `create_task` | Create task with type (bug, feature, improvement, task) |
|
|
77
77
|
| `update_task` | Update description, plan, priority, effort, quarter, labels |
|
|
@@ -96,6 +96,19 @@ Filter tasks by type to prioritize work:
|
|
|
96
96
|
|
|
97
97
|
Types: `bug` 🐛, `feature` ✨, `improvement` 💡, `task` 📌
|
|
98
98
|
|
|
99
|
+
### Sorting
|
|
100
|
+
|
|
101
|
+
Tasks are sorted by **weighted importance** by default (priority weight + vote score), so high-priority items surface first even without votes. Override with `sort`:
|
|
102
|
+
|
|
103
|
+
- `importance` (default) - priority weight (high=100, medium=50, low=10) + votes
|
|
104
|
+
- `newest` - most recently created first
|
|
105
|
+
- `votes` - highest vote score first
|
|
106
|
+
|
|
107
|
+
```
|
|
108
|
+
> List tasks sorted by newest
|
|
109
|
+
> Show me the most voted features
|
|
110
|
+
```
|
|
111
|
+
|
|
99
112
|
### Task Metadata
|
|
100
113
|
|
|
101
114
|
Tasks include project management fields visible in `list_tasks` and `get_task`:
|
package/dist/index.js
CHANGED
|
@@ -109,6 +109,7 @@ server.registerTool('list_tasks', {
|
|
|
109
109
|
status: z.enum(['planned', 'in_progress', 'done', 'all']).optional(),
|
|
110
110
|
type: z.enum(['bug', 'feature', 'improvement', 'task']).optional().describe('Filter by task type'),
|
|
111
111
|
quarter: z.string().optional().describe('Filter by quarter (e.g., "Q1 2025") or "none" for unscheduled'),
|
|
112
|
+
sort: z.enum(['importance', 'newest', 'votes']).optional().describe('Sort order: importance (priority+votes, default), newest, or votes'),
|
|
112
113
|
limit: z.number().optional(),
|
|
113
114
|
}),
|
|
114
115
|
outputSchema: z.object({
|
|
@@ -121,7 +122,7 @@ server.registerTool('list_tasks', {
|
|
|
121
122
|
idempotentHint: true,
|
|
122
123
|
openWorldHint: false,
|
|
123
124
|
},
|
|
124
|
-
}, async ({ status, type, quarter, limit }) => {
|
|
125
|
+
}, async ({ status, type, quarter, sort, limit }) => {
|
|
125
126
|
const params = new URLSearchParams();
|
|
126
127
|
if (status)
|
|
127
128
|
params.set('status', status);
|
|
@@ -129,6 +130,8 @@ server.registerTool('list_tasks', {
|
|
|
129
130
|
params.set('type', type);
|
|
130
131
|
if (quarter)
|
|
131
132
|
params.set('quarter', quarter);
|
|
133
|
+
if (sort)
|
|
134
|
+
params.set('sort', sort);
|
|
132
135
|
if (limit)
|
|
133
136
|
params.set('limit', String(limit));
|
|
134
137
|
const query = params.toString();
|