clockify-mcp-server
Provides tools for interacting with Clockify's API, enabling time tracking operations such as managing workspaces, projects, clients, tags, and time entries.
Click on "Deploy Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@clockify-mcp-server Start a timer for 'Design review meeting' with tag 'meetings'"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
@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-serverOr install globally:
npm install -g @ivanherula/clockify-mcp-server
clockify-mcp-serverRelated MCP server: Clockify MCP Server
Environment Variables
Variable | Required | Description |
| Yes | Your Clockify API key (found in Profile Settings → API) |
| 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 |
| List all workspaces |
| Get authenticated user info |
| List projects (filter by name, archived; paginated) |
| List clients (filter by name, archived; paginated) |
| List tags (filter by name, archived; paginated) |
| List time entries with optional date range filter |
| Get the currently running timer (null if none) |
| Create a time entry; omit |
| Stop the running timer with an end time |
| Full replace of a time entry (requires |
| Delete a time entry by ID |
Testing with MCP Inspector
CLOCKIFY_API_KEY=your_key npx @modelcontextprotocol/inspector node build/index.jsOpens at http://localhost:5173 where you can interactively test all tools.
License
MIT
Available Tools
13 toolscreate_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
Scored across 13 tools
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.
All tool names use snake_case with a consistent verb_noun pattern (get_, create_, update_, delete_, stop_, submit_). No deviations or mixed conventions.
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.
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
Related MCP Connectors
Track time in Clockify: time entries, projects, clients, tags and reports; start, stop and log time.
Connects AI assistants to TrackingTime for querying time entries, projects, tasks, customers, and team data using natural language.
Read your tracked time and projects, pause tracking or add a note, from Claude or ChatGPT.
Manage projects, tasks, time tracking, and team collaboration through natural language.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceIntegrates with Clockify to manage time entries through natural language prompts, allowing users to register and track their work time directly via LLM conversations.27MIT
- AlicenseNot gradedqualityDmaintenanceIntegrates with Clockify time tracking API to retrieve user information, manage projects, and log time entries with flexible time specifications across workspaces.MIT
- AlicenseNot gradedqualityDmaintenanceEnables AI assistants to interact with Clockify time tracking API to manage time entries, projects, tasks, and workspaces through natural language commands.31 npm5ISC
- AlicenseBqualityDmaintenanceEnables time tracking and project management through the Clockify API. Supports starting/stopping timers, logging time entries, managing projects and tasks, and generating reports with natural language commands.2116 npmMIT