deepworktimer-mcp
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| DWT_TOKEN | No | API token. Defaults to reading from ~/.deepworktimer/token if not set. | ~/.deepworktimer/token |
| DWT_SOURCE | No | Device label shown on sessions started here. | mcp:<hostname> |
| DWT_BASE_URL | No | Base URL of the API. Point at a self-hosted instance. | https://deepworktimer.com |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| dwt_statusA | Show the active Deep Work Timer session (if any: task, time remaining, which device owns it) and today's total focus time. Call this first before starting or logging anything. |
| dwt_statsA | Total focus time for today, last 7 days, last 30 days, last 365 days and all time, plus best day and 30-day daily average. |
| dwt_lifetime_skillsA | The 10,000-hour ledger: lifetime focus hours for every #skill the user has tagged, sorted by hours, with the next milestone. Use to answer 'how many hours have I put into X'. |
| dwt_deposits_todayB | Today's ledger statement: each completed focus session with its tasks and minutes. |
| dwt_list_projectsA | List the user's projects (id, name). Tasks live in projects or unassigned. |
| dwt_create_projectB | Create a project to group tasks (e.g. a repo, a course, a certification). |
| dwt_list_tasksA | List open tasks. Without project_id returns unassigned tasks; with it, that project's tasks. Set snoozed=true to see snoozed tasks instead. |
| dwt_create_taskA | Create a task. Put skills in the description as #tags (e.g. 'Fix auth bug #python #django @1h'); an @Nh/@Nm marker sets the estimate. #tags only attach to skills that already exist on the account. Returns the created task with its attached skills. |
| dwt_complete_taskD | Mark a task as completed. |
| dwt_start_sessionA | Start a server-side focus session (default length: the account's pomodoro setting, usually 25 min; 1 to 240 minutes). There is ONE active session per account: starting takes over any session running on another device, so call dwt_status first and prefer dwt_switch_task when a session is already running. |
| dwt_switch_taskA | Move the active session's open segment to a different task. Time is split honestly between tasks; total is conserved. Use this instead of dwt_start_session when a session is already running. |
| dwt_log_sessionA | Complete the active session and write it to the ledger as one pomodoro, split across the tasks it touched. Refuses if another device currently owns the open segment (the user may be working there) unless force=true and the user explicitly asked. |
| dwt_abandon_sessionA | Discard the active session without logging any time. |
| dwt_log_pomodoroC | Record focus time that already happened (no running session): N minutes on one task, written to the ledger now. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 14 tools
Each tool targets a distinct action/resource: session lifecycle (start, switch, log, abandon), task/project management, and reporting views are clearly separated. Even closely related tools like dwt_log_session and dwt_log_pomodoro are disambiguated by the descriptions (active session vs. past time).
All tools share the 'dwt_' prefix and mostly follow a verb_noun pattern (list_projects, create_task, start_session, complete_task). A few names are noun-like (dwt_status, dwt_stats, dwt_lifetime_skills, dwt_deposits_today) but they are still predictable and consistent in style.
14 tools is well-scoped for a deep work timer with projects, tasks, sessions, and reporting. Each tool has a clear purpose, and the number is large enough to cover key workflows without feeling bloated.
The core domain is well covered: session management, task creation/completion, manual logging, and multiple reporting views are present. Minor gaps like task/project update or delete operations exist, but they are not essential to the primary focus-tracking workflow.