Track Your Time

io.github.trebeljahrPublished by GitHub account trebeljahrv0.3.0Updated Oct 30, 2026

Track time, manage entries and catalog, and summarize hours on hosted or self-hosted accounts.

Overview

AI-generated overview

Local MCP server for Track Your Time that lets an assistant start and stop timers, log hours, manage clients, projects, tasks and tags, and pull summary…

What you can do
  • Start, stop and inspect the running timer, and log finished time entries with explicit start and end times
  • List time entries over a date range, filtered by project, client, task, tag, billable flag or description text
  • List and create clients, projects, tasks and tags, including rates, budgets and archived filtering
  • Produce summary reports of total and billable time and amount, grouped by project, client, task, tag or period
  • Check the API token's workspace, scopes and visibility of other members' time and money
When to use it
Useful for freelancers and teams who bill clients by the hour and want to track or report hours conversationally from an MCP client instead of the web app. It fits both the hosted service and a self-hosted instance.
Requirements
Runs locally via npx, so Node.js 24 or newer is needed. Requires a Track Your Time API token created in Settings, passed as the TRACKYOURTIME_API_TOKEN environment variable; the token belongs to one workspace and only the tools its scopes allow are offered. For self-hosting, set TRACKYOURTIME_API_URL to your instance's origin. Network access to the API is required.
Before you install
The API token acts like a password and MCP client config files usually store it in plain text; grant only the scopes you need and revoke it when done. Write tools create entries, clients, projects, tasks and tags, and starting a timer stops any timer already running in the workspace. Reports are refused when the token's owner may not see other members' data. No invoice tools exist; invoices are handled in the web app.

Installation

In SourceWeft

  1. Open Track Your Time in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

Track Your Time MCP server

Start a timer, record missed hours, or ask for a report from your MCP client. Use the hosted Track Your Time service or your own server.

Requires Node.js 24 or newer and a Track Your Time API token.

Connect

Create a token in Settings → Integrations → API tokens. Select only the scopes you need. The token belongs to one workspace.

Add this entry to your MCP client's configuration:

json
{  "mcpServers": {    "trackyourtime": {      "command": "npx",      "args": ["-y", "trackyourtime-mcp"],      "env": {        "TRACKYOURTIME_API_TOKEN": "tt_your_token"      }    }  }}

For self-hosting, also set TRACKYOURTIME_API_URL to your instance's origin, such as https://time.example.com.

Treat the API token like a password. MCP client configuration files usually store it in plain text. Revoke the token in Track Your Time when you stop using it.

Available tools

The server reads your token's scopes and offers the tools those scopes permit:

ScopeTools
Noneget_token_info
entries:readget_running_timer, list_entries
entries:writestart_timer, stop_timer, log_time_entry
catalog:readlist_clients, list_projects, list_tasks, list_tags
catalog:writecreate_client, create_project, create_task, create_tag
reports:readsummary_report

There are no invoice tools or hosted MCP endpoint. This package uses stdio and calls your server's REST API.

Full documentation · Source

Licensed under AGPL-3.0-or-later. The published bundle includes source maps with the bundled TypeScript source.

Source: packages/mcp/README.md at commit dcd102e

Tools

15

get_token_info

Check the connection

Confirm the MCP server can reach Track Your Time, and show the token's workspace, scopes and whether it may see other members' time and money. Call this first when another tool fails with an authentication error.

Takes no parameters.

get_running_timer

Get the running timer

Return the timer currently running in this token's workspace, with how long it has run, or say that none is running.

Takes no parameters.

start_timer

Start a timer

Start a timer now (or at `start`). A timer already running in this workspace is stopped first. Use list_projects, list_tasks and list_tags to find ids; pass none of them to track unfiled time. Answers 409 when a timer runs in another workspace this token cannot stop.

ParametersstarttagIdstaskIdbillableclientIdtimeZoneprojectIddescriptionoperationId

stop_timer

Stop the timer

Stop the timer running in this workspace, now or at `end`. Pass `id` to stop a specific entry; stopping an entry that is already stopped returns it unchanged.

ParametersidendoperationId

log_time_entry

Log past time

Create a finished time entry with an explicit start and end, for work that was not timed. `start` and `end` are ISO-8601 timestamps with an offset or Z, and end must be after start.

ParametersendrequiredstartrequiredtagIdstaskIdbillableclientIdtimeZoneprojectIddescriptionoperationId

list_entries

List time entries

List time entries that overlap a date range, newest first, with project, client and task names. Filter by project, client, task, tag, billable flag, or a text `search` over descriptions. Returns up to `limit` entries (default 100, max 500); pass `nextCursor` back as `cursor` for the next page.

ParameterstorequiredfromrequiredlimitcursorsearchtagIdstaskIdsbillabletimeZoneclientIdsprojectIds

list_clients

List clients

List the workspace's clients. Archived clients are left out unless includeArchived is true.

ParametersincludeArchived

list_projects

List projects

List projects with their client, hourly rate, total tracked time and budget progress. Narrow to one client with clientId. Archived projects are left out unless includeArchived is true.

ParametersclientIdincludeArchived

list_tasks

List tasks

List tasks. A task is a workspace-wide kind of work (for example "Design review"), not part of a project: an entry carries a project and a task independently.

ParametersincludeArchived

list_tags

List tags

List tags with how many entries carry each one and their total time.

ParametersincludeArchived

create_client

Create a client

Create a client. A colour is assigned when none is given.

ParametersnamerequiredcolorbillinginvoiceLocale

create_project

Create a project

Create a project, optionally under a client (clientId from list_clients), with an hourly rate, a billable default, estimated hours or a budget.

ParametersnamerequiredcolorclientIdhourlyRatebudgetAmountidleBehaviorbudgetCurrencyestimatedHoursbillableDefault

create_task

Create a task

Create a workspace-wide task, a name for a kind of work that any project's entries can use. Task names are unique per workspace.

Parametersnamerequiredcolor

create_tag

Create a tag

Create a tag. Entries can carry several tags, and reports can group by them.

Parametersnamerequiredcolor

summary_report

Summarise time

Total, billable time and amount for a date range, broken down by project, client, task or tag (or by day, week or month), plus a daily series. Grouped by tag, each entry counts fully toward every tag it carries, so tag rows can add up to more than the total. Refused when the token's owner may not see other members' money.

ParameterstorequiredfromrequiredsearchtagIdsgroupByrequiredtaskIdsbillabletimeZoneclientIdsmemberIdsprojectIds

Version history

1
  1. v0.3.0LatestOct 21, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts
  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts