{"$schema":"https://wellknown.network/schemas/agent-record-v1.json","schemaVersion":"1","id":"ag_rncyzkdgksqn","handle":"time-tracking-billing-hours","url":"https://wellknown.network/agents/time-tracking-billing-hours","links":{"self":"https://wellknown.network/agents/time-tracking-billing-hours/record.json","html":"https://wellknown.network/agents/time-tracking-billing-hours","markdown":"https://wellknown.network/agents/time-tracking-billing-hours/record.md","api":"https://wellknown.network/api/v1/agents/time-tracking-billing-hours","status":"https://wellknown.network/api/v1/agents/time-tracking-billing-hours/status","claim":"https://wellknown.network/agents/time-tracking-billing-hours/claim","claimApi":"https://wellknown.network/api/v1/claims","claimDescriptor":"https://wellknown.network/agents/time-tracking-billing-hours/claim.json","badge":"https://wellknown.network/agents/time-tracking-billing-hours/badge.svg","openapi":"https://wellknown.network/openapi.json","history":"https://wellknown.network/api/v1/agents/time-tracking-billing-hours/history","tools":"https://wellknown.network/api/v1/agents/time-tracking-billing-hours/tools"},"ard":{"identifier":"urn:air:mcp.zovo.one:server:time-tracking-billing-hours","type":"application/mcp-server-card+json"},"kind":"mcp_server","declared":{"name":"time-tracking-billing-hours","summary":"Billable-hours time tracking with rates and CSV export, running inside Claude or Cursor.","description":"Billable-hours time tracking with rates and CSV export, running inside Claude or Cursor.","publisher":{"name":"theluckystrike","url":null},"homepage":"https://mcp.zovo.one/s/time-tracker","repository":"https://github.com/theluckystrike/mcp-servers","version":"0.23.2","license":null,"protocols":["mcp"],"tags":[],"pricing":null,"endpoints":[{"url":"https://mcp.zovo.one/mcp/time-tracking-billing-hours","type":"mcp_streamable_http","auth":null,"probeable":true}],"skills":null,"tools":null,"extra":{"updatedAt":"2026-09-26T06:40:06.69242Z","publishedAt":"2026-09-26T06:40:06.69242Z","registryName":"io.github.theluckystrike/time-tracking-billing-hours"},"attribution":{"kind":"mcp_registry","name":"mcp_registry","repoUrl":"mcp_registry","summary":"mcp_registry","version":"mcp_registry","description":"mcp_registry","homepageUrl":"mcp_registry","publisherName":"mcp_registry"}},"derived":{"capabilities":[{"slug":"documents.spreadsheets","name":"Spreadsheets","confidence":1,"provenance":"derived"},{"slug":"productivity.calendar","name":"Calendar & Scheduling","confidence":0.525,"provenance":"derived"},{"slug":"commerce.payments","name":"Payments","confidence":0.525,"provenance":"derived"},{"slug":"content.writing","name":"Writing & Editing","confidence":0.51,"provenance":"derived"},{"slug":"documents.invoice-processing","name":"Invoice Processing","confidence":0.51,"provenance":"derived"}],"categories":["commerce","content","documents","productivity"],"language":"en"},"observed":{"status":"live","statusReason":"Responded 5h ago.","lastOkAt":"2026-10-09T20:29:50.783Z","lastProbedAt":"2026-10-09T20:29:50.783Z","statusComputedAt":"2026-10-09T20:31:55.720Z","reliability30d":{"probes":46,"successRate":1,"p50Ms":192,"basis":"service","measures":{"availability":"availability","latency":"response time","tools":"tool surface observed","summary":"Checks reached the service itself."},"checks":{"total":46,"ok":46,"authBoundaryOk":0,"serviceOk":46,"note":"Counted from the observation rows for the window, checks of the server only (HTTP, A2A card, MCP initialize). ok = authBoundaryOk + serviceOk. `probes` is the sum of daily rollups and includes registry checks, so it can differ from `total`."}},"latestObservations":[{"at":"2026-10-09T20:29:50.783Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":485,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T13:31:06.676Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":44,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T07:24:59.831Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":460,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-09T00:24:50.460Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":56,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T17:27:26.430Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":33,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T10:24:07.749Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":524,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-08T04:25:14.284Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":423,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T21:27:58.011Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":517,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T14:30:45.386Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":759,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}},{"at":"2026-10-07T07:27:43.313Z","kind":"mcp_initialize","ok":true,"httpStatus":200,"latencyMs":37,"error":null,"detail":{"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"toolCount":14,"toolsHash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","serverName":"mcp-time-tracker","capabilities":["tools","resources","prompts"],"serverVersion":"0.22.0","protocolVersion":"2025-06-18"}}],"tools":[{"name":"license_status","description":"Report 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 fr"},{"name":"license_activate","description":"Turn 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 "},{"name":"timer_start","description":"Start 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 "},{"name":"timer_stop","description":"Stop 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 "},{"name":"timer_status","description":"Report 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 midn"},{"name":"entry_add","description":"Log 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 "},{"name":"entry_list","description":"List 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 "},{"name":"entry_delete","description":"Delete 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"},{"name":"entry_edit","description":"Change 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, a"},{"name":"project_set_rate","description":"Set 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 "},{"name":"report","description":"Timesheet 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 "},{"name":"export_csv","description":"Call 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 a"},{"name":"entry_mark_billed","description":"Close 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"},{"name":"invoice_summary","description":"Turn 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. "}],"package":null,"toolSurface":{"id":"ts_eeuyhu6ht799","endpointId":"ep_qtaxyjqv92k3","hash":"1d5e756626e2845b4c68650d6d93668c56cce1f8025a32cd8785359558ba7a7f","toolCount":14,"serverName":"mcp-time-tracker","serverVersion":"0.22.0","protocolVersion":"2025-06-18","firstSeenAt":"2026-09-27T09:25:51.834Z","lastSeenAt":"2026-10-09T20:29:50.804Z","observations":46,"toolNames":["license_status","license_activate","timer_start","timer_stop","timer_status","entry_add","entry_list","entry_delete","entry_edit","project_set_rate","report","export_csv","entry_mark_billed","invoice_summary"],"distinctSurfaces":1},"endpointFacts":[{"id":"ep_qtaxyjqv92k3","url":"https://mcp.zovo.one/mcp/time-tracking-billing-hours","type":"mcp_streamable_http","factsCheckedAt":"2026-10-07T21:27:58.011Z","auth":{"observedAt":"2026-10-07T21:27:58.030Z","authRequired":false,"scheme":null,"resourceMetadata":null,"authorizationServer":null,"conformance":{"dpop":false,"rfc8414":false,"rfc9728":false,"pkceS256":false,"clientIdMetadataDocument":false,"dynamicClientRegistration":false}},"tls":{"observedAt":"2026-10-07T21:27:58.057Z","protocol":"TLSv1.3","chainValid":true,"chainError":null,"hostMatches":true,"subject":"zovo.one","issuer":{"commonName":"WE1","organization":"Google Trust Services"},"validFrom":"2026-09-02T11:46:26.000Z","validTo":"2026-12-01T12:46:23.000Z","daysToExpiry":52,"sanCount":3,"fingerprint256":"FD:F0:11:46:31:B4:29:D1:FF:93:E6:BE:99:E7:CC:1E:89:33:FB:81:22:BC:F5:79:08:63:74:B5:CB:00:C6:02"}}]},"verification":{"claimed":false,"claimedAt":null,"proofs":[]},"provenance":{"sources":[{"source":"mcp_registry","key":"io.github.theluckystrike/time-tracking-billing-hours","url":"https://registry.modelcontextprotocol.io/v0/servers/io.github.theluckystrike%2Ftime-tracking-billing-hours","firstSeenAt":"2026-09-27T09:20:47.072Z","fetchedAt":"2026-10-08T12:19:30.137Z","normalizedAt":"2026-10-08T12:19:30.137Z"}]},"firstSeenAt":"2026-09-27T09:20:47.072Z","updatedAt":"2026-10-09T20:32:44.481Z"}