linear_removeProjectFromInitiative
Disassociate a project from an initiative in Linear to manage project organization and initiative scope.
Instructions
Remove a project from an initiative
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| initiativeId | Yes | The ID of the initiative | |
| projectId | Yes | The ID of the project to remove |
Implementation Reference
- The handler function that implements the core logic for the linear_removeProjectFromInitiative tool. It validates the input using a type guard and calls the Linear service to remove the project from the initiative.export function removeProjectFromInitiativeHandler(linearService: LinearService) { return async (args: unknown) => { if (!isRemoveProjectFromInitiativeInput(args)) { throw new Error('Invalid input for removeProjectFromInitiative'); } console.log( `[removeProjectFromInitiative] Removing project ${args.projectId} from initiative ${args.initiativeId}`, ); const result = await linearService.removeProjectFromInitiative( args.initiativeId, args.projectId, ); console.log(`[removeProjectFromInitiative] Project removed successfully`); return result; }; }
- The MCP tool definition for linear_removeProjectFromInitiative, including input schema (initiativeId and projectId required) and output schema.{ name: 'linear_removeProjectFromInitiative', description: 'Remove a project from an initiative', input_schema: { type: 'object', properties: { initiativeId: { type: 'string', description: 'The ID of the initiative', }, projectId: { type: 'string', description: 'The ID of the project to remove', }, }, required: ['initiativeId', 'projectId'], }, output_schema: { type: 'object', properties: { success: { type: 'boolean' }, message: { type: 'string' }, project: { type: 'object', properties: { id: { type: 'string' }, name: { type: 'string' }, }, }, initiative: { type: 'object', properties: { id: { type: 'string' }, name: { type: 'string' }, }, }, }, }, },
- src/tools/handlers/index.ts:100-100 (registration)Registration of the removeProjectFromInitiativeHandler in the registerToolHandlers function, mapping 'linear_removeProjectFromInitiative' to the handler.linear_removeProjectFromInitiative: removeProjectFromInitiativeHandler(linearService),
- src/tools/definitions/index.ts:73-75 (registration)Registration of the initiative tool definitions (including linear_removeProjectFromInitiative) into the allToolDefinitions array.// Initiative Management tools ...initiativeToolDefinitions,
- src/tools/type-guards.ts:876-890 (helper)Type guard function used in the handler to validate input arguments for the linear_removeProjectFromInitiative tool.* Type guard for linear_removeProjectFromInitiative tool arguments */ export function isRemoveProjectFromInitiativeInput(args: unknown): args is { initiativeId: string; projectId: string; } { return ( typeof args === 'object' && args !== null && 'initiativeId' in args && typeof (args as { initiativeId: string }).initiativeId === 'string' && 'projectId' in args && typeof (args as { projectId: string }).projectId === 'string' ); }