Add search tools to remaining MCP modules

This commit is contained in:
josedario87
2025-06-03 17:23:29 -06:00
parent 907ac9da0e
commit 943ab1d17f
3 changed files with 75 additions and 0 deletions

View File

@@ -81,4 +81,29 @@ export default function registerAsistencias(server) {
return { content: [{ type: "text", text: `Asistencia ${id} eliminada` }] };
}
);
server.tool(
"search-asistencias",
"Busca asistencias. `q` matchea id o empleado_id. Si no se envían argumentos se devuelven los primeros 100 registros.",
{
q: z.string().optional(),
empleado_id: z.number().optional(),
estado: z.string().optional(),
entrada_desde: z.string().optional(),
entrada_hasta: z.string().optional(),
salida_desde: z.string().optional(),
salida_hasta: z.string().optional(),
},
async (params) => {
log("Tool invocada", "search-asistencias", params);
const qs = new URLSearchParams(
Object.entries(params)
.filter(([, v]) => v !== undefined)
.map(([k, v]) => [k, String(v)])
);
if (qs.toString() === "") qs.append("limit", "100");
const asistencias = await fetchJSON(`/api/asistencias/search?${qs.toString()}`);
return { content: [{ type: "text", text: JSON.stringify(asistencias) }] };
}
);
}