@ourroadmaps/mcp 0.28.0 → 0.28.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.
- package/dist/index.js +55 -0
- package/package.json +1 -1
package/dist/index.js
CHANGED
|
@@ -1162,6 +1162,10 @@ class ApiClient {
|
|
|
1162
1162
|
});
|
|
1163
1163
|
return response.data;
|
|
1164
1164
|
}
|
|
1165
|
+
async listPrototypes(roadmapId) {
|
|
1166
|
+
const response = await this.request(`/v1/roadmaps/${roadmapId}/prototypes`);
|
|
1167
|
+
return response.data;
|
|
1168
|
+
}
|
|
1165
1169
|
async uploadFile(uploadUrl, content, contentType) {
|
|
1166
1170
|
const response = await fetch(uploadUrl, {
|
|
1167
1171
|
method: "PUT",
|
|
@@ -1441,6 +1445,7 @@ function registerAllTools(server) {
|
|
|
1441
1445
|
registerUploadDesignWalkthrough(server);
|
|
1442
1446
|
registerUploadReleaseWalkthrough(server);
|
|
1443
1447
|
registerPublishPrototype(server);
|
|
1448
|
+
registerListPrototypes(server);
|
|
1444
1449
|
registerCreateFeedbackSession(server);
|
|
1445
1450
|
registerListFeedbackSessions(server);
|
|
1446
1451
|
registerGetFeedbackSummary(server);
|
|
@@ -3574,6 +3579,8 @@ function registerPublishPrototype(server) {
|
|
|
3574
3579
|
type: "text",
|
|
3575
3580
|
text: `Published ${uploaded} files!
|
|
3576
3581
|
|
|
3582
|
+
Prototype ID: ${prototype.id}
|
|
3583
|
+
|
|
3577
3584
|
Share this link:
|
|
3578
3585
|
${prototype.publicUrl}
|
|
3579
3586
|
|
|
@@ -3583,6 +3590,54 @@ Expires: ${expiryDate}`
|
|
|
3583
3590
|
};
|
|
3584
3591
|
});
|
|
3585
3592
|
}
|
|
3593
|
+
function registerListPrototypes(server) {
|
|
3594
|
+
server.registerTool("list_prototypes", {
|
|
3595
|
+
description: "List published prototypes for a roadmap item. Returns prototype IDs needed for creating feedback sessions.",
|
|
3596
|
+
inputSchema: {
|
|
3597
|
+
roadmapId: z15.string().uuid().describe("The UUID of the roadmap item")
|
|
3598
|
+
}
|
|
3599
|
+
}, async ({ roadmapId }) => {
|
|
3600
|
+
const client2 = getApiClient();
|
|
3601
|
+
const prototypes = await client2.listPrototypes(roadmapId);
|
|
3602
|
+
if (prototypes.length === 0) {
|
|
3603
|
+
return {
|
|
3604
|
+
content: [
|
|
3605
|
+
{
|
|
3606
|
+
type: "text",
|
|
3607
|
+
text: "No prototypes found for this roadmap item."
|
|
3608
|
+
}
|
|
3609
|
+
]
|
|
3610
|
+
};
|
|
3611
|
+
}
|
|
3612
|
+
const lines = prototypes.map((p) => {
|
|
3613
|
+
const expiryDate = new Date(p.expiresAt).toLocaleDateString("en-US", {
|
|
3614
|
+
month: "long",
|
|
3615
|
+
day: "numeric",
|
|
3616
|
+
year: "numeric"
|
|
3617
|
+
});
|
|
3618
|
+
const createdDate = new Date(p.createdAt).toLocaleDateString("en-US", {
|
|
3619
|
+
month: "long",
|
|
3620
|
+
day: "numeric",
|
|
3621
|
+
year: "numeric"
|
|
3622
|
+
});
|
|
3623
|
+
return `ID: ${p.id}
|
|
3624
|
+
URL: ${p.publicUrl}
|
|
3625
|
+
Files: ${p.fileCount} | Created: ${createdDate} | Expires: ${expiryDate}`;
|
|
3626
|
+
});
|
|
3627
|
+
return {
|
|
3628
|
+
content: [
|
|
3629
|
+
{
|
|
3630
|
+
type: "text",
|
|
3631
|
+
text: `Found ${prototypes.length} prototype(s):
|
|
3632
|
+
|
|
3633
|
+
${lines.join(`
|
|
3634
|
+
|
|
3635
|
+
`)}`
|
|
3636
|
+
}
|
|
3637
|
+
]
|
|
3638
|
+
};
|
|
3639
|
+
});
|
|
3640
|
+
}
|
|
3586
3641
|
var dateGranularitySchema2 = z15.enum(["day", "month", "quarter", "half-year", "year"]);
|
|
3587
3642
|
function registerSearchInitiatives(server) {
|
|
3588
3643
|
server.registerTool("search_initiatives", {
|