Skip to main content
Glama

linear_createProject

Create and manage new projects in Linear, including setting names, descriptions, content, team associations, and initial states. Simplifies project setup for efficient task organization and collaboration.

Instructions

Create a new project in Linear

Input Schema

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

Implementation Reference

  • The main handler function for the 'linear_createProject' tool. It validates the input arguments using the isCreateProjectArgs type guard and calls the LinearService.createProject method to perform the actual creation.
    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; } }; }
  • The schema definition for the 'linear_createProject' tool, specifying input parameters (name, description, content, teamIds, state) and output format (id, name, url).
    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 in the handlers registry, mapping it to the handleCreateProject function.
    linear_createProject: handleCreateProject(linearService),
  • Type guard function used to validate input arguments for the 'linear_createProject' tool, ensuring required fields like name and teamIds are present and correctly typed.
    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