io.github.TrackingTime/mcp-server
Official26 toolsTrackingTime MCP server for profile, events, users, projects, tasks, customers, and services.
Manage time tracking profiles, projects, tasks, customers, and services via TrackingTime.
Captured live from the server via tools/list.
get_me
Returns the authenticated user's profile from /me (user_id, account_id and identity fields). Use this first to discover account context before calling list/get tools. Limitations: read-only; requires valid credentials via app_password/api_token or X-API-Key; does not return full account-wide analytics.
Parameters (2)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
list_workspaces
Lists available workspaces/accounts for the authenticated user, including account_id and selected workspace flag. Use this when multiple workspaces exist and you need to choose account_id before other tools.
Parameters (2)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
list_events
Lists time events from /events for a date range. Supports filters by USER, PROJECT, CUSTOMER, TASK, or COMPANY, plus pagination and sort order. If filter/id are missing, it defaults to USER and auto-resolves the caller user_id. For global account-level events, set filter=COMPANY (or use list_company_events). Limitations: from and to are required; results are paginated; only returns data accessible to the authenticated account.
Parameters (12)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- filterstring
- global_companyboolean
- idnumber
- fromstringrequired
- tostringrequired
- pagenumber
- page_sizenumber
- orderstring
- include_custom_fieldsboolean
list_company_events
Lists company-level events from /events using filter=COMPANY. Use this for global metrics (for example, total hours by user in a period) without iterating user-by-user. Requires from/to and does not require id.
Parameters (9)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- fromstringrequired
- tostringrequired
- pagenumber
- page_sizenumber
- orderstring
- include_custom_fieldsboolean
get_event
Fetches one time event by event_id from /events/{id}. Use when you already have an event identifier and need full event detail. Limitations: requires a valid event_id in the same accessible account context; read-only.
Parameters (4)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- event_idnumberrequired
list_users
Lists account users from /users. Supports filters and optional billing/team/employee expansion. Use this to discover users before calling user-specific tools. Limitations: read-only; visibility depends on role permissions (typically admin/project manager for full account listing).
Parameters (6)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- filterstring
- include_billingboolean
- include_custom_fieldsboolean
get_user
Gets a single user from /users/:id. Use when you already have a user id and need detailed profile data. Limitations: read-only; access to other users depends on role permissions.
Parameters (5)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- user_idnumberrequired
- include_custom_fieldsboolean
list_user_tasks
Lists tasks assigned to a user from /users/:id/assigned_tasks, grouped by project. By default (without filter) this endpoint returns the user's active assigned tasks. Use filter only when you explicitly need another subset (ALL, ARCHIVED, TRACKING). If filter is not provided, it is not sent to the API. Limitations: read-only; visibility depends on account permissions.
Parameters (10)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- user_idnumberrequired
- filterstring
- pagenumber
- page_sizenumber
- sort_bystring
- orderstring
- include_billingboolean
list_user_projects
Lists projects assigned to a user from /users/:user_id/projects. Use to scope project context for a specific person. Limitations: read-only; returns only projects visible in the authenticated account context.
Parameters (4)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- user_idnumberrequired
list_user_trackables
Lists user trackables from /users/:id/trackables (projects and tasks grouped by project). Supports favorite-only mode and project/task filtering options. Limitations: read-only; payload size can grow on large accounts.
Parameters (7)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- user_idnumberrequired
- only_favoritesboolean
- include_tasksboolean
- project_idnumber
list_projects
Lists projects from /projects with optional status filter (ALL, ACTIVE, ARCHIVED). Use for project discovery before task/event queries. Limitations: read-only listing; filter values are restricted to ALL/ACTIVE/ARCHIVED.
Parameters (4)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- filterstring
list_tasks
Lists tasks from /tasks, optionally scoped by project_id and status filter (ALL, ACTIVE, ARCHIVED). Use after selecting a project to narrow task context. Limitations: read-only; project_id must exist in the same account context when provided.
Parameters (5)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- project_idnumber
- filterstring
create_task
Creates a new task using POST /tasks/add. Supports assigning users, linking to a project, custom fields and billable flag. Limitations: write operation; requires permissions to create tasks in the target account/project.
Parameters (11)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- namestringrequired
- descriptionstring
- usersany
- typestring
- project_idnumber
- project_namestring
- custom_fieldsany
- is_billableboolean
get_task
Gets a specific task from /tasks/:task_id. By default this tool requests include_custom_fields=true so task custom fields are returned unless explicitly disabled. Use when you need full task details by id. Limitations: read-only; task must belong to the authenticated account context.
Parameters (5)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- task_idnumberrequired
- include_custom_fieldsboolean
update_task
Updates an existing task using /tasks/update/:task_id. Supports changing description, due date, project/service linkage, assignees, billing fields and custom fields. Limitations: write operation; task must exist in the target account, and permissions depend on role.
Parameters (19)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- task_idnumberrequired
- idnumber
- due_datestring
- list_idnumber | string
- list_positionnumber | string
- project_idnumber | string
- project_namestring
- service_idnumber | string
- service_namestring
- estimated_timenumber | string
- is_billableboolean
- hourly_ratenumber | string
- usersany
- typestring
- custom_fieldsany
- descriptionstring
create_customer
Creates a new customer using POST /customers/add. Supports adding custom field values during creation. Limitations: write operation; requires permissions in the target account.
Parameters (5)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- namestringrequired
- custom_fieldsany
update_customer
Updates an existing customer using /customers/update/:customer_id. Supports renaming the customer and updating custom field values. Limitations: write operation; customer must exist in the target account.
Parameters (6)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- customer_idnumberrequired
- namestring
- custom_fieldsany
create_project
Creates a new project using POST /projects/add. Supports linking a customer, custom fields, public visibility and estimated time. Limitations: write operation; requires permissions to create projects in the target account.
Parameters (10)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- namestringrequired
- is_publicboolean
- default_viewstring
- custom_fieldsany
- customer_idnumber
- customer_namestring
- estimated_timenumber | string
update_project
Updates an existing project using /projects/update/:project_id. Supports core project fields, billing fields, customer/service linkage, notes and custom fields. Limitations: write operation; project must exist in the target account.
Parameters (19)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- project_idnumberrequired
- namestring
- colorstring
- delivery_datestring
- customer_idnumber | string
- customer_namestring
- service_idnumber | string
- service_namestring
- notesstring
- estimated_timenumber | string
- hourly_ratenumber | string
- is_billableboolean
- fixed_ratenumber | string
- retainer_closing_daynumber | string
- default_viewstring
- custom_fieldsany
create_event
Creates a new time event using POST /events/add. Supports linking to a task or project, optional notes, repeating configuration and custom fields. Limitations: write operation; start, end and timezone are required.
Parameters (19)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- startstringrequired
- endstringrequired
- durationnumber
- timezonestringrequired
- user_idnumber
- notesstring
- event_typestring
- task_idnumber
- task_namestring
- project_idnumber
- project_namestring
- repeatstring
- repeat_everynumber
- end_repeatstring
- frequencystring
- custom_fieldsany
update_event
Updates an existing time event using /events/update/:event_id. Supports changing task/project linkage, start/end timestamps, notes, user and custom fields. Limitations: write operation; event must exist in the target account.
Parameters (16)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- event_idnumberrequired
- task_idnumber | string
- task_namestring
- project_idnumber | string
- project_namestring
- startstring
- endstring
- notesstring
- user_idnumber | string
- event_typestring
- is_billedboolean
- include_custom_fieldsboolean
- custom_fieldsany
track_task
Starts tracking time. With task_id, calls POST /tasks/track/:task_id. Without task_id, calls /tasks/track/ with query fields such as task_name and project_name/project_id. Limitations: write operation; provide either task_id or a trackable task/project/service reference.
Parameters (16)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- task_idnumber | string
- task_namestring
- project_idnumber | string
- project_namestring
- servicestring
- service_project_idstring
- service_task_idstring
- datestring
- timezonestring
- return_taskboolean
- stop_running_taskboolean
- notesstring
- tagsany
stop_task
Stops tracking a running task using /tasks/stop/:task_id. Requires date in YYYY-MM-DD HH:MM:SS format and timezone as an IANA timezone (for example Europe/Stockholm). Agents should derive the current local date/time and IANA timezone from the user's computer/settings before calling this tool. Limitations: write operation; the task must be currently trackable in the target account.
Parameters (7)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- task_idnumberrequired
- datestringrequired
- timezonestringrequired
- return_taskboolean
create_custom_field
Creates a new custom field using POST /custom_fields/add. Supports task, project, event, user and customer custom fields. Limitations: write operation; value_type and filter_object_class are required.
Parameters (9)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- namestringrequired
- colorstring
- notesstring
- value_typestringrequired
- filter_object_classstringrequired
- cf_indexnumber
create_enum_option
Creates a new enum option for an existing custom field using POST /enum_options/add. Limitations: write operation; requires an existing enum custom field id.
Parameters (9)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- namestringrequired
- indexnumber
- custom_fieldnumberrequired
- colorstring
- enabledboolean
- notesstring
list_customers
Lists customers from /customers with optional status filter (ALL, ACTIVE, ARCHIVED). Use to map customer entities before querying related projects/events. Limitations: read-only listing; filter values are restricted to ALL/ACTIVE/ARCHIVED.
Parameters (4)
- app_passwordstring
TrackingTime app password
- api_tokenstring
Alias of app_password
- account_idnumber
TrackingTime workspace/account ID. Required when the user belongs to multiple workspaces.
- filterstring
README not available yet.
Install
claude_desktop_config.json
{
"mcpServers": {
"mcp-server": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://mcp.trackingtime.co/mcp"
]
}
}
}Desktop config is stdio-only; this bridges via mcp-remote. Native remote: Settings > Connectors.