Skip to main content
Glama
clockify-mcp-server
by ivanherula

@ivanherula/clockify-mcp-server

An MCP (Model Context Protocol) server for Clockify time tracking. Exposes Clockify functionality as tools that Claude and other MCP-compatible LLM clients can invoke.

Installation

npx @ivanherula/clockify-mcp-server

Or install globally:

npm install -g @ivanherula/clockify-mcp-server
clockify-mcp-server

Related MCP server: Clockify MCP Server

Environment Variables

Variable

Required

Description

CLOCKIFY_API_KEY

Yes

Your Clockify API key (found in Profile Settings → API)

CLOCKIFY_WORKSPACE_ID

No

Override workspace ID. If omitted, the first workspace is used automatically.

Configuration

Claude Desktop (claude_desktop_config.json)

macOS: ~/Library/Application Support/Claude/claude_desktop_config.json Windows: %APPDATA%\Claude\claude_desktop_config.json

{
  "mcpServers": {
    "clockify": {
      "command": "npx",
      "args": ["-y", "@ivanherula/clockify-mcp-server@latest"],
      "env": {
        "CLOCKIFY_API_KEY": "your_api_key_here"
      }
    }
  }
}

Claude Code (claude.json)

{
  "mcpServers": {
    "clockify": {
      "type": "stdio",
      "command": "npx",
      "args": [
        "@ivanherula/clockify-mcp-server@latest"
      ],
      "env": {
        "CLOCKIFY_API_KEY": "your_api_key_here"
      }
    }
  }
}

Local development / testing

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

Available Tools

Tool

Description

get_workspaces

List all workspaces

get_current_user

Get authenticated user info

get_projects

List projects (filter by name, archived; paginated)

get_clients

List clients (filter by name, archived; paginated)

get_tags

List tags (filter by name, archived; paginated)

get_time_entries

List time entries with optional date range filter

get_current_timer

Get the currently running timer (null if none)

create_time_entry

Create a time entry; omit end to start a live timer

stop_timer

Stop the running timer with an end time

update_time_entry

Full replace of a time entry (requires start)

delete_time_entry

Delete a time entry by ID

Testing with MCP Inspector

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

Opens at http://localhost:5173 where you can interactively test all tools.

License

MIT

Available Tools

13 tools
create_time_entryB

Create a time entry. Omit end to start a live timer.

Inputs: start (required), end, tagIds, taskId, +3 more.

delete_time_entryC

Delete a time entry by ID

Inputs: entryId (required).

get_clientsC

List clients in the workspace

Inputs: name, page, archived, pageSize.

get_current_timerA

Get the currently running timer (null if no timer is running)

Inputs: no named parameters.

get_current_userB

Get the authenticated Clockify user info

Inputs: no named parameters.

get_projectsC

List projects in the workspace

Inputs: name, page, archived, clientId, +1 more.

get_tagsC

List tags in the workspace

Inputs: name, page, archived, pageSize.

get_tasksC

List tasks within a project

Inputs: projectId (required), name, page, archived, +1 more.

get_time_entriesC

List time entries for the current user

Inputs: end, page, start, pageSize.

get_workspacesB

List all Clockify workspaces

Inputs: no named parameters.

stop_timerC

Stop the currently running timer

Inputs: end (required).

submit_for_approvalC

Submit time entries for manager approval for a given week/period

Inputs: period (required), startTime (required).

update_time_entryC

Update (full replace) an existing time entry by ID

Inputs: start (required), entryId (required), end, tagIds, +4 more.

Tool Schema Changelog

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

Loading tool schema changelog…

    TDQS

    A3.5/5.0

    Scored across 13 tools

    Disambiguation5/5

    Each tool targets a distinct resource or action: retrieval of workspaces/users/projects/clients/tags/tasks, CRUD for time entries, and timer control. The only potential overlap is between get_current_timer and get_time_entries, but descriptions clearly differentiate them.

    Naming Consistency5/5

    All tool names use snake_case with a consistent verb_noun pattern (get_, create_, update_, delete_, stop_, submit_). No deviations or mixed conventions.

    Tool Count5/5

    13 tools is well within the typical 3-15 range for a focused MCP server. Each tool corresponds to a meaningful operation in the Clockify domain, with no obvious redundancies.

    Completeness4/5

    The server covers the full lifecycle for time entries (create, read, update, delete, start/stop timer, submit for approval) and provides read access to supporting entities. However, it lacks create/update/delete operations for projects, clients, tags, and tasks, which may limit management workflows.

    Maintenance

    ActivityInactive
    ResponsivenessNo recent community issues

    Related MCP Connectors

    Related MCP Servers