
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.
概览
面向 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 的网络。
安装
在 SourceWeft 中
- 打开 控制台中的 Clockify Time Tracking,将其添加到工作区。
- 为需要使用其工具的对话启用该服务。
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.
† 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):
† 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
Or run without installing (requires uv):
Or use the container image (published to GHCR on every release):
2. Connect to Claude Desktop
Add this to your claude_desktop_config.json:
Restart Claude Desktop. Ask: "What workspaces do I have in Clockify?"
Using pip install instead of uvx
Enabling write operations
By default the server is read-only. Opt into writes with CLOCKIFY_ACCESS_MODE:
Compatibility: the legacy
CLOCKIFY_ENABLE_WRITES=truestill works and maps tofull. If both are set,CLOCKIFY_ACCESS_MODEwins. Intime-trackingmode,duplicate/bulkalways act on the authenticated user; forupdate/deleteby 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 andwithdraw_time_off_requestare 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):
- Environment variables (always win)
- TOML config at
~/.config/clockify-mcp/config.toml
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.
Tip: create the config directory first:
mkdir -p ~/.config/clockify-mcp
Running the server
Security note: STDIO (the default) keeps everything local. The
sseandstreamable-httptransports 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 optionalworkspace_id; when omitted they fall back toCLOCKIFY_DEFAULT_WORKSPACE_ID. If neither is set, the tool asks you to resolve one first vialist_workspaces. - Pagination: list tools take optional
page/page_sizeand return one page. The high-volume lists (list_time_entries,list_projects,list_clients,list_tasks,list_tags,list_users) also acceptfetch_all=trueto follow pagination and return every page concatenated (may make several API calls). - Errors: failures carry a category —
PLAN_REQUIRED,ACCESS_DENIED, orAUTH— 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.
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.
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
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
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
License
来源:README.md,提交 21b09b0
工具
0版本历史
1- v0.3.2最新Sep 16, 2026
评分
已满足适用检查项的 50%
该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。
- 近 30 天内可连通25 分
请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。
- 已声明认证方式10 分
请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。
- 已列出工具15 分
请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。
- 描述必需15 分
- 图标10 分
- 文档15 分
- 许可证10 分