Skip to main content
Glama

clockify-mcp-server

M8ven Score

Log time to your Clockify projects by asking your agent, instead of clicking through the UI.

"add 4h on ACME every morning this week and 4h on Evil Corp every afternoon"

β†’ one log_time call, 10 entries created, 40h total.

A local stdio MCP server. Run it with your own API key, nothing is shared or hosted. It ships as a single file with no dependencies: a 140 kB download, so npx starts it in a moment.

Tool

What it does

list_projects

Active projects you can log time to

log_time

Create entries in bulk, project by name (and client if names repeat), date + start/end in your profile time zone

list_time_entries

Your time entries between two dates

delete_time_entries

Delete entries

Times are in your Clockify profile time zone. You say 09:00, the server reads settings.timeZone from your Clockify profile and converts to UTC.

Approval prompts come from your agent, not from this server. Whether you are asked before each call is up to your harness and its permission settings. The server marks the list_* tools read-only and delete_time_entries destructive, but these are treated as hints: the server enforces no authorization of its own. Anything your API key can do, the tools can too.


Use it πŸš€

Everything you need if you just want to log time. Takes about two minutes.

1. Have Node 20 or later. Check with node --version.

2. Get your Clockify API key:

Clockify β†’ your avatar β†’ Preferences β†’ ADVANCED tab β†’ Manage API keys β†’ GENERATE NEW

3. Register the server with your agent:

claude mcp add clockify -s user -e CLOCKIFY_API_KEY=<key> -- npx -y @condensetech/clockify-mcp-server@1

-s user writes it to your personal config so it loads in every project (the default scope, local, would bind it to the current directory).

Add this to its MCP config:

{
  "mcpServers": {
    "clockify": {
      "command": "npx",
      "args": ["-y", "@condensetech/clockify-mcp-server@1"],
      "env": { "CLOCKIFY_API_KEY": "<key>" }
    }
  }
}

Updates are automatic: each time your harness starts the server, npx fetches the latest 1.x release. @1 also means a breaking 2.0 never reaches you unannounced.

4. Check it in a fresh session:

list my clockify projects
log 2 hours on <project> today from 09:00 to 11:00, description test
show my clockify entries for this week
delete that entry

Open the Clockify UI after the second prompt and confirm the entry reads 09:00–11:00. If it shows a different time, your Clockify profile time zone is not what you think it is, fix it in Clockify preferences.

Environment

Variable

Required

Notes

CLOCKIFY_API_KEY

yes

Preferences β†’ Advanced β†’ Manage API keys

CLOCKIFY_API_BASE

no

Regional hosts: https://euc1.clockify.me/api/v1 (EU), euw2 (UK), use2 (US), apse2 (AU)

Time is logged to your active workspace: the one selected in Clockify. To use another, switch to it in Clockify.

If something goes wrong

  • CLOCKIFY_API_KEY is not set β€” the key did not reach the server process. Put it in the harness config's env, not in your shell.

  • Ambiguous project "x". Candidates: … β€” deliberate. The server refuses to guess; use one of the listed names. Projects with the same name under different clients are listed as Name (Client): name the client too, or pass the project id from list_projects.

  • 404s on every call β€” your workspace is on a regional host. Set CLOCKIFY_API_BASE.

  • Entries land at the wrong hour β€” check your Clockify profile time zone (see step 4 of "Use it").


Related MCP server: Clockify Time Tracking

Contribute

Setup, checks and pull request rules are in CONTRIBUTING.md.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

Loading tool schema changelog…

    Related MCP Connectors

    Related MCP Servers