time-tracker-timesheet-billable-hours
io.github.theluckystrike/time-tracker-timesheet-billable-hours·v0.22.0Track billable time from your AI chat: timers, entries, reports, CSV export. All data stays local.
Tools (14, 1 write)
write = sends, deletes, buys or posts; agents should confirm firstentry_addFreeLog time already worked as one entry and return its id, duration and amount. Give start plus end or minutes. rate is hourly in MAJOR units and is frozen on the entry, so a later rate change never moves it.
entry_deletewrite actionFreeDelete one logged entry by id and report the project and hours removed. It never touches a running timer. A billed entry goes too, losing the invoice record, so correct one with entry_edit instead.
entry_editFreeChange one logged entry by id; only the fields you pass move. minutes keeps start and moves end, an end at or before start is refused, tags REPLACES the list, and rate is hourly in MAJOR units.
entry_listFreeList logged entries as a table of id, day, start, project, task, hours, billable, tags and note, newest first, with total hours. Free reads the last 7 days and says so; Pro reads the whole history.
entry_mark_billedFreeClose the loop after an invoice is issued: stamp the tracked hours that went on it with the invoice number, so report and invoice_summary stop offering them and the same hours are never billed twice.
export_csvFreeCall this tool to export the timesheet to a CSV file (excel-friendly) you can hand to a bookkeeper: one row per entry with hours, billable, rate, currency and amount. Returns the file path written.
invoice_summaryFreeTurn tracked billable time into invoice lines for one project: hours, hourly rate, amount per task and the total, one line per rate so two rates never average. Hours already marked billed are left out. Free: last 7 days.
license_activateFreeTurn Pro on for this connection with key, an MCPL1.<payload>.<signature> issued at checkout for this server or the bundle. Data under your token stays; a wrong or expired key changes nothing. license_status confirms it.
license_statusFreeReport this endpoint's licence state for your token as JSON: the product, the tier free or pro, why it is not Pro, and the checkout URL. Call it to explain a free-tier refusal. No arguments, nothing changes.
project_set_rateFreeSet the hourly rate and currency used to turn tracked hours into money for a project or client. Returns the new rate and, when re-rating is asked for, how many already logged entries changed.
reportFreeTimesheet report: total tracked hours and billable money for a period, optionally grouped by (group by) project, day, task or tag - hours per project, how much to bill. Omit group_by for the plain total per currency.
timer_startFreeStart a stopwatch for work on a project and return the start time. Only one runs at a time: a new one stops and logs the previous, naming it. rate is an hourly rate in MAJOR units for this timer only.
timer_statusFreeReport the running timer and today's total hours. Today is the local calendar day, so a timer started at 23:30 yesterday contributes only the minutes since midnight. No arguments, and it writes nothing.
timer_stopFreeStop the running timer and log it as one entry. Returns the duration, the money at the rate in force and the new entry id. With no timer running it says so and writes nothing.
Public scan report
scanner v0.1.2 · 2026-09-17 · same rubric, same numbers if you re-run it
- –Code scanpackage could not be scannedn/a
- Live reliabilityremote reachable in 549ms20/20
- Tool poisoning14 tool descriptions checked15/15
- Auth qualityAPI key sent as a header8/15
- Maintenancerepository not readable: github 4013/15
- Maintainer identityno repository or website to verify2/10
Install directly
claude mcp add --transport http time-tracker-timesheet-billable-hours https://mcp.zovo.one/mcp/time-tracker