GitScrum / Docs

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ónPropósitoParámetros requeridos
activeVerificar si hay un temporizador activocompany_slug (auto-resuelto)
startIniciar un temporizador en una tarea específicatask_uuid
stopDetener un temporizador activotimetrackingid
logsVer entradas de tiempo de un proyectoprojectslug, companyslug
analyticsObtener analíticas y resúmenes de seguimiento de tiempocompany_slug
teamVer datos de seguimiento de tiempo del equipocompany_slug
reportsGenerar informes detallados de tiempo para facturacióncompany_slug
productivityObtener métricas y tendencias de productividadcompany_slug
timelineVer línea temporal cronológica de entradas de tiempocompany_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é tarea

Iniciar 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ámetroTipoDescripción
task_uuidstringEl UUID de la tarea para registrar tiempo (requerido)
descriptionstringNota 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 temporizador

Detener 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ámetroTipoDescripción
timetrackingidstringID 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á activo

Ejemplo 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ámetroTipoDescripción
project_slugstringIdentificador del proyecto (requerido)
company_slugstringIdentificador 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 duraciones

Analí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ámetroTipoDescripción
company_slugstringIdentificador del workspace (requerido)
project_slugstringOpcionalmente limitar a un proyecto específico
periodstringVentana de tiempo para el informe

Períodos disponibles

PeríodoDescripción
todayDía actual
yesterdayDía anterior
last-7-daysÚltimos 7 días
last-14-daysÚltimos 14 días
last-15-daysÚltimos 15 días
this-monthMes calendario actual
last-monthMes 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 diaria

Team

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 contribuyente

Reports

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ámetroTipoDescripción
report_typestringFormato del informe (por defecto: resumen)
hourly_ratenumberTarifa 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 totales

Productivity

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 equipo

Timeline

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 tarea

Flujo 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 terminas

2. 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 totales

3. 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 × tarifa

4. 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 proyecto

Integració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=stats con 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 temporizador

Aná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 completo

Auto-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.