Skip to main content
Glama

linear_createProject

Create a new project in Linear with name, description, content, team assignments, and initial state to organize and track work.

Instructions

Create a new project in Linear

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the project
descriptionNoShort summary of the project
contentNoContent of the project (Markdown supported)
teamIdsYesIDs of the teams this project belongs to
stateNoInitial state of the project (e.g., 'planned', 'started', 'paused', 'completed', 'canceled')

Implementation Reference

  • The main handler function for the linear_createProject tool. It validates the input arguments using a type guard and delegates to LinearService.createProject.
    /** * Handler for creating a project */ export function handleCreateProject(linearService: LinearService) { return async (args: unknown) => { try { if (!isCreateProjectArgs(args)) { throw new Error('Invalid arguments for createProject'); } return await linearService.createProject(args); } catch (error) { logError('Error creating project', error); throw error; } };
  • MCP tool definition for linear_createProject, including detailed input and output schemas.
    export const createProjectToolDefinition: MCPToolDefinition = { name: 'linear_createProject', description: 'Create a new project in Linear', input_schema: { type: 'object', properties: { name: { type: 'string', description: 'Name of the project', }, description: { type: 'string', description: 'Short summary of the project', }, content: { type: 'string', description: 'Content of the project (Markdown supported)', }, teamIds: { type: 'array', items: { type: 'string' }, description: 'IDs of the teams this project belongs to', }, state: { type: 'string', description: "Initial state of the project (e.g., 'planned', 'started', 'paused', 'completed', 'canceled')", }, }, required: ['name', 'teamIds'], }, output_schema: { type: 'object', properties: { id: { type: 'string' }, name: { type: 'string' }, url: { type: 'string' }, }, }, };
  • Registration of the linear_createProject tool handler within the registerToolHandlers function.
    linear_getProjects: handleGetProjects(linearService), linear_createProject: handleCreateProject(linearService),
  • Type guard function used by the handler to validate input arguments for linear_createProject.
    * Type guard for linear_createProject tool arguments */ export function isCreateProjectArgs(args: unknown): args is { name: string; description?: string; content?: string; teamIds: string[]; state?: string; } { return ( typeof args === 'object' && args !== null && 'name' in args && typeof (args as { name: string }).name === 'string' && 'teamIds' in args && Array.isArray((args as { teamIds: string[] }).teamIds) ); }

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