Home · Setup · Cline

MCP Time Tracker in Cline

Track billable time without leaving the chat. It keeps a running timer, takes time you forgot to log, applies an hourly rate per project, and turns the log into a report, a CSV or invoice lines. Plain JSON on disk.

Confirming every tool call is noisy for a stopwatch. Put timer_start, timer_stop and timer_status in that server's autoApprove array and leave export_csv, which writes a file, out of it.

What you get in Cline

You sayTool
Start a timer for the Acme website project.timer_start
Log 2.5 hours yesterday for Acme, design review, at 90 euros an hour.entry_add
How many hours did I bill this month, grouped by project?report

In the audit run each of those sentences took one tool call, at 7.7 s and 14.6 s including a turn that also logged an expense.

Install it in Cline

The file is mcp.json, and the key inside it is mcpServers.

ScopePath
Cline CLI~/.cline/mcp.json
The editor extensionopened from the Cline panel, not by path; the documentation deliberately calls it the MCP settings JSON used by the extension
{
  "mcpServers": {
    "time-tracker": {
      "command": "npx",
      "args": ["-y", "@theluckystrike/mcp-time-tracker"],
      "disabled": false,
      "autoApprove": []
    }
  }
}

No full-app restart. The MCP settings actions include restarting an unresponsive server if its tools do not appear.

The npm publish of @theluckystrike/mcp-time-tracker is pending; until then use the .mcpb bundle or a clone and build from the latest release.

No install: the hosted endpoint

The same server runs at https://mcp.zovo.one/mcp/time-tracker over MCP streamable HTTP, no install. Mint a free token with curl https://mcp.zovo.one/mcp/token, or use a Pro key. It has no filesystem, so a file comes back as a one-hour download link.

Write the transport in. Omitting type falls back to the legacy sse transport, which will not talk to this endpoint:

{
  "mcpServers": {
    "time-tracker": {
      "type": "streamableHttp",
      "url": "https://mcp.zovo.one/mcp/time-tracker",
      "headers": { "Authorization": "Bearer <token>" }
    }
  }
}

Cline notes worth knowing first

Cline is the one client here with an unsafe transport default. `type` selects it, and omitting `type` falls back to the legacy sse transport, so a streamable HTTP endpoint needs it written in or you will debug a server that is fine. Local entries carry "disabled" and an "autoApprove" array.

Free: unlimited timers and entries, 7 days of reports, 2 rated projects. Pro is $19 once, verified offline.

Questions

Where does the config live?

The CLI reads ~/.cline/mcp.json. For the extension, do not hunt for a path: MCP Servers icon, Configure tab, Configure MCP Servers. cline mcp opens a wizard, and cline config mcp --json is the non-interactive form.

The hosted endpoint will not connect.

Set the transport explicitly. Omitting type falls back to the legacy sse transport, so streamable HTTP needs "type": "streamableHttp" written in. It is the one default here that sends you debugging a server that works.

Should I auto-approve MCP Time Tracker's tools?

Approve the read-only ones and leave the writing ones behind a click: each entry carries an autoApprove array and a disabled flag.

Related

MCP Time Tracker in detail · The same server in Windsurf and Claude Desktop · Every server in Cline · Guides · Cline docs