MCP.Market

Clockify Time Tracking MCP server

by tracegazer·io.github.tracegazer/clockify-mcp·v0.3.2·1 stars

Clockify time-tracking MCP: 112 tools across 18 domains, read-only by default with opt-in writes.

B75/100grade B
What users say
No reviews yet
Be the first
Safety scan
B75/100

full report

Adoption
New

1 stars

Reviews

Write one

Nobody has reviewed Clockify Time Tracking yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Clockify Time Tracking tools (100, 46 write)

write = sends, deletes, buys or posts

Read from the package source without running it. The installed server may list more.

  • add_invoice_item

    Add a line item to an invoice.

  • add_invoice_payment

    Record a payment against an invoice (amount in minor units; payment_date ISO-8601).

  • approve_time_off_request

    Approve a time-off request (sets status APPROVED).

  • archive_expense_category

    Archive (archived=True) or restore (archived=False) an expense category.

  • bulk_update_time_entrieswrite action

    Bulk-edit a user's time entries. Each entry dict MUST include its 'id'.

  • change_invoice_status

    Change an invoice's status: UNSENT/SENT/PAID/PARTIALLY_PAID/VOID/OVERDUE.

  • copy_assignment

    Copy an assignment to another user (user_id required).

  • create_assignmentwrite action

    Create a scheduled assignment. Pass weeks (and repeat) to make it recurring.

  • create_clientwrite action

    Create a client on the workspace.

  • create_expensewrite action

    Create an expense; receipt_path optionally attaches a local receipt file.

  • create_expense_categorywrite action

    Create an expense category.

  • create_holidaywrite action

    Create a holiday on the workspace.

  • create_invoicewrite action

    Create an invoice (empty — add items separately).

  • create_projectwrite action

    Create a project on the workspace. client_id links it to a client.

  • create_shared_reportwrite action

    Create a shared report. type is DETAILED/WEEKLY/SUMMARY/EXPENSE_DETAILED/ ATTENDANCE/etc.; the filter needs a date range and the type's sub-filter (a default is added for DETAILED/SUMMARY/WEEKLY/ATTENDANCE; pass report_filter to customize or for other types). is_public=True shares it publicly; otherwise scope with visible_to_users / visible_to_user_groups.

  • create_tagwrite action

    Create a tag on the workspace.

  • create_taskwrite action

    Create a task on a project. status is ACTIVE or DONE.

  • create_time_entrywrite action

    Create a time entry for the authenticated user. Omit end for a running timer.

  • create_time_entry_for_userwrite action

    Create a time entry for another user (admin). Resolve user_id with list_users.

  • create_time_off_policywrite action

    Create a time-off policy on the workspace.

  • create_time_off_requestwrite action

    Create a time-off request for the authenticated user under a policy.

  • create_workspace_custom_fieldwrite action

    Create a workspace custom field. type is TXT, NUMBER, DROPDOWN_SINGLE, DROPDOWN_MULTIPLE, CHECKBOX, or LINK; entity_type is TIMEENTRY or USER.

  • delete_assignmentwrite action

    Delete an assignment. IRREVERSIBLE. series_update_option is THIS_ONE/THIS_AND_FOLLOWING/ALL for recurring series.

  • delete_clientwrite action

    Delete a client. IRREVERSIBLE. The client must be archived first (update_client archived=True); the API rejects deleting an active client.

  • delete_expensewrite action

    Delete an expense. IRREVERSIBLE — the expense is permanently removed.

  • delete_expense_categorywrite action

    Delete an expense category. IRREVERSIBLE — permanently removed.

  • delete_holidaywrite action

    Delete a holiday. IRREVERSIBLE — the holiday is permanently removed.

  • delete_invoicewrite action

    Delete an invoice. IRREVERSIBLE — permanently removed.

  • delete_invoice_paymentwrite action

    Delete a recorded invoice payment. IRREVERSIBLE.

  • delete_projectwrite action

    Delete a project. IRREVERSIBLE. The project must be archived first (update_project archived=True); the API rejects deleting an active project.

  • delete_shared_reportwrite action

    Delete a shared report. IRREVERSIBLE — the saved report and share link are permanently removed.

  • delete_tagwrite action

    Delete a tag. IRREVERSIBLE — the tag is permanently removed.

  • delete_taskwrite action

    Delete a task. IRREVERSIBLE — the task is permanently removed.

  • delete_time_entrywrite action

    Delete a time entry. IRREVERSIBLE — the entry is permanently removed.

  • delete_workspace_custom_fieldwrite action

    Delete a workspace custom field. IRREVERSIBLE — the field and its values are permanently removed.

  • download_expense_receipt

    Download an expense's receipt file to a local path.

  • duplicate_invoice

    Duplicate an invoice (creates a new draft copy).

  • duplicate_time_entry

    Duplicate a user's time entry. Resolve user_id with get_current_user.

  • export_report

    Export a report as a file (PDF/CSV/XLSX). report_type is detailed/summary/ weekly/attendance/expenses; fmt is PDF/CSV/XLSX; bytes are written to save_path.

  • generate_attendance_report

    Generate an attendance report (per user/day: work, break, capacity, overtime, time off) for a date range. Requires the attendance/time-tracking add-on.

  • generate_detailed_report

    Generate a detailed report (one row per time entry) for a date range.

  • generate_expense_report

    Generate a detailed expense report ({"expenses": [...], "totals": {...}}) for a date range. Requires the Expenses add-on.

  • generate_summary_report

    Generate a summary report (totals grouped by one or more keys) for a date range.

  • generate_weekly_report

    Generate a weekly report for a date range.

  • get_client

    Get a single client by id.

  • get_expense

    Get a single expense by id.

  • get_invoice

    Get a single invoice by id.

  • get_invoice_payments

    List an invoice's payments (paginated).

  • get_project

    Get a single project by id.

  • get_project_scheduling_totals

    Get scheduled-assignment totals per project (POST filter body).

  • get_shared_report

    Generate (fetch the data of) a shared report by id. Optional params override the saved range/sort/format; export_type is JSON/PDF/CSV/XLSX/ZIP.

  • get_tag

    Get a single tag by id.

  • get_task

    Get a single task by id (within its project).

  • get_time_entry

    Get a single time entry by id.

  • get_time_off_policy

    Get a single time-off policy by id.

  • get_user_scheduling_totals

    Get users' scheduling capacity totals (POST filter body).

  • import_invoice_items

    Import time entries (and optionally expenses) into an invoice as items.

  • list_approval_requests

    List approval requests (paginated).

  • list_clients

    List clients on the workspace, optionally filtered by name (paginated). fetch_all=True follows pagination and returns every page concatenated.

  • list_expense_categories

    List expense categories (paginated).

  • list_expenses

    List expenses on the workspace (paginated), optionally for one user.

  • list_holidays

    List holidays on the workspace, optionally filtered to a user.

  • list_holidays_in_period

    List holidays overlapping a date range for a user.

  • list_invoices

    List invoices (paginated).

  • list_project_custom_fields

    List a project's custom fields (status INACTIVE/VISIBLE/INVISIBLE).

  • list_projects

    List projects on the workspace with optional filters (paginated). fetch_all=True follows pagination and returns every page concatenated.

  • list_scheduled_assignments

    List scheduled assignments in a date range (start/end ISO-8601, required).

  • list_shared_reports

    List the workspace's shared reports. shared_reports_filter is ALL (default), CREATED_BY_ME, or SHARED_WITH_ME.

  • list_tags

    List tags on the workspace, optionally filtered by name (paginated). fetch_all=True follows pagination and returns every page concatenated.

  • list_tasks

    List tasks on a project, optionally filtered by name/active state (paginated). fetch_all=True follows pagination and returns every page concatenated.

  • list_time_entries

    List a user's time entries on the workspace (paginated). fetch_all=True follows pagination and returns every page concatenated.

  • list_time_off_balances_by_policy

    List per-user time-off balances for a policy (paginated).

  • list_time_off_balances_by_user

    List a user's time-off balances across policies (paginated).

  • list_time_off_policies

    List time-off policies on the workspace (paginated).

  • list_time_off_requests

    List/filter time-off requests (filter sent as a POST body).

  • list_user_groups

    List user groups on the workspace, optionally filtered by name (paginated).

  • list_users

    List workspace users, optionally filtered by name/email/status (paginated). fetch_all=True follows pagination and returns every page concatenated.

  • list_workspace_custom_fields

    List workspace custom fields (status INACTIVE/VISIBLE/INVISIBLE).

  • publish_assignmentswrite action

    Publish scheduled assignments in a date range (start/end required).

  • reject_time_off_request

    Reject a time-off request (sets status REJECTED).

  • remove_project_custom_fieldwrite action

    Remove a custom field's project-level override (the workspace field itself is unaffected).

  • resubmit_approval_entries

    Resubmit rejected/withdrawn entries for approval (authenticated user).

  • set_project_custom_field

    Apply or override a workspace custom field on a project (sets its project-level default value and/or status).

  • stop_running_timer

    Stop a user's currently running timer by setting its end (ISO-8601).

  • submit_approval_requestwrite action

    Submit an approval request for the authenticated user.

  • submit_approval_request_for_userwrite action

    Submit an approval request on behalf of another user (manager action).

  • update_approval_requestwrite action

    Change an approval request's state (APPROVED/REJECTED/PENDING/WITHDRAWN_*).

  • update_assignmentwrite action

    Update an assignment (start/end required).

  • update_clientwrite action

    Update a client. name is required by the Clockify API (pass the current name if unchanged). Pass archived=True/False to archive or restore it.

  • update_expensewrite action

    Update an expense (multipart; changeFields derived from passed fields).

  • update_expense_categorywrite action

    Update an expense category (name required).

  • update_holidaywrite action

    Update a holiday (full replace; occurs_annually required).

  • update_invoicewrite action

    Update an invoice (full replace).

  • update_projectwrite action

    Update a project. Pass archived=True/False to archive or restore it.

  • update_shared_reportwrite action

    Update a shared report's metadata/visibility (name required). type and filter are fixed at creation — delete and recreate to change them.

  • update_tagwrite action

    Update a tag. Pass archived=True/False to archive or restore it.

  • update_taskwrite action

    Update a task. name is required by the API. status is ACTIVE or DONE.

  • update_time_entrywrite action

    Update a time entry. start is required by the API (pass the existing start if unchanged).

  • update_workspace_custom_fieldwrite action

    Update a workspace custom field. name and type are required by the API (pass current values if unchanged).

  • withdraw_time_off_request

    Withdraw/cancel a time-off request. IRREVERSIBLE — the request is deleted.

Public scan report

scanner v0.1.9 · 2026-09-27 · same rubric, same numbers if you re-run it

no findings
  • Code scan32 source files scanned25/25
  • –Live reliabilityno gateway calls yet and no remote to proben/a
  • –Tool poisoningtools not inspected (local package is not executed); not countedn/a
  • Auth qualitystatic API keys via environment variables6/15
  • Maintenancelast push 69 days ago12/15
  • Maintainer identityregistry namespace matches repository owner6/10
Overall 75/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Clockify Time Tracking compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
75/100
higher than 45% of 48,255 servers
Tools
100
the typical server has 7
Tools that change things
46%
typical: 0%. Fewer write tools means less an agent can break
GitHub stars
1
more than 65% of 28,688 servers

What its tools let an agent do: 42 read · 23 create · 18 change · 15 delete · 1 send or post · 1 run or deploy

Install Clockify Time Tracking in Claude Code, Cursor or VS Code

claude mcp add clockify-mcp -- uvx clockify-mcp
Add to Cursor

What the publisher says

From the Clockify Time Tracking repository's README, as published. We do not edit it. Read it on GitHub

clockify-mcp

<!-- mcp-name: io.github.tracegazer/clockify-mcp -->

A Model Context Protocol server for the Clockify time-tracking API.

Give your AI assistant access to your Clockify data — query workspaces, projects, and time entries, generate reports, log hours, and manage clients, invoices, and more — all through natural language.

112 tools across 18 domains. Read-only by default, with optional write operations behind explicit opt-in.

Install in one click

The easiest way to use this server with Claude Desktop (and other MCPB-compatible clients) is the prebuilt bundle:

➡️ Download clockify-mcp.mcpb — then double-click it. Claude Desktop opens the installer, prompts for your Clockify API key, and you're done. No Python, no npx/uvx, no config files.

The .mcpb is attached to every GitHub Release and mirrored on Smithery. Prefer a package manager or container? See Quick start below.

What can it do?

48 read-only tools are available today (Phase 0–8b — 18 domains). 64 write tools (create/update/delete across clients, projects, tasks, tags, time entries, holidays, expenses, and expense categories, plus time-off policy/request management, approval submit/resubmit/update, custom-field create/update/delete and project assignment, scheduling assignment management, invoice and payment management, shared-report management, and webhook create/update/delete/token) register when you set CLOCKIFYACCESSMODE=full (or the back-compat CLOCKIFYENABLEWRITES=true). A middle time-tracking mode exposes only the time-entry writes for logging hours — see Access modes.

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Clockify Time Tracking: common questions

Is Clockify Time Tracking MCP server safe?
Mostly: it is graded B (75/100). Read the Clockify Time Tracking safety report
How do I install Clockify Time Tracking?
It runs on your machine. Copy the Claude Code, Cursor, VS Code or Claude Desktop config from the install section.
Does Clockify Time Tracking need an API key?
Yes. The registry entry asks for CLOCKIFY_API_KEY.
Is Clockify Time Tracking maintained?
The last commit was 107 days ago (2026-07-20). The latest release is v0.3.2.
How does Clockify Time Tracking compare with other MCP servers?
safety score 75/100 (higher than 45% of 48,255 servers); tools 100 (the typical server has 7); tools that change things 46% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.