Skip to content

Repository files navigation

Clockify MCP Server

An MCP server that exposes the Clockify REST and Reports APIs to LLM clients (Claude Desktop, Claude Code, Cursor, etc).

Tools

ToolPurpose
clockify_list_workspacesList every workspace the API key can see
clockify_get_current_userGet your own profile + active workspace
clockify_list_workspace_usersList/filter users on a workspace
clockify_list_clients / clockify_get_client / clockify_create_client / clockify_update_client / clockify_delete_clientClient CRUD
clockify_list_projects / clockify_get_project / clockify_create_project / clockify_update_project / clockify_delete_projectProject CRUD
clockify_list_tasks / clockify_get_task / clockify_create_task / clockify_update_task / clockify_delete_taskTask CRUD
clockify_list_tags / clockify_get_tag / clockify_create_tag / clockify_update_tag / clockify_delete_tagTag CRUD
clockify_list_time_entriesList a user's time entries with filters
clockify_get_time_entryGet one time entry by ID
clockify_list_in_progress_entriesCurrently running entries across the workspace
clockify_start_time_entryStart a timer or log a past entry
clockify_update_time_entryEdit a time entry
clockify_stop_running_timerStop the user's active timer
clockify_delete_time_entryDelete a time entry
clockify_detailed_reportDetailed report (one row per entry)
clockify_summary_reportSummary report grouped by 1-2 dimensions
clockify_weekly_reportWeekly timesheet report

All list tools support pagination (page, page_size) and a response_format of markdown or json.

Installation

npm install
npm run build

Configuration

The server requires a Clockify API key. Get one from Clockify → Profile Settings → API.

Set environment variables:

VariableRequiredDefaultNotes
CLOCKIFY_API_KEYyesYour X-Api-Key
CLOCKIFY_API_BASE_URLnohttps://api.clockify.me/api/v1Override for regional servers (euc1, use2, euw2, apse2) or subdomain workspaces
CLOCKIFY_REPORTS_BASE_URLnohttps://reports.api.clockify.me/v1Reports API base

Claude Desktop config

Add to claude_desktop_config.json:

{
"mcpServers": {
"clockify": {
"command": "node",
"args": ["/absolute/path/to/clockify-mcp-server/dist/index.js"],
"env": {
"CLOCKIFY_API_KEY": "your_clockify_api_key_here"
}
}
}
}

For regional workspaces (EU/US/UK/AU), add CLOCKIFY_API_BASE_URL and CLOCKIFY_REPORTS_BASE_URL accordingly.

Local testing

export CLOCKIFY_API_KEY=your_key
npx @modelcontextprotocol/inspector node dist/index.js

Examples

A few prompts the model can fulfil end-to-end:

  • "How many hours did I log on the 'Phoenix' project in March 2026?"get_current_userlist_projects (filter name="Phoenix") → detailed_report (project filter + date window).
  • "Who's currently tracking time right now?"list_workspaceslist_in_progress_entries.
  • "Create a 'Design review' task on the Phoenix project and start a timer for it."list_projectscreate_taskstart_time_entry.

Notes

  • All ISO-8601 datetimes must include the Z UTC suffix. The schemas enforce this.
  • Reports endpoints can be slow for wide date ranges — narrow dateRangeStart/dateRangeEnd if you hit timeouts.
  • Clockify rate-limits per API key. The error handler surfaces 429s with a hint to back off.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages