Time Doctor MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| AUTH_MODE | No | env (default, reads the vars above) or gateway (credentials arrive per-request via X-TimeDoctor-Email / X-TimeDoctor-Password headers, injected by the Conduit gateway). | env |
| LOG_LEVEL | No | debug | info (default) | warn | error. | info |
| MCP_TRANSPORT | No | stdio (default) or http. | stdio |
| TIMEDOCTOR_EMAIL | No | Time Doctor account email address. | |
| CONDUIT_S2S_SECRET | No | When set, the HTTP transport requires a valid X-Gateway-S2S header (Conduit sidecar auth) on every /mcp request. | |
| TIMEDOCTOR_PASSWORD | No | Time Doctor account password. |
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 | {} |
| logging | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| timedoctor_list_companiesA | List Time Doctor companies (workspaces) the authenticated user owns or administers. |
| timedoctor_get_companyA | Get a single Time Doctor company by ID. |
| timedoctor_list_usersA | List Time Doctor users, optionally scoped to a company and filtered by email/name. |
| timedoctor_get_userA | Get a single Time Doctor user by ID. |
| timedoctor_check_invitationA | Check whether a Time Doctor company invitation exists for an email address (read-only - does not send or manage invitations). |
| timedoctor_list_projectsC | List Time Doctor projects in a company. |
| timedoctor_get_projectC | Get a single Time Doctor project by ID. |
| timedoctor_list_tasksA | List Time Doctor tasks in a company, optionally filtered by project, name, or open/closed status. |
| timedoctor_get_taskB | Get a single Time Doctor task by ID. |
| timedoctor_get_worklogA | Get detailed Time Doctor work-session log (start times, duration, task/project, mode) for a user or company within a time range. For best performance, query <=7-day windows at a time. |
| timedoctor_get_timeuse_statsB | Get aggregated Time Doctor productivity statistics (time spent per application/category, productive vs. unproductive) for a user or company within a time range. |
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 11 tools
Most tools are clearly distinct by resource (companies, users, projects, tasks, worklogs, stats). The only mild overlap is between list_projects/list_tasks and get_project/get_task, but the list/get distinction is standard and clear. check_invitation is unique and well-scoped.
All tools follow a consistent timedoctor_verb_noun pattern (list/get/check). The only minor deviation is check_invitation instead of get_invitation or list_invitations, but it is still readable and consistent with the verb-first convention.
11 tools is well within the ideal range for a domain-specific server. Each tool covers a distinct resource or operation, and the count feels appropriate for Time Doctor's API surface without being bloated.
The server covers read operations well across companies, users, projects, tasks, worklogs, and stats, but lacks write operations entirely (no create/update/delete for projects, tasks, or users). For a read-only reporting/analytics server this would be complete, but the presence of check_invitation hints at broader management capabilities that are not fully covered.