Seguimiento de Tiempo
Gestión de temporizadores y registros de tiempo a través de MCP. Inicia y detén temporizadores, crea entradas manuales y genera informes de tiempo para facturación y productividad.
Código Abierto — GitScrum MCP Server es código abierto bajo la licencia MIT. Disponible en npm y en GitHub. Servidor Model Context Protocol para GitScrum — Claude, GitHub Copilot, Cursor y cualquier cliente compatible con MCP tienen acceso operacional completo a tu stack de gestión de proyectos.
La herramienta time proporciona 9 acciones para gestión de temporizadores en tiempo real, registro de entradas de tiempo y analíticas de productividad. Ya sea que estés rastreando horas facturables para trabajo de clientes, midiendo la productividad del equipo o generando informes de tiempo para facturación, la herramienta de seguimiento de tiempo le da a tu asistente de IA control total sobre el sistema de seguimiento de tiempo de GitScrum.
La herramienta soporta dos flujos de trabajo principales: temporizadores en tiempo real (iniciar/detener mientras trabajas) y registros de tiempo (ver entradas registradas). Para analíticas, la herramienta proporciona cinco acciones de informes que cubren productividad individual, rendimiento del equipo y desgloses detallados de línea temporal.
Resumen de acciones
| Acción | Propósito | Parámetros requeridos |
|---|---|---|
active | Verificar si hay un temporizador activo | company_slug (auto-resuelto) |
start | Iniciar un temporizador en una tarea específica | task_uuid |
stop | Detener un temporizador activo | timetrackingid |
logs | Ver entradas de tiempo de un proyecto | projectslug, companyslug |
analytics | Obtener analíticas y resúmenes de seguimiento de tiempo | company_slug |
team | Ver datos de seguimiento de tiempo del equipo | company_slug |
reports | Generar informes detallados de tiempo para facturación | company_slug |
productivity | Obtener métricas y tendencias de productividad | company_slug |
timeline | Ver línea temporal cronológica de entradas de tiempo | company_slug |
Flujo de trabajo del temporizador
El flujo del temporizador principal sigue una secuencia simple: verificar temporizadores activos → iniciar un nuevo temporizador → trabajar → detener el temporizador. El servidor MCP asegura que solo un temporizador pueda estar activo a la vez por usuario.
Verificar temporizadores activos
Antes de iniciar un nuevo temporizador, el asistente de IA debería verificar si ya hay un temporizador activo. La acción active devuelve los detalles del temporizador actual si existe, o { active: false } si no hay temporizador activo.
El parámetro company_slug se auto-resuelve si se omite — el servidor usa tu primer workspace accesible.
Tú: "¿Qué temporizadores están activos actualmente?"
IA: Llama a time action=active → devuelve detalles del temporizador actual o "sin temporizador activo"
Tú: "¿Estoy registrando tiempo en algo?"
IA: Llama a time action=active → reporta si un temporizador está activo y en qué tareaIniciar un temporizador
La acción start comienza un temporizador en una tarea específica. Necesitas el UUID de la tarea, que el asistente de IA puede obtener de la herramienta task (usando acciones como my, today, filter o by_code).
| Parámetro | Tipo | Descripción |
|---|---|---|
task_uuid | string | El UUID de la tarea para registrar tiempo (requerido) |
description | string | Nota opcional describiendo en qué estás trabajando |
El servidor MCP devuelve el objeto del temporizador con un timetrackingid que necesitas para la acción stop. El asistente de IA retiene este ID en el contexto de la conversación para cuando estés listo para detener.
Tú: "Inicia un temporizador en la tarea GS-123"
IA: Busca la tarea por código → llama a time action=start con task_uuid
→ "Temporizador iniciado en 'Corregir validación de login'"
Tú: "Registra tiempo en la tarea de migración de API"
IA: Encuentra la tarea → llama a time action=start
→ "Temporizador iniciado en 'Migración API v3'"
Tú: "Comienza a registrar tiempo en mi tarea actual"
IA: Verifica task action=today → elige la tarea más relevante → inicia temporizadorDetener un temporizador
La acción stop finaliza el temporizador activo. Requiere el timetrackingid, que el asistente de IA obtiene de la respuesta de la acción active.
| Parámetro | Tipo | Descripción |
|---|---|---|
timetrackingid | string | ID del temporizador activo (de la respuesta de active) |
Tú: "Detén mi temporizador activo"
IA: Llama a time action=active → obtiene time_tracking_id
→ llama a time action=stop → "Temporizador detenido. 1h 23m registradas en 'Corregir validación de login'"
Tú: "Terminé de trabajar por ahora"
IA: Verifica si hay temporizador activo → lo detiene si está activoEjemplo de flujo del temporizador
Aquí hay una sesión completa de temporizador como conversación natural:
Tú: "¿En qué estoy registrando tiempo?"
IA: Llama a time action=active → "Sin temporizador activo"
Tú: "Inicia un temporizador en la tarea de corrección de login"
IA: Encuentra la tarea → llama a time action=start → "Temporizador iniciado en 'Corregir validación de login'"
[... trabajas por 2 horas ...]
Tú: "Detén el temporizador"
IA: Llama a time action=active → obtiene ID → llama a time action=stop
→ "Temporizador detenido. 2h 04m registradas"Registros de tiempo
La acción logs devuelve las entradas de tiempo registradas para un proyecto específico. Cada entrada incluye la tarea, usuario, duración, fecha y descripción opcional. Este es el registro de auditoría de todo el tiempo registrado dentro del proyecto.
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
project_slug | string | Identificador del proyecto (requerido) |
company_slug | string | Identificador del workspace (auto-resuelto si se omite) |
Tú: "Muestra los registros de tiempo del proyecto Backend"
IA: Llama a time action=logs → devuelve lista de entradas de tiempo con tarea, usuario y duración
Tú: "¿Cuánto tiempo se registró en el proyecto Backend esta semana?"
IA: Llama a time action=logs → la IA suma las entradas de la semana actual
Tú: "¿Quién registró más tiempo en el proyecto Mobile App?"
IA: Llama a time action=logs → la IA agrupa por usuario y suma duracionesAnalíticas e informes
La herramienta time proporciona cinco acciones de analíticas que agregan datos de tiempo para diferentes propósitos. Todas comparten una estructura de parámetros común.
Parámetros comunes
| Parámetro | Tipo | Descripción |
|---|---|---|
company_slug | string | Identificador del workspace (requerido) |
project_slug | string | Opcionalmente limitar a un proyecto específico |
period | string | Ventana de tiempo para el informe |
Períodos disponibles
| Período | Descripción |
|---|---|
today | Día actual |
yesterday | Día anterior |
last-7-days | Últimos 7 días |
last-14-days | Últimos 14 días |
last-15-days | Últimos 15 días |
this-month | Mes calendario actual |
last-month | Mes calendario anterior |
last-30-days | Últimos 30 días |
Analytics
La acción analytics devuelve un resumen de datos de seguimiento de tiempo — horas totales, horas diarias promedio, distribución por proyecto y datos de tendencia. Este es el dashboard de resumen para el seguimiento de tiempo.
Tú: "Muestra mis analíticas de seguimiento de tiempo de este mes"
IA: Llama a time action=analytics con period="this-month"
→ devuelve horas totales, promedios diarios, desglose por proyecto
Tú: "¿Cuánto tiempo registré la semana pasada?"
IA: Llama a time action=analytics con period="last-7-days"
→ devuelve horas totales y distribución diariaTeam
La acción team devuelve datos de seguimiento de tiempo agregados por miembro del equipo. Muestra quién está registrando tiempo, cuánto registró cada persona y en qué proyectos. Los gerentes usan esto para evaluación de carga de trabajo y planificación de capacidad.
Tú: "Muestra el seguimiento de tiempo del equipo de esta semana"
IA: Llama a time action=team con period="last-7-days"
→ devuelve horas por miembro, desglose por proyecto
Tú: "¿Quién registró más horas este mes?"
IA: Llama a time action=team con period="this-month"
→ la IA identifica al mayor contribuyenteReports
La acción reports genera informes detallados de tiempo adecuados para facturación. Soporta diferentes tipos de informe y cálculos opcionales de tarifa por hora.
| Parámetro | Tipo | Descripción |
|---|---|---|
report_type | string | Formato del informe (por defecto: resumen) |
hourly_rate | number | Tarifa por hora para cálculos de costo (ej. 150 para $150/hora) |
Tú: "Genera un informe de tiempo del proyecto Backend de este mes"
IA: Llama a time action=reports con project_slug, period="this-month"
→ devuelve informe detallado de tiempo con desglose a nivel de tarea
Tú: "Muéstrame las horas facturables para Acme Corp a $150/hora"
IA: Llama a time action=reports con hourly_rate=150
→ devuelve informe con costos calculados
Tú: "Crea un informe de tiempo listo para factura del mes pasado"
IA: Llama a time action=reports con period="last-month"
→ devuelve informe detallado con fechas, tareas, duraciones y totalesProductivity
La acción productivity mide patrones de seguimiento de tiempo y métricas de eficiencia — tiempo enfocado, frecuencia de cambio de contexto, horas productivas por hora del día y puntajes de consistencia. Esto ayuda a contribuyentes individuales y gerentes a entender los patrones de trabajo.
Tú: "Muestra mis métricas de productividad de esta semana"
IA: Llama a time action=productivity con period="last-7-days"
→ devuelve tiempo enfocado, horas productivas, datos de consistencia
Tú: "¿Qué tan productivo fue el equipo el mes pasado?"
IA: Llama a time action=productivity con period="last-month"
→ devuelve tendencias de productividad del equipoTimeline
La acción timeline devuelve una vista cronológica de las entradas de tiempo — un desglose día a día, hora por hora de qué se registró y cuándo. Esto es útil para revisar cómo se distribuyó el tiempo durante un día o semana.
Tú: "Muéstrame mi línea temporal de tiempo de hoy"
IA: Llama a time action=timeline con period="today"
→ devuelve lista cronológica de bloques de tiempo registrados
Tú: "¿En qué trabajé ayer?"
IA: Llama a time action=timeline con period="yesterday"
→ devuelve entradas de tiempo ordenadas con detalles de la tareaFlujo de trabajo de facturación
Para equipos que registran horas facturables, la herramienta time se integra con las capacidades de facturación de GitScrum. Aquí hay un flujo de trabajo de facturación típico:
1. Registrar tiempo durante el período
Los miembros del equipo usan temporizadores o entradas manuales para registrar tiempo en tareas de clientes.
Tú: "Inicia un temporizador en la tarea de integración API de Acme Corp"
IA: Inicia el temporizador → trabajas → detienes cuando terminas2. Revisar tiempo al final del período
Verifica el tiempo acumulado antes de generar facturas.
Tú: "Muéstrame todo el tiempo registrado del proyecto Backend este mes"
IA: Llama a time action=logs → devuelve lista detallada de entradas
Tú: "¿Cuántas son las horas facturables totales de este mes?"
IA: Llama a time action=reports con period="this-month" → devuelve totales3. Generar informe de facturación
Crea un informe con tarifas por hora para facturación.
Tú: "Genera un informe de facturación a $150/hora del mes pasado"
IA: Llama a time action=reports con hourly_rate=150, period="last-month"
→ devuelve informe con cálculos de horas × tarifa4. Analizar capacidad del equipo
Revisa la utilización del equipo para planificación futura.
Tú: "¿Cómo se distribuye el tiempo del equipo entre proyectos?"
IA: Llama a time action=team con period="this-month"
→ devuelve desglose por miembro y por proyectoIntegración con tareas
El seguimiento de tiempo está estrechamente acoplado con las tareas. Cada temporizador y entrada manual está vinculada a una tarea específica. Esto significa que tu asistente de IA puede:
- Iniciar temporizadores desde el contexto de tareas. Al revisar tu lista de tareas, dile al asistente de IA en qué tarea registrar tiempo. Resuelve el UUID de la tarea automáticamente.
- Ver datos de tiempo desde detalles de la tarea. Cuando obtienes detalles de la tarea con
task action=get, la respuesta incluye datos de seguimiento de tiempo — tiempo total registrado, temporizadores activos y entradas de tiempo.
- Correlacionar tiempo con progreso del sprint. Combina
sprint action=statscon analíticas de tiempo para entender cuánto esfuerzo consumió cada sprint.
Tú: "¿Cuánto tiempo hemos dedicado al Sprint 14?"
IA: Obtiene tareas del sprint → las cruza con registros de tiempo → reporta horas totales
Tú: "Comienza a registrar tiempo en la siguiente tarea de mi lista"
IA: Llama a task action=today → elige la tarea de mayor prioridad → inicia temporizadorAnálisis basado en períodos
Todas las acciones de analíticas soportan el parámetro period para filtrado consistente de ventanas de tiempo. Cuando se omite, la mayoría de las acciones se configuran por defecto al alcance actual (todo el tiempo o período actual, dependiendo del endpoint).
Para informes recurrentes, puedes establecer un patrón con tu asistente de IA:
Tú: "Todos los lunes, muéstrame el informe de tiempo de la semana pasada"
IA: Llama a time action=reports con period="last-7-days" → resumen semanal
Tú: "Revisión de tiempo de fin de mes"
IA: Llama a time action=analytics + team + productivity con period="this-month"
→ análisis mensual completoAuto-resolución de contexto
La herramienta time soporta resolución automática de contexto para companyslug. Si no especificas un workspace, el servidor MCP usa tu primer workspace accesible. Para projectslug, el servidor puede auto-resolverlo del contexto de la conversación si fue establecido antes.
La acción start solo requiere task_uuid — el servidor determina el workspace y proyecto a partir de la tarea misma. Esto significa que puedes pasar de navegar tareas a registrar tiempo en un solo paso sin re-especificar ningún contexto.
Próximos pasos
- Tareas: Gestiona las tareas en las que registras tiempo.
- Sprints: Planifica sprints y correlaciona tiempo con progreso del sprint.
- Proyectos: Configura proyectos y revisa miembros del equipo.
- Inicio Rápido: Configura el servidor MCP si aún no lo has hecho.