Skip to main content
Glama
tiovikram

Linear MCP Server

by tiovikram

create_issue

Create new issues in Linear with title, description, team assignment, priority, and labels to track and manage project tasks.

Instructions

Create a new issue in Linear

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
titleYesIssue title
descriptionNoIssue description (markdown supported)
teamIdYesTeam ID
assigneeIdNoAssignee user ID (optional)
priorityNoPriority (0-4, optional)
labelsNoLabel IDs to apply (optional)

Implementation Reference

  • The handler logic for the 'create_issue' tool. It validates the required title and teamId, calls linearClient.createIssue with the provided arguments, and returns the created issue as JSON text content.
    case "create_issue": {
      const args = request.params.arguments as unknown as CreateIssueArgs;
      if (!args?.title || !args?.teamId) {
        throw new Error("Title and teamId are required");
      }
    
      const issue = await linearClient.createIssue({
        title: args.title,
        description: args.description,
        teamId: args.teamId,
        assigneeId: args.assigneeId,
        priority: args.priority,
        labelIds: args.labels,
      });
    
      return {
        content: [
          {
            type: "text",
            text: JSON.stringify(issue, null, 2),
          },
        ],
      };
    }
  • TypeScript type definition for the arguments accepted by the create_issue tool handler.
    type CreateIssueArgs = {
      title: string;
      description?: string;
      teamId: string;
      assigneeId?: string;
      priority?: number;
      labels?: string[];
    };
  • src/index.ts:61-99 (registration)
    Registration of the 'create_issue' tool in the ListTools response, including name, description, and detailed inputSchema matching the handler args.
    {
      name: "create_issue",
      description: "Create a new issue in Linear",
      inputSchema: {
        type: "object",
        properties: {
          title: {
            type: "string",
            description: "Issue title",
          },
          description: {
            type: "string",
            description: "Issue description (markdown supported)",
          },
          teamId: {
            type: "string",
            description: "Team ID",
          },
          assigneeId: {
            type: "string",
            description: "Assignee user ID (optional)",
          },
          priority: {
            type: "number",
            description: "Priority (0-4, optional)",
            minimum: 0,
            maximum: 4,
          },
          labels: {
            type: "array",
            items: {
              type: "string",
            },
            description: "Label IDs to apply (optional)",
          },
        },
        required: ["title", "teamId"],
      },
    },
  • src/index.ts:47-47 (registration)
    Declaration of 'create_issue' tool capability in the server capabilities.
    create_issue: true,

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

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