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. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| 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
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
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