Skip to main content
Glama

linear_createInitiative

Create a new initiative in Linear to organize and track strategic projects with details like name, description, owner, target date, and status.

Instructions

Create a new initiative

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
nameYesName of the initiative
descriptionNoDescription of the initiative
contentNoContent in markdown format
ownerIdNoID of the user who owns the initiative
targetDateNoTarget completion date (ISO 8601 format)
statusNoStatus of the initiative
iconNoIcon emoji for the initiative
colorNoColor of the initiative in hex format

Implementation Reference

  • Core handler function for the 'linear_createInitiative' tool. Validates input with type guard and calls LinearService.createInitiative to perform the creation.
    export function createInitiativeHandler(linearService: LinearService) { return async (args: unknown) => { if (!isCreateInitiativeInput(args)) { throw new Error('Invalid input for createInitiative'); } console.log('[createInitiative] Creating new initiative:', args.name); const result = await linearService.createInitiative(args); console.log(`[createInitiative] Initiative created successfully`); return result; }; }
  • Tool definition including input and output schemas for 'linear_createInitiative'.
    { name: 'linear_createInitiative', description: 'Create a new initiative', input_schema: { type: 'object', properties: { name: { type: 'string', description: 'Name of the initiative', }, description: { type: 'string', description: 'Description of the initiative', }, content: { type: 'string', description: 'Content in markdown format', }, ownerId: { type: 'string', description: 'ID of the user who owns the initiative', }, targetDate: { type: 'string', description: 'Target completion date (ISO 8601 format)', }, status: { type: 'string', description: 'Status of the initiative', enum: ['notStarted', 'inProgress', 'completed', 'paused'], }, icon: { type: 'string', description: 'Icon emoji for the initiative', }, color: { type: 'string', description: 'Color of the initiative in hex format', }, }, required: ['name'], }, output_schema: { type: 'object', properties: { id: { type: 'string' }, name: { type: 'string' }, description: { type: 'string' }, status: { type: 'string' }, url: { type: 'string' }, }, }, },
  • Registration of the linear_createInitiative handler in the tool handlers map within registerToolHandlers function.
    linear_createInitiative: createInitiativeHandler(linearService),
  • Type guard function isCreateInitiativeInput used by the handler to validate input arguments.
    * Type guard for linear_createInitiative tool arguments */ export function isCreateInitiativeInput(args: unknown): args is { name: string; description?: string; content?: string; ownerId?: string; targetDate?: string; status?: string; icon?: string; color?: string; } { return ( typeof args === 'object' && args !== null && 'name' in args && typeof (args as { name: string }).name === 'string' && (!('description' in args) || typeof (args as { description: string }).description === 'string') && (!('content' in args) || typeof (args as { content: string }).content === 'string') && (!('ownerId' in args) || typeof (args as { ownerId: string }).ownerId === 'string') && (!('targetDate' in args) || typeof (args as { targetDate: string }).targetDate === 'string') && (!('status' in args) || typeof (args as { status: string }).status === 'string') && (!('icon' in args) || typeof (args as { icon: string }).icon === 'string') && (!('color' in args) || typeof (args as { color: string }).color === '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/tacticlaunch/mcp-linear'

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