Skip to main content
Glama

linear_getActiveCycle

Retrieve the currently active work cycle for a Linear team to track ongoing project timelines and sprints.

Instructions

Get the currently active cycle for a team

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
teamIdYesID of the team to get the active cycle for

Implementation Reference

  • Handler function that implements the core logic for the linear_getActiveCycle tool: validates input using type guard, calls LinearService.getActiveCycle(teamId), handles errors.
    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;
        }
      };
    }
  • MCPToolDefinition for linear_getActiveCycle, specifying input_schema (requires teamId) and detailed output_schema for cycle object.
    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' },
        },
      },
    };
  • Registration of the linear_getActiveCycle handler within the registerToolHandlers function's returned object.
    linear_getCycles: handleGetCycles(linearService),
    linear_getActiveCycle: handleGetActiveCycle(linearService),
    linear_addIssueToCycle: handleAddIssueToCycle(linearService),
  • Type guard function isGetActiveCycleArgs used by the handler for input validation, ensuring teamId is a string.
    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'
      );
    }

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/tacticlaunch/mcp-linear'

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