Skip to main content
Glama

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
NameRequiredDescriptionDefault
initiativeIdYesThe ID of the initiative
projectIdYesThe 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' },
            },
          },
        },
      },
    },
  • Registration of the removeProjectFromInitiativeHandler in the registerToolHandlers function, mapping 'linear_removeProjectFromInitiative' to the handler.
    linear_removeProjectFromInitiative: removeProjectFromInitiativeHandler(linearService),
  • Registration of the initiative tool definitions (including linear_removeProjectFromInitiative) into the allToolDefinitions array.
    // Initiative Management tools
    ...initiativeToolDefinitions,
  • 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'
      );
    }

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