UNPKG

mcp-daily-tasks

Version:

MCP para manejar tareas y resúmenes con integración ClickUp.

42 lines (41 loc) 1.32 kB
const CLICKUP_API_KEY = process.env.CLICKUP_API_KEY || ''; const CLICKUP_API_BASE = "https://api.clickup.com/api/v2"; export function getClickupHeaders() { return { accept: "application/json", Authorization: CLICKUP_API_KEY }; } export function buildQueryString(params = {}) { if (!params || Object.keys(params).length === 0) return ""; const query = Object.entries(params).reduce((acc, [key, value]) => { if (Array.isArray(value)) { acc[key] = value.join(","); } else if (typeof value === "boolean") { acc[key] = value ? "true" : "false"; } else if (value !== undefined && value !== null) { acc[key] = value.toString(); } return acc; }, {}); return "?" + new URLSearchParams(query).toString(); } export async function fetchClickup(endpoint, params) { const url = `${CLICKUP_API_BASE}${endpoint}${buildQueryString(params)}`; try { const response = await fetch(url, { method: "GET", headers: getClickupHeaders(), }); if (!response.ok) { throw new Error(`Error ${response.status}: ${response.statusText}`); } return await response.json(); } catch (error) { return null; } }