Skip to main content
Glama

TrackingTime MCP Server

An MCP (Model Context Protocol) server that connects AI assistants like Claude to the TrackingTime API v4. Manage projects, tasks, time tracking, staff assignments, and customers through natural language.

Quick Start

1. Get your TrackingTime credentials

  • App Password: TrackingTime → Manage → User Settings → Apps & Integrations → create a new App Password

  • Account ID: Visible in your TrackingTime URL when logged in, or in account settings

2. Add to your AI assistant

Claude Code:

claude mcp add trackingtime -e TT_APP_PASSWORD=your-app-password -e TT_ACCOUNT_ID=your-account-id -- npx trackingtime-mcp

Claude Desktop (claude_desktop_config.json):

{
  "mcpServers": {
    "trackingtime": {
      "command": "npx",
      "args": ["trackingtime-mcp"],
      "env": {
        "TT_APP_PASSWORD": "your-app-password",
        "TT_ACCOUNT_ID": "your-account-id"
      }
    }
  }
}

Restart your assistant after adding.

Alternative: Install from source

If you prefer to clone and build locally:

git clone https://github.com/ficus33/trackingtime-mcp.git
cd trackingtime-mcp
npm install
npm run build
cp .env.example .env   # then edit .env with your credentials

Then point your assistant at the local build:

claude mcp add trackingtime -- node /path/to/trackingtime-mcp/dist/index.js

Tools

Projects

Tool

Description

tt_list_projects

List projects (filter: ACTIVE/ARCHIVED/ALL/FOLLOWING)

tt_list_project_ids

List only project IDs (lightweight, for batch operations)

tt_search_projects

Search projects and tasks by keyword

tt_create_project

Create a new project

tt_update_project

Edit project name, customer, or service

tt_update_project_preferences

Set favorite, default view, show closed tasks

tt_get_project

Get single project with detail flags

tt_get_project_times

Get accumulated time for multiple projects

tt_get_project_users

See which staff are on a project

tt_archive_project

Archive a project (reversible)

tt_reopen_project

Reopen an archived project

tt_delete_project

Permanently delete a project

tt_merge_projects

Merge one project into another

Tasks

Tool

Description

tt_list_tasks

List tasks (filter: ACTIVE/ARCHIVED/ALL/TRACKING)

tt_create_task

Create a task with assignees, due date, estimate

tt_update_task

Edit task or reassign staff

tt_get_task

Get single task details

tt_get_task_times

Get accumulated times for multiple tasks

tt_search_tasks

Search tasks by name within projects

tt_sort_tasks

Reorder tasks by sort index

tt_import_tasks

Bulk import tasks with preview mode

tt_close_task

Mark a task as complete

tt_reopen_task

Reopen a completed task

tt_delete_task

Delete a task

Time Tracking

Tool

Description

tt_start_timer

Start a timer on a task

tt_stop_timer

Stop a running timer

Time Entries

Tool

Description

tt_list_time_entries

List entries by user/project/customer/task + date range

tt_list_time_entries_min

Lighter minimal list (billed filter, timeoffs)

tt_count_time_entries

Fast count of entries for a filter

tt_add_time_entry

Add a manual time entry (duration in seconds)

tt_get_time_entry

Get a single time entry

tt_update_time_entry

Edit a time entry

tt_delete_time_entry

Delete a time entry

tt_get_events_summary

Summary of hours per user per day

tt_export_time_entries

Export as CSV

tt_mark_billed

Flag entries as billed

tt_mark_not_billed

Unflag billed entries

Event Tags

Tool

Description

tt_list_tags

List all tag definitions

tt_get_tag

Get a single tag

tt_list_tag_values

List values used for a tag name

tt_create_tag

Create a tag definition

tt_update_tag

Update a tag

tt_delete_tag

Delete a tag definition

tt_save_event_tag

Attach/update a tag on a time entry

tt_delete_event_tag

Remove a tag from a time entry

Users & Staff

Tool

Description

tt_list_users

List all staff (find user IDs)

tt_get_user

Get single user details

tt_create_user

Create a user (replaces removed tt_invite_users)

tt_update_user

Update user profile

tt_update_user_permissions

Set granular edit/view permissions

tt_update_employee

Update HR fields (job title, department, dates…)

tt_resend_invite

Resend activation email to pending user

tt_reset_icalendar_token

Rotate the user's iCal export token

tt_get_user_tasks

List a user's tasks grouped by project

tt_get_user_tracking

See what a user is currently tracking

tt_get_user_trackables

All projects and tasks assigned to a user

tt_get_user_projects

List projects assigned to a user

tt_assign_user_projects

Assign staff to projects

tt_remove_user_projects

Remove staff from projects

tt_archive_user

Deactivate a user (admin only)

tt_reactivate_user

Reactivate an archived user

User Groups

Tool

Description

tt_list_user_groups

List groups (filter: ACTIVE/ARCHIVED/ALL)

tt_get_user_group

Get a single group

tt_create_user_group

Create a group (supervisor + members required)

tt_update_user_group

Update a group (archive via status: "ARCHIVED")

tt_delete_user_group

Permanently delete a group

Customers

Tool

Description

tt_list_customers

List customers (filter: ACTIVE/ARCHIVED/ALL)

tt_get_customer

Get single customer details

tt_create_customer

Create a new customer

tt_update_customer

Edit customer details

tt_delete_customer

Permanently delete a customer

tt_archive_customer

Archive a customer (reversible)

tt_reactivate_customer

Reactivate an archived customer

Services

Tool

Description

tt_list_services

List services (work categories)

tt_get_service

Get a service

tt_create_service

Create a new service

tt_update_service

Update a service

tt_archive_service

Archive a service (reversible)

tt_reactivate_service

Reactivate an archived service

tt_delete_service

Permanently delete a service

Teams (Workspaces)

Tool

Description

tt_list_teams

List all workspaces the user belongs to

tt_switch_team

Switch the active workspace for the session

tt_update_team_permissions

Update default member permissions

Reports

Tool

Description

tt_get_user_report

Per-user analytics report with charts and breakdowns

Notifications

Tool

Description

tt_list_notifications

List notifications (USER or PROJECT scope)

tt_mark_notification_read

Mark one notification as read

tt_mark_notifications_read

Mark many notifications as read

Webhooks

Tool

Description

tt_list_webhooks

List configured webhooks

tt_get_webhook

Get a webhook

tt_enable_webhook

Enable a webhook

tt_disable_webhook

Disable a webhook

tt_reset_webhook_token

Rotate a webhook's signing token

tt_delete_webhook

Delete a webhook

Reducing tool count

All 93 tools are active by default. If you find this adds too much context for your AI assistant, you can clone the repo, comment out tools you don't need in src/tools.ts with /* */, and run npm run build to create a slimmer build.

Testing

Use MCP Inspector to test tools interactively:

npx @modelcontextprotocol/inspector npx trackingtime-mcp

API Notes

A few TrackingTime API quirks to be aware of:

  • duration and accumulated_time are in seconds

  • estimated_time and worked_hours are in hours

  • Time entries are called "events" in the API

  • Starting a timer when one is already running returns error 502 — use stop_running_task=true to auto-stop the current timer

  • Dates use YYYY-MM-DD, datetimes use yyyy-MM-dd HH:mm:ss

Auth

This server uses TrackingTime's App Password authentication. Your real password is never stored. The App Password is sent as HTTP Basic auth (API_TOKEN:<app_password>) over SSL.

If an App Password is compromised, revoke it in TrackingTime and create a new one — no need to change your account password.

License

MIT

A
license - permissive license
-
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
3wRelease cycle
4Releases (12mo)

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/ficus33/trackingtime-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server