Skip to main content
Glama

linear_addIssueLabel

Add a label to a Linear issue using its ID and label ID to organize and categorize project tasks.

Instructions

Add a label to an issue in Linear

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
issueIdYesID or identifier of the issue to add the label to (e.g., ABC-123)
labelIdYesID of the label to add to the issue

Implementation Reference

  • The handler function that implements the core logic of the linear_addIssueLabel tool. It validates the input arguments using the type guard and delegates to the LinearService to add the label to the issue.
    /** * Handler for adding a label to an issue */ export function handleAddIssueLabel(linearService: LinearService) { return async (args: unknown) => { try { if (!isAddIssueLabelArgs(args)) { throw new Error("Invalid arguments for addIssueLabel"); } return await linearService.addIssueLabel(args.issueId, args.labelId); } catch (error) { logError("Error adding label to issue", error); throw error; } }; }
  • The schema definition (MCPToolDefinition) for the linear_addIssueLabel tool, specifying input parameters (issueId, labelId) and output structure.
    /** * Tool definition for adding a label to an issue */ export const addIssueLabelToolDefinition: MCPToolDefinition = { name: "linear_addIssueLabel", description: "Add a label to an issue in Linear", input_schema: { type: "object", properties: { issueId: { type: "string", description: "ID or identifier of the issue to add the label to (e.g., ABC-123)", }, labelId: { type: "string", description: "ID of the label to add to the issue", }, }, required: ["issueId", "labelId"], }, output_schema: { type: "object", properties: { success: { type: "boolean" }, issueId: { type: "string" }, labelId: { type: "string" } } } };
  • The registration of the linear_addIssueLabel handler within the registerToolHandlers function, which maps tool names to their handler functions for the MCP server.
    export function registerToolHandlers(linearService: LinearService) { return { // User tools linear_getViewer: handleGetViewer(linearService), linear_getOrganization: handleGetOrganization(linearService), linear_getUsers: handleGetUsers(linearService), linear_getLabels: handleGetLabels(linearService), // Team tools linear_getTeams: handleGetTeams(linearService), linear_getWorkflowStates: handleGetWorkflowStates(linearService), // Project tools linear_getProjects: handleGetProjects(linearService), linear_createProject: handleCreateProject(linearService), // Project Management tools linear_updateProject: handleUpdateProject(linearService), linear_addIssueToProject: handleAddIssueToProject(linearService), linear_getProjectIssues: handleGetProjectIssues(linearService), // Cycle Management tools linear_getCycles: handleGetCycles(linearService), linear_getActiveCycle: handleGetActiveCycle(linearService), linear_addIssueToCycle: handleAddIssueToCycle(linearService), // Issue tools linear_getIssues: handleGetIssues(linearService), linear_getIssueById: handleGetIssueById(linearService), linear_searchIssues: handleSearchIssues(linearService), linear_createIssue: handleCreateIssue(linearService), linear_updateIssue: handleUpdateIssue(linearService), linear_createComment: handleCreateComment(linearService), linear_addIssueLabel: handleAddIssueLabel(linearService), linear_removeIssueLabel: handleRemoveIssueLabel(linearService), // New Issue Management tools linear_assignIssue: handleAssignIssue(linearService), linear_subscribeToIssue: handleSubscribeToIssue(linearService), linear_convertIssueToSubtask: handleConvertIssueToSubtask(linearService), linear_createIssueRelation: handleCreateIssueRelation(linearService), linear_archiveIssue: handleArchiveIssue(linearService), linear_setIssuePriority: handleSetIssuePriority(linearService), linear_transferIssue: handleTransferIssue(linearService), linear_duplicateIssue: handleDuplicateIssue(linearService), linear_getIssueHistory: handleGetIssueHistory(linearService), // Comment Management tools linear_getComments: handleGetComments(linearService) }; }
  • Type guard function used in the handler to validate the input arguments for the linear_addIssueLabel tool.
    * Type guard for linear_addIssueLabel tool arguments */ export function isAddIssueLabelArgs(args: unknown): args is { issueId: string; labelId: string; } { return ( typeof args === "object" && args !== null && "issueId" in args && typeof (args as { issueId: string }).issueId === "string" && "labelId" in args && typeof (args as { labelId: string }).labelId === "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