Are you the author? Sign in to claim
MCP server for Clockify time tracking API
An MCP (Model Context Protocol) server that provides tools for interacting with the Clockify time tracking API.
npm install -g @yikizi/clockify-mcp
Or use directly with npx:
npx @yikizi/clockify-mcp
Add to your Claude Code MCP settings (~/.claude.json or via Claude Code settings):
Option A: CLI argument (recommended)
{
"mcpServers": {
"clockify": {
"command": "npx",
"args": ["@yikizi/clockify-mcp", "--api-key", "your-api-key-here"]
}
}
}
Option B: Environment variable
{
"mcpServers": {
"clockify": {
"command": "npx",
"args": ["@yikizi/clockify-mcp"],
"env": {
"CLOCKIFY_API_KEY": "your-api-key-here"
}
}
}
}
Option C: .env file
Create a .env file in your working directory:
CLOCKIFY_API_KEY=your-api-key-here
These auto-detect your user and workspace:
start_timer - Start a timer (just provide description and optional project)stop_current_timer - Stop whatever timer is runningget_running_timer - Check if a timer is running and see elapsed timelog_time - Log completed time with human-readable duration ("1h30m", "2h", "45m")get_workspaces - List all workspacesget_current_user - Get authenticated user infoget_workspace_users - List users in a workspaceget_projects - List projects (with archive filter)create_project - Create a new projectget_project_tasks - List tasks in a projectcreate_task - Create a taskget_time_entries - Get time entries for a user (with date/project filters)create_time_entry - Create a time entry (use start_timer or log_time instead)stop_timer - Stop timer for specific user (use stop_current_timer instead)update_time_entry - Update an existing entrydelete_time_entry - Delete a time entryget_summary_report - Aggregated report grouped by project/user/clientget_detailed_report - Detailed list of time entries with filtersget_tags - List all tagscreate_tag - Create a new tagget_clients - List all clientsOnce configured, you can ask Claude things like:
--api-key CLI argument.env file in current directoryget_running_timer now properly finds running timers (was only checking 1 entry)stop_current_timer now correctly stops timersstop_current_timer accepts optional end time for backdating1h 30m instead of PT1H30M)get_time_entries: today, yesterday, this_week, last_week, this_month, last_monthget_time_entries now defaults to current user/workspace (no IDs needed!)start_timer, stop_current_timer, get_running_timer, log_timeget_current_user first)log_timeMIT
Run Claude Code as an MCP server so any agent can delegate coding tasks to it
Browser automation using accessibility snapshots instead of screenshots
Google's universal MCP server supporting PostgreSQL, MySQL, MongoDB, Redis, and 10+ databases
Official GitHub integration for repos, issues, PRs, and CI/CD workflows