linear_getActiveCycle
Retrieve the currently active cycle for a specific team in Linear, enabling users to track ongoing project timelines and manage team workflows efficiently.
Instructions
Get the currently active cycle for a team
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| teamId | Yes | ID of the team to get the active cycle for |
Implementation Reference
- The main handler function for the linear_getActiveCycle tool. Validates input arguments using isGetActiveCycleArgs type guard and delegates to linearService.getActiveCycle(teamId).export function handleGetActiveCycle(linearService: LinearService) { return async (args: unknown) => { try { if (!isGetActiveCycleArgs(args)) { throw new Error('Invalid arguments for getActiveCycle'); } return await linearService.getActiveCycle(args.teamId); } catch (error) { logError('Error getting active cycle', error); throw error; } }; }
- MCP tool definition including input_schema (requires teamId) and output_schema for the linear_getActiveCycle tool.export const getActiveCycleToolDefinition: MCPToolDefinition = { name: 'linear_getActiveCycle', description: 'Get the currently active cycle for a team', input_schema: { type: 'object', properties: { teamId: { type: 'string', description: 'ID of the team to get the active cycle for', }, }, required: ['teamId'], }, output_schema: { type: 'object', properties: { id: { type: 'string' }, number: { type: 'number' }, name: { type: 'string' }, description: { type: 'string' }, startsAt: { type: 'string' }, endsAt: { type: 'string' }, team: { type: 'object', properties: { id: { type: 'string' }, name: { type: 'string' }, key: { type: 'string' }, }, }, progress: { type: 'number' }, issueCount: { type: 'number' }, completedIssueCount: { type: 'number' }, }, }, };
- src/tools/handlers/index.ts:85-89 (registration)Registration of the linear_getActiveCycle handler (imported from cycle-handlers.ts) in the registerToolHandlers function's return object.// Cycle Management tools linear_getCycles: handleGetCycles(linearService), linear_getActiveCycle: handleGetActiveCycle(linearService), linear_addIssueToCycle: handleAddIssueToCycle(linearService),
- src/tools/type-guards.ts:664-675 (helper)Type guard function isGetActiveCycleArgs that validates the tool's input arguments (requires teamId string).* Type guard for linear_getActiveCycle tool arguments */ export function isGetActiveCycleArgs(args: unknown): args is { teamId: string; } { return ( typeof args === 'object' && args !== null && 'teamId' in args && typeof (args as { teamId: string }).teamId === 'string' ); }