list_cycles
Retrieve all cycles for a specific project by providing the project's UUID identifier. Facilitates project management through Plane MCP Server's standardized API.
Instructions
Get all cycles for a specific project
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| project_id | Yes | The uuid identifier of the project to get cycles for |
Input Schema (JSON Schema)
{
"$schema": "http://json-schema.org/draft-07/schema#",
"additionalProperties": false,
"properties": {
"project_id": {
"description": "The uuid identifier of the project to get cycles for",
"type": "string"
}
},
"required": [
"project_id"
],
"type": "object"
}
Implementation Reference
- src/tools/cycles.ts:14-28 (handler)The handler function for the 'list_cycles' tool. It accepts a project_id parameter, performs a GET request to the Plane API endpoint for cycles in the specified project, and returns the response as formatted JSON text content in the MCP protocol format.async ({ project_id }) => { const response = await makePlaneRequest( "GET", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/cycles/` ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } );
- src/tools/cycles.ts:11-13 (schema)Zod input schema defining the required 'project_id' parameter as a string for the list_cycles tool.{ project_id: z.string().describe("The uuid identifier of the project to get cycles for"), },
- src/tools/cycles.ts:8-28 (registration)Registration of the 'list_cycles' tool via server.tool() call within the registerCycleTools function, specifying name, description, input schema, and handler implementation.server.tool( "list_cycles", "Get all cycles for a specific project", { project_id: z.string().describe("The uuid identifier of the project to get cycles for"), }, async ({ project_id }) => { const response = await makePlaneRequest( "GET", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/cycles/` ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } );