Start Timer
timer_startStart millisecond-precision stopwatches or countdowns. Name timers after tasks, launch simultaneous races, and receive live announcements.
Instructions
Start a millisecond-precision stopwatch (or countdown) on the TimerMCP server.
The server stamps the start on a MONOTONIC nanosecond clock the instant this call arrives. Elapsed time is computed server-side as stop-stamp minus start-stamp, so the constant part of the pipeline delay (user → Claude → server) cancels out between start and stop — only the difference in latency between the two calls can leak in.
Args:
name (string, default "main"): Timer name. NAME IT AFTER THE TASK — when the user says what they are working on ("start a timer for the auth refactor"), use that as the name ("auth refactor") so their session log reads like a work journal. Pass a comma-separated list (e.g. "alice,bob") to start several timers on the SAME nanosecond — race mode.
target_ms (number, optional): Turns the run into a countdown (Pomodoro, rest interval, speedrun target). Stop reports over/under.
announcer ('hype'|'zen'|'sergeant'|'sports'|'minimal', optional): Voice for this run's announcements. Defaults to configured style.
start_offset_ms (number, optional): Milliseconds subtracted from the final elapsed to bias out start-side latency. Defaults to configured value (0).
Returns: { started: [{name, elapsed_ms, started_wall, target_ms?}], announcement, dashboard_url }
IMPORTANT: Relay the 'announcement' line to the user with matching energy — you are the track announcer. Mention the dashboard_url the first time so they can put the live wall display on a second screen.
Errors: fails if a timer with the same name is already running (stop or cancel it first, or pick another name).
Tool call template
This tool declares no required parameters. Add optional parameters from the input schema as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {},
"name": "timer_start"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Timer name; comma-separate for a simultaneous race start, e.g. "me,rival" | main |
| announcer | No | Announcement personality for this run | |
| target_ms | No | Optional countdown target in ms (e.g. 1500000 for a 25-min Pomodoro) | |
| start_offset_ms | No | Latency handicap subtracted from the final time (start side) |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| started | Yes | ||
| announcement | Yes | ||
| dashboard_url | Yes |