MCP Hub
Back to servers

TrackingTime MCP Server

Connects AI assistants to the TrackingTime API v4 for managing projects, tasks, and team assignments. Users can start or stop timers, log manual time entries, and organize project workflows using natural language.

glama
Updated
Feb 11, 2026

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

ToolDescription
tt_list_projectsList projects (filter: ACTIVE/ARCHIVED/ALL/FOLLOWING)
tt_list_project_idsList only project IDs (lightweight, for batch operations)
tt_search_projectsSearch projects and tasks by keyword
tt_create_projectCreate a new project
tt_update_projectEdit project name, customer, or service
tt_update_project_preferencesSet favorite, default view, show closed tasks
tt_get_projectGet single project with detail flags
tt_get_project_timesGet accumulated time for multiple projects
tt_get_project_usersSee which staff are on a project
tt_archive_projectArchive a project (reversible)
tt_reopen_projectReopen an archived project
tt_delete_projectPermanently delete a project
tt_merge_projectsMerge one project into another

Tasks

ToolDescription
tt_list_tasksList tasks (filter: ACTIVE/ARCHIVED/ALL/TRACKING)
tt_create_taskCreate a task with assignees, due date, estimate
tt_update_taskEdit task or reassign staff
tt_get_taskGet single task details
tt_get_task_timesGet accumulated times for multiple tasks
tt_search_tasksSearch tasks by name within projects
tt_sort_tasksReorder tasks by sort index
tt_import_tasksBulk import tasks with preview mode
tt_close_taskMark a task as complete
tt_reopen_taskReopen a completed task
tt_delete_taskDelete a task

Time Tracking

ToolDescription
tt_start_timerStart a timer on a task
tt_stop_timerStop a running timer

Time Entries

ToolDescription
tt_list_time_entriesList entries by user/project/customer/task + date range
tt_add_time_entryAdd a manual time entry (duration in seconds)
tt_get_time_entryGet a single time entry
tt_update_time_entryEdit a time entry
tt_delete_time_entryDelete a time entry
tt_get_events_summarySummary of hours per user per day
tt_export_time_entriesExport as CSV
tt_mark_billedFlag entries as billed
tt_mark_not_billedUnflag billed entries

Users & Staff

ToolDescription
tt_list_usersList all staff (find user IDs)
tt_get_userGet single user details
tt_update_userUpdate user profile
tt_get_user_tasksList a user's tasks grouped by project
tt_get_user_trackingSee what a user is currently tracking
tt_get_user_trackablesAll projects and tasks assigned to a user
tt_get_user_projectsList projects assigned to a user
tt_assign_user_projectsAssign staff to projects
tt_remove_user_projectsRemove staff from projects
tt_archive_userDeactivate a user (admin only)
tt_reactivate_userReactivate an archived user
tt_invite_usersInvite people by email

Customers

ToolDescription
tt_list_customersList customers (filter: ACTIVE/ARCHIVED/ALL)
tt_get_customerGet single customer details
tt_create_customerCreate a new customer
tt_update_customerEdit customer details
tt_delete_customerPermanently delete a customer
tt_archive_customerArchive a customer (reversible)
tt_reactivate_customerReactivate an archived customer

Reducing tool count

All 54 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

Reviews

No reviews yet

Sign in to write a review