Skip to main content
Glama

delete_task

Remove tasks permanently from FluentBoards project management by specifying board and task IDs with confirmation for safety.

Instructions

Delete a task permanently

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
board_idYesBoard ID
task_idYesTask ID
confirm_deleteNoConfirmation required: set to true, 'yes', or 'confirm' to proceed

Implementation Reference

  • The handler function that performs safety validation using validateDeleteOperation, calls the API to delete the task if allowed, and formats the response.
    async (args) => {
      const { board_id, task_id, confirm_delete } = args;
      
      // Validate delete operation safety
      const safetyCheck = validateDeleteOperation("task", confirm_delete);
      if (!safetyCheck.allowed) {
        return formatResponse(createDeleteSafetyError(safetyCheck));
      }
      
      const response = await api.delete(`/projects/${board_id}/tasks/${task_id}`);
      return formatResponse(response.data);
    }
  • Zod input schema defining required board_id and task_id, optional confirm_delete for safety.
    {
      board_id: z.number().int().positive().describe("Board ID"),
      task_id: z.number().int().positive().describe("Task ID"),
      confirm_delete: z.union([z.boolean(), z.string()]).optional().describe("Confirmation required: set to true, 'yes', or 'confirm' to proceed"),
    },
  • The server.tool call that registers the delete_task tool, including name, description, schema, and handler function.
    // Delete a task
    server.tool(
      "delete_task",
      "Delete a task permanently",
      {
        board_id: z.number().int().positive().describe("Board ID"),
        task_id: z.number().int().positive().describe("Task ID"),
        confirm_delete: z.union([z.boolean(), z.string()]).optional().describe("Confirmation required: set to true, 'yes', or 'confirm' to proceed"),
      },
      async (args) => {
        const { board_id, task_id, confirm_delete } = args;
        
        // Validate delete operation safety
        const safetyCheck = validateDeleteOperation("task", confirm_delete);
        if (!safetyCheck.allowed) {
          return formatResponse(createDeleteSafetyError(safetyCheck));
        }
        
        const response = await api.delete(`/projects/${board_id}/tasks/${task_id}`);
        return formatResponse(response.data);
      }
    );
  • Helper function to validate delete operations based on configuration flags for enabled deletes, allowed types, and confirmation requirement.
    export function validateDeleteOperation(
      deleteType: DeleteType, 
      confirmDelete?: boolean | string
    ): DeleteSafetyResult {
      const { deleteSafety } = config;
    
      // Check if deletes are enabled at all
      if (!deleteSafety.enableDeletes) {
        return {
          allowed: false,
          reason: `Delete operations are disabled. Set ENABLE_DELETES=true in environment to enable.`,
          code: "DELETES_DISABLED"
        };
      }
    
      // Check if this specific delete type is allowed
      if (deleteSafety.allowedDeleteTypes.length > 0 && 
          !deleteSafety.allowedDeleteTypes.includes(deleteType)) {
        return {
          allowed: false,
          reason: `Delete operations for '${deleteType}' are not allowed. Allowed types: ${deleteSafety.allowedDeleteTypes.join(', ')}`,
          code: "DELETE_TYPE_NOT_ALLOWED"
        };
      }
    
      // Check confirmation requirement
      if (deleteSafety.requireConfirmation) {
        const confirmValue = typeof confirmDelete === "string" 
          ? confirmDelete.toLowerCase() 
          : confirmDelete;
        
        if (confirmValue !== true && confirmValue !== "yes" && confirmValue !== "confirm") {
          return {
            allowed: false,
            reason: `Confirmation required for delete operations. Add 'confirm_delete: true' or 'confirm_delete: "yes"' parameter.`,
            code: "CONFIRMATION_REQUIRED"
          };
        }
      }
    
      return { allowed: true };
    }
  • Helper function to create a standardized error response for failed delete safety checks.
    export function createDeleteSafetyError(result: DeleteSafetyError) {
      return {
        error: "Delete operation not allowed",
        reason: result.reason,
        code: result.code,
        message: "Delete operation blocked by safety configuration"
      };
    }

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/danieliser/fluent-boards-mcp-server'

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