Skip to main content
Glama

Plane MCP Server

Official
by makeplane

transfer_cycle_issues

Move issues from one project cycle to another within Plane MCP Server, ensuring continuity and organization by specifying project and cycle identifiers.

Instructions

Transfer issues from one cycle to another

Input Schema

NameRequiredDescriptionDefault
cycle_idYesThe uuid identifier of the source cycle
new_cycle_idYesThe uuid identifier of the target cycle
project_idYesThe uuid identifier of the project containing the cycle

Input Schema (JSON Schema)

{ "$schema": "http://json-schema.org/draft-07/schema#", "additionalProperties": false, "properties": { "cycle_id": { "description": "The uuid identifier of the source cycle", "type": "string" }, "new_cycle_id": { "description": "The uuid identifier of the target cycle", "type": "string" }, "project_id": { "description": "The uuid identifier of the project containing the cycle", "type": "string" } }, "required": [ "project_id", "cycle_id", "new_cycle_id" ], "type": "object" }

Implementation Reference

  • Handler function that executes the transfer_cycle_issues tool by making a POST request to the Plane API endpoint for transferring issues between cycles.
    async ({ project_id, cycle_id, new_cycle_id }) => { const response = await makePlaneRequest( "POST", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/cycles/${cycle_id}/transfer-issues/`, { new_cycle_id } ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; }
  • Input schema definition for the transfer_cycle_issues tool using Zod, specifying project_id, cycle_id, and new_cycle_id parameters.
    { project_id: z.string().describe("The uuid identifier of the project containing the cycle"), cycle_id: z.string().describe("The uuid identifier of the source cycle"), new_cycle_id: z.string().describe("The uuid identifier of the target cycle"), },
  • Registration of the transfer_cycle_issues tool via server.tool(), including name, description, schema, and handler.
    server.tool( "transfer_cycle_issues", "Transfer issues from one cycle to another", { project_id: z.string().describe("The uuid identifier of the project containing the cycle"), cycle_id: z.string().describe("The uuid identifier of the source cycle"), new_cycle_id: z.string().describe("The uuid identifier of the target cycle"), }, async ({ project_id, cycle_id, new_cycle_id }) => { const response = await makePlaneRequest( "POST", `workspaces/${process.env.PLANE_WORKSPACE_SLUG}/projects/${project_id}/cycles/${cycle_id}/transfer-issues/`, { new_cycle_id } ); return { content: [ { type: "text", text: JSON.stringify(response, null, 2), }, ], }; } );
  • Top-level tool registration where registerCycleTools is called, which includes the transfer_cycle_issues tool.
    export const registerTools = (server: McpServer) => { registerMetadataTools(server); registerUserTools(server); registerProjectTools(server); registerModuleTools(server); registerModuleIssueTools(server); registerIssueTools(server); registerCycleTools(server); registerCycleIssueTools(server); registerWorkLogTools(server); };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/makeplane/plane-mcp-server'

If you have feedback or need assistance with the MCP directory API, please join our Discord server