mcp-daily-tasks
Version:
MCP para manejar tareas y resúmenes con integración ClickUp.
39 lines (38 loc) • 1.58 kB
JavaScript
import { registerAddCronTaskTool } from "./tools/toolAddCronTask.js";
import { registerListCronTasksTool } from "./tools/toolListCronTasks.js";
import { registerRemoveCronTaskTool } from "./tools/toolRemoveCronTask.js";
import { loadCronTasks } from "./utils/cronStorage.js";
import { scheduleTask } from "./utils/cronScheduler.js";
import { generateReport } from "../../aiProcessor.js";
import { postSlackThreadMessage } from "../slack/utils/postSlackThreadMessage.js";
import { CronService } from "./services/cronService.js";
export default function registerCronTools(server) {
// Registrar tools MCP
registerAddCronTaskTool(server);
registerListCronTasksTool(server);
registerRemoveCronTaskTool(server);
// Inicializar cron jobs al arrancar
const tasks = loadCronTasks();
tasks.forEach(task => {
scheduleTask(task, async (t) => {
const report = await generateReport(t.prompt, {
tasks: [t],
context: {
taskId: t.id,
channel: t.channel,
executionTime: new Date().toISOString()
}
});
if (!report)
return;
await postSlackThreadMessage(t.channel, "Reporte automático generado por MCP:", report);
});
});
}
export function initializeCronService() {
const cronService = CronService.getInstance();
cronService.start().catch(error => {
console.error("Error iniciando servicio de cron:", error);
});
}
export * from "./tools/toolAddCronTask.js";