Skip to main content
Glama
Clockify MCP Server

Clockify MCP Server

by ratheesh-aot

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

Install via NPM

npm install -g @ratheesh-aot/clockify-mcp-server

Configure 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

  1. Log in to Clockify

  2. Go to Profile Settings → API

  3. Generate or copy your API key

  4. Replace your_clockify_api_key in 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

  1. Clone the repository:

git clone https://github.com/ratheesh-aot/clockify-mcp.git
cd clockify-mcp
  1. Install dependencies:

npm install
  1. Build the TypeScript code:

npm run build
  1. Configure 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 information

  • get_workspaces: List all accessible workspaces

  • get_workspace_users: Get all users in a workspace

Time Entry Management

  • create_time_entry: Create new time entries with optional project/task associations

  • get_time_entries: Retrieve time entries with comprehensive filtering options

  • update_time_entry: Modify existing time entries

  • delete_time_entry: Remove time entries

  • stop_time_entry: Stop currently running time entries

Project Management

  • create_project: Create new projects with client associations

  • get_projects: List projects with filtering and pagination

  • get_project: Get detailed project information

  • update_project: Modify project details

  • delete_project: Remove projects

Task Management

  • create_task: Create tasks within projects

  • get_tasks: List tasks with filtering options

  • get_task: Get detailed task information

  • update_task: Modify task details

  • delete_task: Remove tasks

Client Management

  • create_client: Create new clients

  • get_clients: List clients with filtering

  • update_client: Modify client information

  • delete_client: Remove clients

Tag Management

  • create_tag: Create new tags for categorization

  • get_tags: List available tags

  • update_tag: Modify tag details

  • delete_tag: Remove tags

Reporting

  • get_detailed_report: Generate comprehensive time tracking reports

  • get_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

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 tools
create_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

    B3.1/5.0

    Scored across 29 tools

    Disambiguation5/5

    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.

    Naming Consistency5/5

    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.

    Tool Count3/5

    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.

    Completeness5/5

    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

    ActivityInactive
    ResponsivenessLimited data

    Related MCP Connectors

    Related MCP Servers