MCP server for Track Your Time: timers, entries, catalog and reports over the public REST API.
Track Your Time MCP has well-structured tool definitions with consistent naming (verb_noun pattern), comprehensive parameter schemas with types, and clear descriptions. All 15 tools follow action-verb conventions (get_, list_, create_, start_, stop_, log_). Descriptions average ~120 chars and explain WHAT, WHEN, and prerequisites. Parameters include type definitions and most have descriptions. However, output schemas are not documented in the source, parameter descriptions lack format/constraint details (e.g., ISO-8601 format stated but no regex/pattern), and error handling guidance is minimal. No tool annotations (readOnlyHint/destructiveHint) despite clear risk classifications. Composition is strong, tools chain well (list_projects → start_timer with projectId). Security: no secrets exposed as parameters.
Create a new client in this workspace.
Create a new project in this workspace.
Create a new tag in this workspace.
Create a new task in this workspace.
Return the timer currently running in this token's workspace, with how long it has run, or say that none is running.
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.
Output schemas not documented. Tools return data but LLMs cannot see expected fields, types, or pagination structure. Forces LLMs to guess field names for downstream tool calls.
Parameter descriptions lack format constraints. ISO-8601 timestamps mentioned but no regex pattern or example. timeZone accepts IANA names but no validation hint. LLMs may pass invalid formats.
No tool annotations (readOnlyHint, destructiveHint, idempotentHint). Risk field is present in metadata but not exposed to LLM via tool schema. Agents cannot distinguish safe reads from destructive writes without reading descriptions.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | C | 62 | 2026-07-28+ | v2 |
List all clients in this workspace.
List time entries in a date range, optionally filtered by project, task or tag. Defaults to the last 14 days.
List all projects in this workspace, optionally filtered by client.
List all tags in this workspace.
List all tasks in this workspace, optionally filtered by project.
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.
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.
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.
Summarize time by project, task or tag in a date range. Defaults to the last 7 days, grouped by project.
Error handling guidance missing. No recovery hints for common failures (e.g., 409 conflict when timer runs in another workspace). LLMs receive raw error codes with no actionable next steps.
List tools lack pagination parameters. list_entries, list_projects, list_tasks, list_tags, list_clients accept no limit/offset/cursor. Large workspaces could return thousands of items, exhausting context.