loopctl-mcp-server 1.6.0 → 1.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.
- package/index.js +28 -0
- package/package.json +1 -1
package/index.js
CHANGED
|
@@ -169,6 +169,16 @@ async function createProject({ name, slug, repo_url, description, tech_stack, mi
|
|
|
169
169
|
return toContent(result);
|
|
170
170
|
}
|
|
171
171
|
|
|
172
|
+
async function deleteProject({ project_id }) {
|
|
173
|
+
const result = await apiCall(
|
|
174
|
+
"DELETE",
|
|
175
|
+
`/api/v1/projects/${project_id}`,
|
|
176
|
+
null,
|
|
177
|
+
process.env.LOOPCTL_USER_KEY
|
|
178
|
+
);
|
|
179
|
+
return toContent(result);
|
|
180
|
+
}
|
|
181
|
+
|
|
172
182
|
async function getProgress({ project_id, include_cost }) {
|
|
173
183
|
const params = new URLSearchParams();
|
|
174
184
|
if (include_cost) params.set("include_cost", "true");
|
|
@@ -647,6 +657,21 @@ const TOOLS = [
|
|
|
647
657
|
required: ["name", "slug"],
|
|
648
658
|
},
|
|
649
659
|
},
|
|
660
|
+
{
|
|
661
|
+
name: "delete_project",
|
|
662
|
+
description:
|
|
663
|
+
"Delete a project and all of its dependent resources (epics, stories, audit entries scoped to it). REQUIRES LOOPCTL_USER_KEY to be set in the MCP server env (user role — orchestrator role is NOT sufficient for this destructive operation). The deletion is irreversible.",
|
|
664
|
+
inputSchema: {
|
|
665
|
+
type: "object",
|
|
666
|
+
properties: {
|
|
667
|
+
project_id: {
|
|
668
|
+
type: "string",
|
|
669
|
+
description: "The UUID of the project to delete.",
|
|
670
|
+
},
|
|
671
|
+
},
|
|
672
|
+
required: ["project_id"],
|
|
673
|
+
},
|
|
674
|
+
},
|
|
650
675
|
{
|
|
651
676
|
name: "get_progress",
|
|
652
677
|
description: "Get progress summary for a project, including story counts by status. Pass include_cost=true to include cost data when available.",
|
|
@@ -1636,6 +1661,9 @@ server.setRequestHandler(CallToolRequestSchema, async (request) => {
|
|
|
1636
1661
|
case "create_project":
|
|
1637
1662
|
return await createProject(args);
|
|
1638
1663
|
|
|
1664
|
+
case "delete_project":
|
|
1665
|
+
return await deleteProject(args);
|
|
1666
|
+
|
|
1639
1667
|
case "get_progress":
|
|
1640
1668
|
return await getProgress(args);
|
|
1641
1669
|
|