Skip to main content
Glama

horas-mcp

Local MCP server for tracking time per Jira card/subtask — timer, pauses, corrections, reports, and pending worklog control. 100% local (JSON file), no dependency on the Jira API. Runs on Node 18+ and can be distributed as a single file.

Usage flow (talking with the agent)

You say

What happens

"start SUB-456"

starts the timer (stops the previous one automatically)

"pause" / "I'm back"

pauses/resumes (lunch, meeting)

"I'm done"

closes the session and shows actual + rounded time

"I started SUB-456 at 9am"

backdated start

"I worked 1h30 yesterday on SUB-457"

manual entry

"report for today / the week"

table per card with pending worklog entries

"I logged SUB-456"

marks it as logged (removes it from pending)

You enter the official worklog manually in Jira — the report already shows the rounded value in worklog format (2h 30m) and the session note to use as a comment.

Build

npm install
npm run build     # dist/index.js (ESM, para desenvolvimento)
npm run bundle    # dist/horas.cjs — ARQUIVO ÚNICO, autocontido, Node 18+

Install on the company machine (GitHub Copilot / VS Code)

Copy only dist/horas.cjs to the machine (e.g. C:\Users\voce\horas\horas.cjs) and register it in VS Code — Ctrl+Shift+P → "MCP: Open User Configuration" (or the workspace's .vscode/mcp.json):

{
  "servers": {
    "horas": {
      "type": "stdio",
      "command": "node",
      "args": ["C:/Users/voce/horas/horas.cjs"],
      "env": { "HORAS_BLOCO_MIN": "15", "HORAS_ARREDONDAR": "cima" }
    }
  }
}

No npm install, no build — just Node 18+ and the file. The tools appear in Copilot Chat in agent mode.

SQLite alternative: use node-22/dist/horas-sqlite.cjs (also a single file, requires Node 22.13+; data in ~/.horas/horas.db). Choose one of the two — the data is not shared between them.

Install in Claude Code

claude mcp add --scope user horas -- node D:/Gabriel/Projetos/horas/dist/horas.cjs

Configuration (environment variables)

Variable

Default

Description

HORAS_BLOCO_MIN

15

Rounding block size in minutes (0 disables it)

HORAS_ARREDONDAR

cima

Mode: cima, proximo or baixo

HORAS_SESSAO_MAX_HORAS

12

An open session beyond this is treated as a forgotten timer

HORAS_DB

~/.horas/horas.json

Path to the data file (JSON, atomic write)

Exposed tools

iniciar_tarefa · pausar_tarefa · retomar_tarefa · parar_tarefa · status_atual · registrar_manual · editar_sessao · excluir_sessao · relatorio · marcar_apontado

Related MCP Connectors