Skip to main content
Glama
wkoutre

Linear MCP Server

by wkoutre

linear_getActiveCycle

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

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

  • The handler function for linear_getActiveCycle tool. Validates input using isGetActiveCycleArgs type guard and calls linearService.getActiveCycle with the 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;
        }
      };
    }
  • The MCPToolDefinition for linear_getActiveCycle, including input_schema (requires teamId) and detailed output_schema.
    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 tool handler in the registerToolHandlers function, mapping to handleGetActiveCycle.
    linear_getActiveCycle: handleGetActiveCycle(linearService),
  • Type guard function isGetActiveCycleArgs used in the handler for input validation, ensuring args has a string teamId.
     * 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"
      );
    }

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

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