UNPKG

@edicarlos.lds/businessmap-mcp

Version:

Model Context Protocol server for BusinessMap (Kanbanize) integration

45 lines 2.55 kB
import { getWorkflowCycleTimeColumnsSchema } from '../../schemas/workflow-schemas.js'; import { logger } from '../../utils/logger.js'; import { createErrorResponse, createSuccessResponse } from './base-tool.js'; export class WorkflowToolHandler { registerTools(server, client, readOnlyMode) { this.registerGetWorkflowCycleTimeColumns(server, client); this.registerGetWorkflowEffectiveCycleTimeColumns(server, client); } registerGetWorkflowCycleTimeColumns(server, client) { server.registerTool('get_workflow_cycle_time_columns', { title: 'Get Workflow Cycle Time Columns', description: "Get workflow's cycle time columns", inputSchema: getWorkflowCycleTimeColumnsSchema.shape, annotations: { readOnlyHint: true, idempotentHint: true }, }, async ({ board_id, workflow_id }) => { try { const columns = await client.getWorkflowCycleTimeColumns(board_id, workflow_id); return createSuccessResponse(columns); } catch (error) { return createErrorResponse(error, 'fetching workflow cycle time columns'); } }); } registerGetWorkflowEffectiveCycleTimeColumns(server, client) { server.registerTool('get_workflow_effective_cycle_time_columns', { title: 'Get Workflow Effective Cycle Time Columns', description: "Get workflow's effective cycle time columns (the columns actually used for cycle time calculation with applied filters/logic)", inputSchema: getWorkflowCycleTimeColumnsSchema.shape, annotations: { readOnlyHint: true, idempotentHint: true }, }, async ({ board_id, workflow_id }) => { try { logger.debug(`Fetching effective cycle time columns for board ${board_id}, workflow ${workflow_id}`); const columns = await client.getWorkflowEffectiveCycleTimeColumns(board_id, workflow_id); logger.debug(`Received ${columns.length} effective cycle time columns`); return createSuccessResponse(columns, `Retrieved ${columns.length} effective cycle time columns for board ${board_id}, workflow ${workflow_id}`); } catch (error) { logger.error(`Error fetching effective cycle time columns:`, error); return createErrorResponse(error, 'fetching workflow effective cycle time columns'); } }); } } //# sourceMappingURL=workflow-tools.js.map