Clockify MCP Server
The Clockify MCP Server provides comprehensive integration with the Clockify time tracking API, enabling management of time tracking resources and generating reports.
Time Entry Management: Create, retrieve, update, delete, and stop time entries with extensive filtering by date, project, task, tag, description, and status.
Project Management: Full CRUD operations for projects, including client associations and advanced filtering with pagination.
Task Management: Create, retrieve, update, and delete tasks within projects with status and assignee tracking.
Client Management: Organize and manage clients with filtering and archival options.
Tag Management: Create, update, and use tags for categorizing time entries.
User & Workspace Management: Access current user information, list accessible workspaces, and retrieve workspace users.
Reporting: Generate detailed and summary reports in multiple formats (JSON, PDF, CSV, XLSX) with flexible filtering and grouping options.
Real-time Tracking: Start, stop, and manage ongoing time entries seamlessly.
Data Handling: Efficient management of large datasets through comprehensive filtering and pagination.
Provides comprehensive integration with the Clockify time tracking API, enabling automated time entry management, project organization, task tracking, client management, tag categorization, user/workspace access, and detailed reporting with filtering capabilities.
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 create a time entry for 2 hours on Project Marketing"
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.
Clockify MCP Server
A Model Context Protocol (MCP) server that provides comprehensive integration with the Clockify time tracking API. This server enables automated time entry management, project organization, task tracking, and reporting through a standardized interface.
Want to read as a story Linkedin Post
Quick Installation (Recommended)
Install via NPM
npm install -g @ratheesh-aot/clockify-mcp-serverConfigure Claude Desktop or any MCP client
Add this to your MCP client configuration:
{
"mcpServers": {
"clockify": {
"command": "clockify-mcp-server",
"env": {
"CLOCKIFY_API_KEY": "your_clockify_api_key"
}
}
}
}Get Your Clockify API Key
Log in to Clockify
Go to Profile Settings → API
Generate or copy your API key
Replace
your_clockify_api_keyin the configuration above
Start Using
Restart your MCP client (Claude Desktop) and start asking:
"Show me my Clockify workspaces"
"Create a time entry for 2 hours on Project Marketing"
"Get this week's time entries"
Related MCP server: Clockify MCP Server
Features
Core Functionality
Time Entry Management: Create, read, update, delete, and stop time entries
Project Management: Full CRUD operations for projects with client associations
Task Management: Create and manage tasks within projects
Client Management: Organize work by clients
Tag Management: Categorize time entries with tags
User & Workspace Management: Access user information and workspace details
Advanced Reporting: Generate detailed and summary reports with filtering
Key Capabilities
Real-time Time Tracking: Start, stop, and manage ongoing time entries
Comprehensive Filtering: Filter time entries by projects, tasks, clients, tags, and date ranges
Pagination Support: Handle large datasets efficiently with proper pagination
Flexible Reporting: Generate reports in multiple formats (JSON, PDF, CSV, XLSX)
Production-Ready: Error handling, validation, and robust API interactions
Alternative Installation (Development)
If you prefer to build from source or contribute to development:
Prerequisites
Node.js 18 or higher
Clockify account with API access
Clockify API key
Manual Installation
Clone the repository:
git clone https://github.com/ratheesh-aot/clockify-mcp.git
cd clockify-mcpInstall dependencies:
npm installBuild the TypeScript code:
npm run buildConfigure with full path:
{
"mcpServers": {
"clockify": {
"command": "node",
"args": ["/full/path/to/clockify-mcp/dist/index.js"],
"env": {
"CLOCKIFY_API_KEY": "your_api_key_here"
}
}
}
}Available Tools
User & Workspace Management
get_current_user: Get current user informationget_workspaces: List all accessible workspacesget_workspace_users: Get all users in a workspace
Time Entry Management
create_time_entry: Create new time entries with optional project/task associationsget_time_entries: Retrieve time entries with comprehensive filtering optionsupdate_time_entry: Modify existing time entriesdelete_time_entry: Remove time entriesstop_time_entry: Stop currently running time entries
Project Management
create_project: Create new projects with client associationsget_projects: List projects with filtering and paginationget_project: Get detailed project informationupdate_project: Modify project detailsdelete_project: Remove projects
Task Management
create_task: Create tasks within projectsget_tasks: List tasks with filtering optionsget_task: Get detailed task informationupdate_task: Modify task detailsdelete_task: Remove tasks
Client Management
create_client: Create new clientsget_clients: List clients with filteringupdate_client: Modify client informationdelete_client: Remove clients
Tag Management
create_tag: Create new tags for categorizationget_tags: List available tagsupdate_tag: Modify tag detailsdelete_tag: Remove tags
Reporting
get_detailed_report: Generate comprehensive time tracking reportsget_summary_report: Generate summarized reports with grouping options
Usage Examples
Create a Time Entry
{
"tool": "create_time_entry",
"arguments": {
"workspaceId": "workspace_id",
"description": "Working on feature implementation",
"start": "2024-01-15T09:00:00Z",
"end": "2024-01-15T17:00:00Z",
"projectId": "project_id",
"billable": true
}
}Get Time Entries with Filtering
{
"tool": "get_time_entries",
"arguments": {
"workspaceId": "workspace_id",
"start": "2024-01-01T00:00:00Z",
"end": "2024-01-31T23:59:59Z",
"project": "project_id",
"page": 1,
"pageSize": 100
}
}Create a Project
{
"tool": "create_project",
"arguments": {
"workspaceId": "workspace_id",
"name": "Website Redesign",
"clientId": "client_id",
"billable": true,
"isPublic": false,
"color": "#FF5722"
}
}Troubleshooting
Common Issues
"Command not found" error:
# Check if installed correctly
npm list -g @ratheesh-aot/clockify-mcp-server
# Reinstall if needed
npm uninstall -g @ratheesh-aot/clockify-mcp-server
npm install -g @ratheesh-aot/clockify-mcp-server"Invalid API key" error:
Verify your Clockify API key is correct
Ensure the API key has proper permissions
Check for extra spaces or characters
MCP connection issues:
Restart your MCP client (Claude Desktop)
Verify the JSON configuration is valid
Check that Node.js is installed and accessible
Getting Help
Issues: GitHub Issues
Documentation: Clockify API Docs
MCP Protocol: Model Context Protocol
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
License
MIT License - see LICENSE file for details.
Author
Created by Ratheesh Kumar
Available Tools
29 toolscreate_clientC
Create a new client
Inputs: workspaceId (required), name (required), archived.
create_projectC
Create a new project
Inputs: workspaceId (required), name (required), clientId, isPublic, +3 more.
create_tagC
Create a new tag
Inputs: workspaceId (required), name (required), archived.
create_taskC
Create a new task in a project
Inputs: workspaceId (required), projectId (required), name (required), assigneeIds, +2 more.
create_time_entryC
Create a new time entry
Inputs: workspaceId (required), start (required), description, end, +4 more.
delete_clientC
Delete a client
Inputs: workspaceId (required), clientId (required).
delete_projectC
Delete a project
Inputs: workspaceId (required), projectId (required).
delete_tagC
Delete a tag
Inputs: workspaceId (required), tagId (required).
delete_taskC
Delete a task
Inputs: workspaceId (required), projectId (required), taskId (required).
delete_time_entryC
Delete a time entry
Inputs: workspaceId (required), timeEntryId (required).
duplicate_time_entryC
Duplicate a time entry
Inputs: workspaceId (required), userId (required), id (required).
get_clientsC
Get all clients in a workspace
Inputs: workspaceId (required), archived, name, page, +1 more.
get_current_userB
Get information about the current user
Inputs: no named parameters.
get_detailed_reportC
Generate a detailed time tracking report
Inputs: workspaceId (required), dateRangeStart (required), dateRangeEnd (required), users, +13 more.
get_projectC
Get a specific project by ID
Inputs: workspaceId (required), projectId (required).
get_projectsC
Get all projects in a workspace
Inputs: workspaceId (required), archived, name, clientIds, +8 more.
get_summary_reportC
Generate a summary time tracking report
Inputs: workspaceId (required), dateRangeStart (required), dateRangeEnd (required), users, +9 more.
get_tagsC
Get all tags in a workspace
Inputs: workspaceId (required), archived, name, page, +1 more.
get_taskB
Get a specific task by ID
Inputs: workspaceId (required), projectId (required), taskId (required).
get_tasksC
Get all tasks in a project
Inputs: workspaceId (required), projectId (required), isActive, name, +2 more.
get_time_entriesC
Get time entries for a user
Inputs: workspaceId (required), userId, description, start, +11 more.
get_workspacesB
Get all workspaces for the current user
Inputs: no named parameters.
get_workspace_usersC
Get all users in a workspace
Inputs: workspaceId (required).
stop_time_entryC
Stop a running time entry
Inputs: workspaceId (required), userId (required), end.
update_clientC
Update an existing client
Inputs: workspaceId (required), clientId (required), name, archived.
update_projectC
Update an existing project
Inputs: workspaceId (required), projectId (required), name, clientId, +4 more.
update_tagC
Update an existing tag
Inputs: workspaceId (required), tagId (required), name, archived.
update_taskC
Update an existing task
Inputs: workspaceId (required), projectId (required), taskId (required), name, +3 more.
update_time_entryC
Update an existing time entry
Inputs: workspaceId (required), timeEntryId (required), description, start, +5 more.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
Loading tool schema changelog…
TDQS
Scored across 29 tools
Every tool has a clearly distinct purpose with no ambiguity. Each tool targets a specific resource (client, project, tag, task, time_entry, report, user, workspace) and action (create, get, update, delete, duplicate, stop), making it easy for an agent to select the correct tool without confusion.
Tool names follow a perfectly consistent verb_noun pattern throughout, such as create_client, get_clients, update_project, and delete_time_entry. This predictability enhances readability and usability for agents, with no deviations or mixed conventions.
With 29 tools, the count is borderline high for a time tracking server, feeling somewhat heavy. While it covers many operations, it might be overwhelming for agents, though it's not extreme like 50+ tools.
The tool set provides complete CRUD/lifecycle coverage for the Clockify domain, including clients, projects, tags, tasks, time entries, reports, users, and workspaces. There are no obvious gaps, and agents can handle all core workflows without dead ends.
Maintenance
Related MCP Connectors
Track time in Clockify: time entries, projects, clients, tags and reports; start, stop and log time.
Read time entries, projects, clients, tasks and invoices; log and update tracked time.
Read jobs, timesheets and reports; log time, update entries and submit timesheets in ClickTime.
Read tracked time and projects; create projects and start or stop timers in DeskTime.
Related MCP Servers
- 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
- AlicenseAqualityDmaintenanceEnables AI assistants to interact with the Clockify API for managing time entries, timers, and team management tasks. It provides tools for searching time records, tracking project hours, and performing high-level analysis like overtime detection and weekly summaries.9MIT