Clockify Time Tracking
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| CLOCKIFY_REGION | No | Region for API endpoint: global (default) | euc1 | use2 | euw2 | apse2. | global |
| CLOCKIFY_API_KEY | Yes | Your Clockify API key (required). Obtain from Profile Settings > API. | |
| CLOCKIFY_BASE_URL | No | Override base URL for subdomain workspaces, e.g. https://acme.clockify.me. | |
| CLOCKIFY_TELEMETRY | No | Enable OpenTelemetry (default false). | false |
| CLOCKIFY_ACCESS_MODE | No | Access mode: read (default) | time-tracking (read + log hours) | full (all writes). | read |
| CLOCKIFY_ENABLE_WRITES | No | Back-compat alias: true = access_mode=full. CLOCKIFY_ACCESS_MODE takes precedence. | |
| CLOCKIFY_TELEMETRY_DETAIL | No | Span detail: metadata (default), ids, or full. | metadata |
| CLOCKIFY_DEFAULT_WORKSPACE_ID | No | Fallback workspace ID when a tool call omits workspace_id. |
Capabilities
Features and capabilities supported by this server
| Capability | Details |
|---|---|
| tools | {
"listChanged": false
} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| get_current_userA | Get the currently logged-in user's info (id, email, default workspace). |
| list_workspacesA | List all workspaces the authenticated user belongs to. |
| get_workspaceA | Get info for one workspace (defaults to the configured workspace). |
| list_usersA | List workspace users, optionally filtered by name/email/status (paginated). fetch_all=True follows pagination and returns every page concatenated. |
| get_user_member_profileC | Get a member's profile within the workspace. |
| find_user_team_managerC | Find a user's team manager(s). |
| list_user_groupsB | List user groups on the workspace, optionally filtered by name (paginated). |
| list_clientsA | List clients on the workspace, optionally filtered by name (paginated). fetch_all=True follows pagination and returns every page concatenated. |
| get_clientB | Get a single client by id. |
| list_projectsC | List projects on the workspace with optional filters (paginated). fetch_all=True follows pagination and returns every page concatenated. |
| get_projectC | Get a single project by id. |
| list_tagsA | List tags on the workspace, optionally filtered by name (paginated). fetch_all=True follows pagination and returns every page concatenated. |
| get_tagC | Get a single tag by id. |
| list_tasksA | List tasks on a project, optionally filtered by name/active state (paginated). fetch_all=True follows pagination and returns every page concatenated. |
| get_taskB | Get a single task by id (within its project). |
| list_time_entriesB | List a user's time entries on the workspace (paginated). fetch_all=True follows pagination and returns every page concatenated. |
| get_time_entryC | Get a single time entry by id. |
| generate_detailed_reportC | Generate a detailed report (one row per time entry) for a date range. |
| generate_summary_reportB | Generate a summary report (totals grouped by one or more keys) for a date range. |
| generate_weekly_reportC | Generate a weekly report for a date range. |
| generate_attendance_reportB | 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_expense_reportA | Generate a detailed expense report ({"expenses": [...], "totals": {...}}) for a date range. Requires the Expenses add-on. |
| export_reportC | 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. |
| list_shared_reportsB | List the workspace's shared reports. shared_reports_filter is ALL (default), CREATED_BY_ME, or SHARED_WITH_ME. |
| get_shared_reportC | 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. |
| list_time_off_policiesB | List time-off policies on the workspace (paginated). |
| get_time_off_policyB | Get a single time-off policy by id. |
| list_time_off_balances_by_policyC | List per-user time-off balances for a policy (paginated). |
| list_time_off_balances_by_userB | List a user's time-off balances across policies (paginated). |
| list_time_off_requestsC | List/filter time-off requests (filter sent as a POST body). |
| list_holidaysC | List holidays on the workspace, optionally filtered to a user. |
| list_holidays_in_periodC | List holidays overlapping a date range for a user. |
| list_expensesB | List expenses on the workspace (paginated), optionally for one user. |
| get_expenseB | Get a single expense by id. |
| list_expense_categoriesC | List expense categories (paginated). |
| download_expense_receiptB | Download an expense's receipt file to a local path. |
| list_approval_requestsC | List approval requests (paginated). |
| list_workspace_custom_fieldsB | List workspace custom fields (status INACTIVE/VISIBLE/INVISIBLE). |
| list_project_custom_fieldsC | List a project's custom fields (status INACTIVE/VISIBLE/INVISIBLE). |
| list_scheduled_assignmentsC | List scheduled assignments in a date range (start/end ISO-8601, required). sort_column is PROJECT/USER/ID; sort_order is ASCENDING/DESCENDING. |
| get_project_scheduling_totalsB | Get scheduled-assignment totals per project (POST filter body). start/end required. status_filter is PUBLISHED/UNPUBLISHED/ALL. |
| get_user_scheduling_totalsC | Get users' scheduling capacity totals (POST filter body). start/end required. status_filter is PUBLISHED/UNPUBLISHED/ALL. |
| list_invoicesC | List invoices (paginated). |
| get_invoiceC | Get a single invoice by id. |
| get_invoice_paymentsB | List an invoice's payments (paginated). |
| list_webhooksC | List webhooks. type filters by USER_CREATED, SYSTEM, or ADDON. |
| get_webhookB | Get a single webhook by id. |
| get_webhook_logsB | Get a webhook's delivery logs (POST filter body; page/size are query params). from_/to are ISO-8601. status filters by ALL/SUCCEEDED/FAILED. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
Latest Blog Posts
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/tracegazer/clockify-mcp'
If you have feedback or need assistance with the MCP directory API, please join our Discord server