Clockify Time Tracking

io.github.tracegazer由 GitHub 帳號 tracegazer 發布v0.3.2更新於 Oct 24, 2026

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

已驗證STDIO僅桌面效率與工作流資料與分析

概覽

AI 產生的概覽

面向 Clockify 時間追蹤 API 的本機 MCP 伺服器,讓助理查詢工作區、專案、時間項目與報表,並可選擇記錄或修改工時。

可以做什麼
查詢工作區、使用者、使用者群組、客戶、專案、任務與標籤,並依 ID 讀取單筆記錄。讀取時間項目,產生詳細、彙總、每週、出勤與費用報表,並可匯出為 PDF、CSV 或 XLSX 檔案。讀取共享報表、休假政策、餘額與申請、假日、費用與收據、簽核、自訂欄位、排班統計、發票、付款與 Webhook。開啟寫入後可建立、更新與刪除客戶、專案、任務、標籤、時間項目、假日、費用、自訂欄位、排班、發票與 Webhook,並管理休假與簽核申請。
適用情境
適合想用自然語言詢問 Clockify 工時、專案與報表狀況,或不想開 Clockify 介面就能記錄與修正時間項目的情境。只做查詢與報表時唯讀模式即可;只有需要助理改動資料時才開啟寫入。
執行需求
以 stdio 本機程序執行,可從 PyPI 安裝(pip 或 uvx)或使用容器映像,也提供一鍵桌面安裝包。需在 CLOCKIFY_API_KEY 提供 Clockify API 金鑰(取自 Profile Settings 的 API 頁面)。選用設定包括 CLOCKIFY_ACCESS_MODE、CLOCKIFY_DEFAULT_WORKSPACE_ID、CLOCKIFY_REGION 與 CLOCKIFY_BASE_URL。需要能連線至 Clockify API 的網路。
安裝前請注意
API 金鑰可存取你的 Clockify 帳戶,不要放進共用設定。寫入模式讓助理可建立、修改與刪除真實資料,delete 類工具與 withdraw_time_off_request 無法復原。time-tracking 模式仍允許寫入時間項目。許多功能需要付費方案或在工作區啟用對應模組,否則會出錯。選用的 SSE 與 streamable-http 傳輸沒有內建身分驗證。遙測預設關閉,開啟後可能附帶參數資料。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Clockify Time Tracking,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

clockify-mcp

[CI] [PyPI] [Python] [License: MIT] [MCP Registry] [Smithery]

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 CLOCKIFY_ACCESS_MODE=full (or the back-compat CLOCKIFY_ENABLE_WRITES=true). A middle time-tracking mode exposes only the time-entry writes for logging hours — see Access modes.

DomainToolsTool names
Workspaces3get_current_user, list_workspaces, get_workspace
Users3list_users, get_user_member_profile, find_user_team_manager
Groups1list_user_groups
Clients2list_clients, get_client
Projects2list_projects, get_project
Tasks2list_tasks, get_task
Tags2list_tags, get_tag
Time entries2list_time_entries, get_time_entry
Reports6generate_detailed_report, generate_summary_report, generate_weekly_report, generate_attendance_report‡, generate_expense_report‡, export_report (PDF/CSV/XLSX to a file)
Shared reports2list_shared_reports, get_shared_report
Time off†5list_time_off_policies, get_time_off_policy, list_time_off_balances_by_policy, list_time_off_balances_by_user, list_time_off_requests
Holidays†2list_holidays, list_holidays_in_period
Expenses†4list_expenses, get_expense, list_expense_categories, download_expense_receipt
Approvals†1list_approval_requests
Custom fields†2list_workspace_custom_fields, list_project_custom_fields
Scheduling†3list_scheduled_assignments, get_project_scheduling_totals, get_user_scheduling_totals
Invoices†3list_invoices, get_invoice, get_invoice_payments
Webhooks†3list_webhooks, get_webhook, get_webhook_logs

† Time off, Holidays, Expenses, Approvals, Custom fields, Scheduling, Invoices, and Webhooks are paid Clockify features — these tools error (HTTP 402/403/404) on plans without them. ‡ generate_attendance_report and generate_expense_report (and export_report for those two types) need the workspace's attendance/Expenses add-ons; the time-based reports (detailed/summary/weekly) and shared reports work on the free plan.

Write tools (opt-in — set CLOCKIFY_ACCESS_MODE=full):

DomainToolsTool names
Clients3create_client, update_client, delete_client
Projects3create_project, update_project, delete_project
Tasks3create_task, update_task, delete_task
Tags3create_tag, update_tag, delete_tag
Time entries7create_time_entry, update_time_entry, delete_time_entry, duplicate_time_entry, bulk_update_time_entries, create_time_entry_for_user, stop_running_timer
Shared reports3create_shared_report, update_shared_report, delete_shared_report
Time off†5create_time_off_policy, create_time_off_request, approve_time_off_request, reject_time_off_request, withdraw_time_off_request
Holidays†3create_holiday, update_holiday, delete_holiday
Expenses†7create_expense, update_expense, delete_expense, create_expense_category, update_expense_category, delete_expense_category, archive_expense_category
Approvals†4submit_approval_request, submit_approval_request_for_user, resubmit_approval_entries, update_approval_request
Custom fields†5create_workspace_custom_field, update_workspace_custom_field, delete_workspace_custom_field, set_project_custom_field, remove_project_custom_field
Scheduling†5create_scheduled_assignment, update_scheduled_assignment, delete_scheduled_assignment, publish_scheduled_assignment, copy_scheduled_assignment
Invoices†9create_invoice, update_invoice, change_invoice_status, duplicate_invoice, delete_invoice, create_invoice_item, update_invoice_item, delete_invoice_item, create_invoice_payment
Webhooks†4create_webhook, update_webhook, delete_webhook, generate_webhook_token

† Time off, Holidays, Expenses, Approvals, Custom fields, Scheduling, Invoices, and Webhooks are paid Clockify features — these tools error (HTTP 402/403/404) on plans without them.

create_expense and update_expense accept an optional local receipt file, uploaded via multipart.

Quick start

1. Install

bash
pip install clockify-mcp

Or run without installing (requires uv):

bash
uvx clockify-mcp

Or use the container image (published to GHCR on every release):

bash
docker run --rm -i -e CLOCKIFY_API_KEY=your-key ghcr.io/tracegazer/clockify-mcp:latest

2. Connect to Claude Desktop

Add this to your claude_desktop_config.json:

jsonc
{  "mcpServers": {    "clockify": {      "command": "uvx",      "args": ["clockify-mcp"],      "env": {        "CLOCKIFY_API_KEY": "your-api-key"      }    }  }}

Restart Claude Desktop. Ask: "What workspaces do I have in Clockify?"

Using pip install instead of uvx
jsonc
{  "mcpServers": {    "clockify": {      "command": "clockify-mcp",      "env": {        "CLOCKIFY_API_KEY": "your-api-key"      }    }  }}
Enabling write operations

By default the server is read-only. Opt into writes with CLOCKIFY_ACCESS_MODE:

ModeReadsWrites
read (default)everythingnothing
time-trackingeverythingtime-entry writes only (log & edit hours)
fulleverythingall write tools (clients, projects, invoices, …)
jsonc
{  "mcpServers": {    "clockify": {      "command": "uvx",      "args": ["clockify-mcp"],      "env": {        "CLOCKIFY_API_KEY": "your-api-key",        "CLOCKIFY_ACCESS_MODE": "full"      }    }  }}

Compatibility: the legacy CLOCKIFY_ENABLE_WRITES=true still works and maps to full. If both are set, CLOCKIFY_ACCESS_MODE wins. In time-tracking mode, duplicate/bulk always act on the authenticated user; for update/delete by id the assistant is told to confirm before touching an entry that may belong to someone else.

Warning: write mode lets the connected agent create, modify, and delete real data through your Clockify credential. delete_* tools and withdraw_time_off_request are irreversible.

3. Get your API key

Log into Clockify → Profile Settings → API → copy your API key.

Configuration

Configuration resolves in this order (highest priority first):

  1. Environment variables (always win)
  2. TOML config at ~/.config/clockify-mcp/config.toml
Env varTOML keyDescription
CLOCKIFY_API_KEYapi_keyYour Clockify API key (required)
CLOCKIFY_REGIONregionglobal (default) | euc1 (EU) | use2 (USA) | euw2 (UK) | apse2 (AU)
CLOCKIFY_BASE_URLbase_urlOverride for subdomain workspaces, e.g. https://acme.clockify.me
CLOCKIFY_DEFAULT_WORKSPACE_IDdefault_workspace_idFallback workspace when a tool call omits workspace_id
CLOCKIFY_ACCESS_MODEaccess_moderead (default) | time-tracking (read + log hours) | full (all writes)
CLOCKIFY_ENABLE_WRITESenable_writesBack-compat alias: true = access_mode=full. CLOCKIFY_ACCESS_MODE takes precedence.
CLOCKIFY_TELEMETRYtelemetry_enabledEnable OpenTelemetry — default false
CLOCKIFY_TELEMETRY_DETAILtelemetry_detailSpan detail: metadata (default), ids, or full

Access modes: read exposes only read tools. time-tracking adds the time-entry write tools (create/update/delete/duplicate/bulk) for logging hours and nothing else — duplicate/bulk always act on the authenticated user, and for update/delete by id the assistant is told to confirm before touching an entry that may belong to someone else. full exposes all write tools. This gates which MCP tools the server registers; it is not a replacement for the API key's own permissions.

See config.toml.example for a copy-paste template.

toml
# ~/.config/clockify-mcp/config.tomlapi_key = "your-clockify-api-key"# region = "global"# default_workspace_id = ""# access_mode = "read"   # read | time-tracking | full

Tip: create the config directory first: mkdir -p ~/.config/clockify-mcp

Running the server

bash
clockify-mcp                       # STDIO transport (default)clockify-mcp --transport sse       # SSE/HTTP transport

Security note: STDIO (the default) keeps everything local. The sse and streamable-http transports have no built-in authentication — only use them bound to loopback or behind an authenticated reverse proxy.

Notes

  • Workspace scope: Almost every Clockify operation is scoped to a workspace (/workspaces/{workspaceId}/...). Tools accept an optional workspace_id; when omitted they fall back to CLOCKIFY_DEFAULT_WORKSPACE_ID. If neither is set, the tool asks you to resolve one first via list_workspaces.
  • Pagination: list tools take optional page/page_size and return one page. The high-volume lists (list_time_entries, list_projects, list_clients, list_tasks, list_tags, list_users) also accept fetch_all=true to follow pagination and return every page concatenated (may make several API calls).
  • Errors: failures carry a category — PLAN_REQUIRED, ACCESS_DENIED, or AUTH — so the assistant knows whether to ask you to upgrade the plan, enable a module, or fix the key. See Paid features.

Paid features & enabling them in Clockify

Many domains are gated by two independent things — both must be true for the tools to work:

1. The workspace plan must include the feature. Otherwise the API returns 402 (or a "subscription" message) and the server raises ClockifyAPIError with category PLAN_REQUIRED.

FeatureMinimum plan
Reports (detailed/summary/weekly), Shared reportsFree
WebhooksFree (up to 3) — paid for more
Time off, Holidays, Invoices, ApprovalsStandard
Expenses (incl. expense report), Custom fields, SchedulingPro
Attendance reportPro (attendance/time-tracking add-on)

2. The module must be enabled in the workspace. Even on the right plan, an admin must turn these on in Clockify → Workspace Settings: Time off, Expenses, Approval, Invoicing, Scheduling. Until enabled, the API returns 403 "Access Denied" and the server raises ClockifyAPIError with category ACCESS_DENIED. (Custom fields, webhooks, and reports need no separate toggle.)

When an operation fails, the error category says what to do:

  • PLAN_REQUIRED — upgrade the workspace plan (Standard/Pro).
  • ACCESS_DENIED — enable the feature in Workspace Settings, or check the API key user's role/permission.
  • AUTH — the API key is missing, invalid, or revoked.

Observability (optional)

The server can emit OpenTelemetry traces, metrics, and logs — completely opt-in and vendor-neutral. Export to any OTLP-compatible backend (Dynatrace, Grafana, Datadog, Jaeger, etc.). When disabled, opentelemetry is never imported.

bash
pip install "clockify-mcp[telemetry]"
export CLOCKIFY_TELEMETRY=1

OTLP endpoint and headers are configured via standard OpenTelemetry env vars (not in the TOML file). CLOCKIFY_TELEMETRY_DETAIL controls how much argument/payload data is attached (metadata default → ids → full); the API key is always redacted.

Dynatrace setup
bash
export OTEL_EXPORTER_OTLP_ENDPOINT="https://<your-env>.live.dynatrace.com/api/v2/otlp"export OTEL_EXPORTER_OTLP_HEADERS="Authorization=Api-Token <YOUR_DT_TOKEN>"export OTEL_EXPORTER_OTLP_METRICS_TEMPORALITY_PREFERENCE=deltaexport OTEL_SERVICE_NAME=clockify-mcp

Token scopes needed: openTelemetryTrace.ingest, metrics.ingest, logs.ingest. Dynatrace's OTLP metrics ingest requires delta temporality — without that env var, metric export fails with 400 Bad Request.

Generic OTLP collector
bash
export OTEL_EXPORTER_OTLP_ENDPOINT="http://localhost:4318"export OTEL_SERVICE_NAME=clockify-mcp

Signals emitted:

  • Traces — a span per MCP tool call (execute_tool <name>) and per Clockify API request
  • Metrics — mcp.tool.duration, mcp.tool.errors, and Clockify client request durations
  • Logs — tool errors and unexpected API response shapes, correlated to traces (OTLP only, never stdout)

Development

bash
git clone https://github.com/tracegazer/clockify-mcpcd clockify-mcpuv sync --extra dev
CLOCKIFY_API_KEY=dummy uv run clockify-mcp --helpuv run pytest -quv run ruff check src/ tests/

License

MIT

來源:README.md,提交 21b09b0

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.3.2最新Sep 16, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分