Toggl 2.0

io.github.toggl由 GitHub 帳號 toggl 發布v1.13.194更新於 Nov 8, 2026

Toggl 2.0 MCP server for tasks, projects, time entries, and workspace operations.

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

概覽

AI 產生的概覽

Toggl 2.0 MCP 伺服器,讓助理管理工作區、專案、任務、時間紀錄、工時表與報表。

可以做什麼
  • 列出、切換並管理工作區、設定檔與登入狀態
  • 建立、更新、封存或刪除專案、任務、客戶、標籤、里程碑、目標與自訂欄位
  • 記錄、批次建立、封存時間紀錄,檢視產能、休假與工時表簽核
  • 執行與排程報表、自訂報表、儲存檢視與共用報表
  • 跨 Toggl 實體搜尋,並讀取稽核記錄、提醒與訂閱資訊
適用情境
適合讓助理記錄或整理時間紀錄、維護專案與任務結構,或直接從 Toggl 2.0 取得工時與獲利報表,而不必切換應用程式。
執行需求
以 stdio 在本機執行,通常透過 npx 啟動。需要 Toggl 2.0 帳號:呼叫 auth 工具會開啟瀏覽器登入並在本機儲存憑證,或以 TOGGL_API_TOKEN 環境變數執行。憑證與設定檔保存在與 Toggl CLI 共用的本機設定檔中。
安裝前請注意
許多工具會建立、更新、封存或刪除資料,包含批次操作;變更類操作需 confirm_token 確認握手並支援 dry_run,確認前應先核對。profile-remove 會刪除已儲存的憑證,並同時影響 Toggl CLI。auth 工具會開啟瀏覽器登入並把憑證寫入磁碟。稽核記錄、費率與訂閱資料也會被揭露。

安裝

在 SourceWeft 中

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

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

工具

56

workspace-list

List Workspaces

List workspaces for the active MCP profile. Pass refresh: true to refetch from Accounts when a workspace is missing from cache.

輸入參數refresh

workspace-switch

Switch Workspace

Switch the active workspace by updating the stored configuration. The new workspace takes effect on the next tool call. Use workspace-list to see available workspace IDs.

輸入參數workspace_id必填

profile-list

List MCP profiles

List saved credential profiles from ~/.toggl/focus-tools.json. The row where active is true is the MCP active profile (active.mcp). Profiles may be shared with the Toggl CLI.

無需輸入參數。

profile-switch

Switch MCP profile

Set active.mcp to an existing profile name so subsequent entity calls use that credential row.

輸入參數profile_name必填

profile-remove

Remove saved profile

Delete a profile row from ~/.toggl/focus-tools.json. If it was the MCP active profile, active.mcp moves to another remaining profile when possible. This affects both MCP and shared storage; removing a profile used by the CLI removes it for the CLI too. Destructive: call without confirm_token first to receive confirm_required + confirm_token, then repeat with the same profile_name and confirm_token (same pattern as entity mutations).

輸入參數profile_name必填confirm_token

auth

Authenticate MCP

Authenticate this MCP server with Toggl 2.0 via OAuth. Opens browser login and stores credentials locally. Optionally pass workspace_id to pick a specific workspace when multiple are available. When the server runs with TOGGL_API_TOKEN, reports the API-key identity instead and never opens a browser.

輸入參數workspace_idfocus_api_urlaccounts_api_url

logout

Logout MCP

Clear local MCP authentication state. Removes stored credentials so subsequent tool calls require auth again.

無需輸入參數。

ai

Ai

Manage Focus ai with the following actions: - **accept-ai-change**: Accept Ai Change Ai. (data: conversation_id*, message_id*, view_id*) - **apply-ai-change**: Apply Ai Change Ai. (data: conversation_id*, message_id*, view_id*) - **connect-ai-source**: Connect Ai Source Ai. (data: payload*{redirect_uri*}, source_id*) - **day-rebuild-group**: Day Rebuild Group Ai. (data: payload*{evidence*}) - **day-rebuild-name**: Day Rebuild Name Ai. (data: payload*{evidence*}) - **day-rebuild-projects**: Day Rebuild Projects Ai. (data: payload*{evidence*}) - **day-rebuild-read-connected**: Day Rebuild Read Connected Ai. (data: payload*{now*, service*, since*, tools*, final, preferred_tools, turns}) - **discard-ai-change**: Discard Ai Change Ai. (data: conversation_id*, message_id*, view_id*) - **disconnect-ai-source**: Disconnect Ai Source Ai. (data: source_id*) - **finish-ai-source**: Finish Ai Source Ai. (data: payload*{code*, state*}, source_id*) - **get-conversations**: Get Conversations Ai. (data: before, limit, search) - **get-messages**: Get Messages Ai. (data: conversation_id*, limit) - **get-sources**: Get Sources Ai. (data: none) - **get-usage**: Get Usage Ai. (data: none) - **next-ai-actions**: Next Ai Actions Ai. (data: conversation_id*, message_id*) - **remove-ai-attachment**: Remove Ai Attachment Ai. (data: attachment_id*, conversation_id*) - **run-ai-view**: Run Ai View Ai. (data: payload*{input*, tool*}) - **search**: Search Ai. (data: q*) - **send-ai-message**: Send Ai Message Ai. (data: conversation_id*, payload*{text*, attachment_ids, page_context}) - **undo-ai-change**: Undo Ai Change Ai. (data: conversation_id*, message_id*, view_id*) - **upload-ai-attachment**: Upload Ai Attachment Ai. (data: conversation_id*, file*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: tru

輸入參數dataaction必填dry_runconfirm_token

alerts

Alerts

Manage Focus alerts with the following actions: - **create**: Create Alerts. (data: payload*{config*, rule_type*, project_id, recipient_group_ids, recipient_roles, recipient_user_ids}) - **delete**: Delete Alerts. (data: alert_id*) - **get**: Get Alerts. (data: alert_id*) - **list**: List Alerts. (data: rule_type, project_id, scope) - **partial-update**: Partial Update Alerts. (data: alert_id*, payload*{config, recipient_group_ids, recipient_roles, recipient_user_ids, rule_type}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

archived-clients

Archived-clients

Manage Focus archived-clients with the following actions: - **get**: Get Archived Clients. (data: client_id*) - **get-classic**: Get Classic Archived Clients. (data: name, page, per_page) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

archived-projects

Archived-projects

Manage Focus archived-projects with the following actions: - **get**: Get Archived Projects. (data: project_id*) - **get-classic**: Get Classic Archived Projects. (data: client_id, name, page, per_page) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

archived-tasks

Archived-tasks

Manage Focus archived-tasks with the following actions: - **get**: Get Archived Tasks. (data: task_id*) - **get-classic**: Get Classic Archived Tasks. (data: name, page, per_page, project_id) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

archived-time-entries

Archived-time-entries

Manage Focus archived-time-entries with the following actions: - **get**: Get Archived Time Entries. (data: date_from*, date_to*, page, per_page, project_id, task_id) - **get-get**: Get Get Archived Time Entries. (data: time_entry_id*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

attachments

Attachments

Manage Focus attachments with the following actions: - **get-workspace-attachment-storage**: Get Workspace Attachment Storage Attachments. (data: none) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

audit-log

Audit-log

Manage Focus audit-log with the following actions: - **get-organization**: Get Organization Audit Log. (data: action, custom_field_id, entity_id, entity_type, export, from*, page_number, page_size, project_id, to*, user_id, workspace_id) - **list**: List Audit Log. (data: action, custom_field_id, entity_id, entity_type, export, from*, page_number, page_size, project_id, to*, user_id) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

capacities

Capacities

Manage Focus capacities with the following actions: - **get-computations**: Compute user or ghost capacity for a date range. (data: end_date*, group*, include_drafts, include_task_estimates, private, start_date*, task_source, team_id, unit, user_id) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

clients

Clients

Manage Focus clients with the following actions: - **archive**: Archive Clients. (data: client_id*, payload*{project_count*}) - **create**: Create Clients. (data: name*, address, contact_email, currency, internal_reference) - **delete**: Delete Clients. (data: client_id*) - **get**: Get Clients. (data: client_id*) - **get-archive-preview**: Get Archive Preview Clients. (data: client_id*) - **list**: List Clients. Clients group billable work; projects can reference client_id. Filter projects with projects.list --client-id. (data: name, page, per_page) - **restore**: Restore Clients. (data: client_id*) - **unarchive**: Unarchive Clients. (data: client_id*) - **update**: Update Clients. (data: client_id*, payload*{name, address, contact_email, currency, internal_reference}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

projects

Projects

Manage Focus projects with the following actions: - **create-project**: Create a project with related data such as members, milestones, rates, and billable rates. Follow the create action's privacy and billable guidance. Project fields go under payload.project. Set rates through payload.billable_rates, not the legacy payload.rates (start_at/end_at). For payload.billable_rates: hourly_rate is in the currency's smallest unit, so it depends on the currency: two-decimal currencies like USD/EUR use cents (5000 = 50.00), zero-decimal ones like JPY/KRW use whole units (5000 = 5000), three-decimal ones like KWD/BHD use thousandths. Reads return the same unit. Omit end_date for an open-ended schedule; when set it must be on or after start_date. (data: payload*{project*, billable_rates, members, milestones, rates}) - **add-project-members**: Add Project Members Projects. (data: payload*{role_id*, group_ids, user_ids}, project_id*) - **archive**: Archive Projects. (data: project_id*) - **attachments-bulk-create**: Attachments Bulk Create Projects. Uploads several local files in one call. names and display_orders are optional parallel arrays; they default to the file basenames and array positions. (data: project_id*, file_paths*, names, display_orders) - **attachments-create**: Attachments Create Projects. Uploads a local file (file_path) as an attachment. The mime type is inferred from the extension and the API rejects disallowed types; uploads are capped at 20 MB. (data: project_id*, file_path*, name, display_order) - **attachments-delete**: Attachments Delete Projects. (data: attachment_id*, project_id*) - **attachments-list**: Attachments List Projects. Lists attachment metadata. Upload files with attachments-create (file_path), download with attachments-view (save_to). (data: order_by, project_id*) - **attachments-update**: Attachments Update Projects. Full update (PUT): both name and display_order are required; the response body is empty, verify via attachments-list. (da

輸入參數dataaction必填dry_runconfirm_token

tasks

Tasks

Manage Focus tasks with the following actions: - **create-task**: Create a task with related data such as subtasks and an initial time entry. For payload.task and each payload.subtasks[] item: Send start_date and end_date together, with end_date on or after start_date; for a single due date, send both as that day. (data: payload*{task*, estimate_allocations, subtasks, time_entry}) - **archive**: Archive Tasks. (data: from_recurring_task_id, scope, task_id*) - **attachments-bulk-create**: Attachments Bulk Create Tasks. Uploads several local files in one call. names and display_orders are optional parallel arrays; they default to the file basenames and array positions. (data: task_id*, file_paths*, names, display_orders) - **attachments-create**: Attachments Create Tasks. Uploads a local file (file_path) as an attachment. The mime type is inferred from the extension and the API rejects disallowed types; uploads are capped at 20 MB. (data: task_id*, file_path*, name, display_order) - **attachments-delete**: Attachments Delete Tasks. (data: attachment_id*, task_id*) - **attachments-list**: Attachments List Tasks. Lists attachment metadata. Upload files with attachments-create (file_path), download with attachments-view (save_to). (data: order_by, task_id*) - **attachments-update**: Attachments Update Tasks. Full update (PUT): both name and display_order are required; the response body is empty, verify via attachments-list. (data: attachment_id*, payload*{display_order*, name*}, task_id*) - **attachments-view**: Attachments View Tasks. Downloads the attachment's binary content to a local path (save_to). Refuses to replace an existing file unless overwrite is true. (data: task_id*, attachment_id*, save_to*, overwrite) - **bulk-archive**: Bulk Archive Tasks. (data: task_ids*) - **bulk-create**: Bulk Create Tasks. (data: tasks*) - **bulk-delete**: Bulk Delete Tasks. Deletes all listed task IDs in one HTTP call. Requires confirm flow like single delete. (data: ids*, outboun

輸入參數dataaction必填dry_runconfirm_token

custom-fields

Custom-fields

Manage Focus custom-fields with the following actions: - **bulk-patch-user-custom-field-values**: Bulk Patch User Custom Field Values Custom Fields. (data: payload*{user_ids*}) - **create**: Create Custom Fields. Requires workspace admin (403 otherwise). field_type is one of select, multi_select, text, number, date, checkbox, users; select/multi_select fields can be seeded with options inline. (data: payload*{entity_type*, field_type*, name*, description, integration_ext_id, integration_source, options}) - **delete**: Delete Custom Fields. Requires workspace admin. Soft-deletes the field and removes it from entities; this also discards stored values. (data: custom_field_id*) - **get**: Get Custom Fields. (data: custom_field_id*) - **get-allowed-users**: Get Allowed Users Custom Fields. (data: custom_field_id*) - **list**: List Custom Fields. Custom fields are workspace-level definitions attached to project or task entities. Reads work for all members; create/update/delete return 403 for non-admins. Reordering fields is not available through this tool yet. (data: entity_type, order_by, page, per_page) - **options-create**: Options Create Custom Fields. Requires workspace admin. Only valid for select and multi_select fields. (data: custom_field_id*, payload*{name*, color, description}) - **options-delete**: Options Delete Custom Fields. Requires workspace admin. Deleting an option clears it from entities that have it selected. (data: custom_field_id*, option_id*) - **options-list**: Options List Custom Fields. (data: custom_field_id*, name, order_by, page, per_page) - **options-update**: Options Update Custom Fields. Requires workspace admin. Full update (PUT) of the option's name/color/description. (data: custom_field_id*, option_id*, payload*{name*, color, description}) - **replace-custom-field-allowed-users**: Replace Custom Field Allowed Users Custom Fields. (data: custom_field_id*, payload*{user_ids*}) - **update**: Update Custom Fields. Requires workspace admin

輸入參數dataaction必填dry_runconfirm_token

customreports

Customreports

Manage Focus customreports with the following actions: - **create-acustom-report**: Create Acustom Report Customreports. (data: payload*{name*, params*}) - **delete-acustom-report**: Delete Acustom Report Customreports. (data: id*) - **get-acustom-report**: Get Acustom Report Customreports. (data: id*) - **get-custom-reports**: Get Custom Reports Customreports. (data: none) - **save-acustom-report**: Save Acustom Report Customreports. (data: id*, payload*{name*, params*}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

designations

Designations

Manage Focus designations with the following actions: - **bulk-create-workspace**: Bulk Create Workspace Designations. (data: payload*{designations*}) - **bulk-delete-workspace**: Bulk Delete Workspace Designations. (data: all_or_none, ids*) - **bulk-update-workspace**: Bulk Update Workspace Designations. (data: payload*{designations*, all_or_none}) - **create-project**: Create Project Designations. (data: payload*{designations*}, project_id*) - **create-project-designation-bookings**: Create Project Designation Bookings Designations. (data: payload*{bookings*}, project_id*) - **create-workspace**: Create Workspace Designations. (data: payload*{name*, member_ids}) - **delete-project**: Delete Project Designations. (data: payload*{ids*}, project_id*) - **delete-project-designation-bookings**: Delete Project Designation Bookings Designations. (data: payload*{ids*}, project_id*) - **delete-workspace**: Delete Workspace Designations. (data: designation_id*) - **get-project**: Get Project Designations. (data: order_by, project_id*) - **get-project-designation-bookings**: Get Project Designation Bookings Designations. (data: project_id*) - **get-workspace-designations**: Get Workspace Designations Designations. (data: designation_id, has_members, include_members, name, order_by, page, per_page) - **update-project**: Update Project Designations. (data: payload*{designations*}, project_id*) - **update-project-designation-bookings**: Update Project Designation Bookings Designations. (data: payload*{bookings*}, project_id*) - **update-workspace**: Update Workspace Designations. (data: designation_id*, payload*{name*}) - **update-workspace-designation-members**: Update Workspace Designation Members Designations. (data: payload*{add, remove}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_r

輸入參數dataaction必填dry_runconfirm_token

goals

Goals

Manage Focus goals with the following actions: - **create**: Create Goals. (data: payload*{...}) - **delete**: Delete Goals. (data: goal_id*) - **get**: Get Goals. (data: goal_id*) - **list**: List Goals. (data: none) - **preview-goal-tracked-time**: Preview Goal Tracked Time Goals. (data: payload*{...}) - **reorder**: Reorder Goals. (data: payload*{goal_ids*}) - **update**: Update Goals. (data: goal_id*, payload*{active, client_ids, comparison, icon, name, project_ids, recurrence, start_date, tag_ids, target_seconds, task_ids, weekdays}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

milestones

Milestones

Manage Focus milestones with the following actions: - **create**: Create Milestones. (data: payload*{color*, due_date*, name*, completed_at, project_ids, team_ids}) - **delete**: Delete Milestones. (data: milestone_id*) - **get**: Get Milestones. (data: milestone_id*) - **get-classic**: Get Classic Milestones. (data: due_date_from, due_date_to, order_by, page, per_page, project_id, team_id) - **get-stream**: Get Stream Milestones. (data: due_date_from, due_date_to, order_by, project_id, team_id) - **partial-update**: Partial Update Milestones. (data: milestone_id*, payload*{color, due_date, name, project_ids, team_ids}) - **restore**: Restore Milestones. (data: milestone_id*) - **update**: Update Milestones. (data: milestone_id*, payload*{color*, due_date*, name*, completed_at, project_ids, team_ids}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

organization

Organization

Manage Focus organization with the following actions: - **create-group**: Create an organization group. (data: payload*{name*, emoji, organization_users, workspaces}) - **create-workspace-invitations**: Create Workspace Invitations Organization. (data: payload*{emails*, focus_role_id}) - **delete-group**: Delete an organization group. (data: group_id*) - **get-member-tags**: Get Member Tags Organization. (data: workspace_id*) - **get-my-groups**: List organization groups for the current user. (data: none) - **get-roles**: List organization roles. (data: none) - **get-teams**: List organization teams. (data: active_members_only, filter, group_ids, has_designations, organization_user_id, page, per_page, query, sort_dir, workspace_id*) - **update-group**: Update an organization group. (data: group_id*, payload*{name*, emoji, organization_users, workspaces}) - **update-group-user-role**: Update Group User Role Organization. (data: group_id*, payload*{organization_user_id*, workspace_id*}) - **update-user-active-status**: Update User Active Status Organization. (data: organization_user_id*, status*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

public-holidays

Public-holidays

Manage Focus public-holidays with the following actions: - **get-by-user-ids**: Get By User Ids Public Holidays. (data: end_date*, start_date*, user_id*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

publicsharedreports

Publicsharedreports

Manage Focus publicsharedreports with the following actions: - **open-public-shared-report**: Open Public Shared Report Publicsharedreports. (data: token*) - **profitability-public-shared-report**: Profitability Public Shared Report Publicsharedreports. (data: include_dicts, payload*{chart_key}, response_format, token*) - **query-public-shared-report**: Query Public Shared Report Publicsharedreports. (data: include_dicts, payload*{chart_key}, response_format, token*) - **workload-public-shared-report**: Workload Public Shared Report Publicsharedreports. (data: payload*{chart_key}, token*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

rates

Rates

Manage Focus rates with the following actions: - **billable-bulk-check-workspace-user-billable-rate-conflicts**: Billable Bulk Check Workspace User Billable Rate Conflicts Rates. (data: payload*{currency*, hourly_rate*, start_date*, user_ids*, end_date}) - **billable-bulk-upsert-workspace-user**: Billable Bulk Upsert Workspace User Rates. (data: payload*{currency*, hourly_rate*, on_conflict*, start_date*, user_ids*, end_date}) - **billable-check-project-billable-rate-conflicts**: Billable Check Project Billable Rate Conflicts Rates. (data: payload*{currency*, hourly_rate*, start_date*, end_date}, project_id*) - **billable-check-project-user-billable-rate-conflicts**: Billable Check Project User Billable Rate Conflicts Rates. (data: payload*{currency*, hourly_rate*, start_date*, end_date}, project_id*, user_id*) - **billable-check-workspace-billable-rate-conflicts**: Billable Check Workspace Billable Rate Conflicts Rates. (data: payload*{currency*, hourly_rate*, start_date*, end_date}) - **billable-check-workspace-user-billable-rate-conflicts**: Billable Check Workspace User Billable Rate Conflicts Rates. (data: payload*{currency*, hourly_rate*, start_date*, end_date}, user_id*) - **billable-delete-by-id**: Billable Delete By Id Rates. (data: rate_id*) - **billable-delete-project-billable-rate-range**: Billable Delete Project Billable Rate Range Rates. (data: from*, project_id*, to) - **billable-delete-project-user-billable-rate-range**: Billable Delete Project User Billable Rate Range Rates. (data: from*, project_id*, to, user_id*) - **billable-delete-workspace-billable-rate-range**: Billable Delete Workspace Billable Rate Range Rates. (data: from*, to) - **billable-delete-workspace-user-billable-rate-range**: Billable Delete Workspace User Billable Rate Range Rates. (data: from*, to, user_id*) - **billable-get-all-project-user**: Billable Get All Project User Rates. (data: date, order_by, project_id, user_id) - **billable-get-all-workspace-user**: Billable Get All

輸入參數dataaction必填dry_runconfirm_token

recurring-budget-suggestions

Recurring-budget-suggestions

Manage Focus recurring-budget-suggestions with the following actions: - **accept-arecurring-project-budget-suggestion**: Accept Arecurring Project Budget Suggestion Recurring Budget Suggestions. (data: project_id*) - **accept-atemplate-estimate-suggestion**: Accept Atemplate Estimate Suggestion Recurring Budget Suggestions. (data: project_id*) - **dismiss-arecurring-project-budget-suggestion**: Dismiss Arecurring Project Budget Suggestion Recurring Budget Suggestions. (data: project_id*) - **dismiss-atemplate-estimate-suggestion**: Dismiss Atemplate Estimate Suggestion Recurring Budget Suggestions. (data: project_id*) - **get-recurring-project-budget-suggestion**: Get Recurring Project Budget Suggestion Recurring Budget Suggestions. (data: project_id*, target_period_start*) - **get-template-estimate-suggestion**: Get Template Estimate Suggestion Recurring Budget Suggestions. (data: project_id*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

reports

Reports

Manage Focus reports with the following actions: - **get-flexq-data**: Get Flexq Data Reports. (data: include_dicts, payload*{...}, response_format, xTogglReportExport) - **get-flexq-dictionary**: Get Flexq Dictionary Reports. (data: payload*) - **get-forecast-availability**: Get Forecast Availability Reports. (data: none) - **get-profitability**: Get Profitability Reports. (data: include_dicts, payload*{...}, response_format, xTogglReportExport) - **get-time-accounting**: Get Time Accounting Reports. (data: payload*{...}) - **get-workload**: Get Workload Reports. (data: payload*{...}, xTogglReportExport) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

reportschedules

Reportschedules

Manage Focus reportschedules with the following actions: - **delete-shared-report-schedule**: Delete Shared Report Schedule Reportschedules. (data: id*) - **upsert-saved-view-schedule**: Upsert Saved View Schedule Reportschedules. (data: id*, payload*{cadence*, charts*, time*, day, period, recipient_team_ids, recipient_user_ids, recipient_workspace_ids}) - **upsert-shared-report-schedule**: Upsert Shared Report Schedule Reportschedules. (data: id*, payload*{cadence*, time*, day, recipient_team_ids, recipient_user_ids, recipient_workspace_ids}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

saved-views

Saved-views

Manage Focus saved-views with the following actions: - **create**: Create Saved Views. Required: name, type, pinned, and params (the view's filter/layout state as an object, e.g. { project_id, filters }). Project-scoped types (project, project.tasks, project.board, project.timeline) expect the project context inside params. (data: payload*{name*, params*, type*, icon_name, pinned}) - **delete**: Delete Saved Views. Deletes the authenticated user's saved view; it cannot be restored. (data: id*) - **get**: Get Saved Views. id is the saved view ID (number) from saved-views list. (data: id*) - **list**: List Saved Views. Saved views are per-user, so results belong to the authenticated user. Filter by type (inbox, archive, board, timeline, project, project.tasks, project.board, project.timeline, projects) or by partial name match. pinned=true entries are the user's starred views. (data: name, order_by, type) - **update**: Update Saved Views. The payload requires the full updatable set (name, type, pinned, params), so fetch the view first and resend it with your changes to avoid clobbering params. Toggling pinned is how views are starred/unstarred. (data: id*, payload*{name*, params*, pinned*, type*, icon_name}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

sharedreports

Sharedreports

Manage Focus sharedreports with the following actions: - **add-shared-report-grants**: Add Shared Report Grants Sharedreports. (data: id*, payload*{grantees*}) - **get-member-owned-shared-reports**: Get Member Owned Shared Reports Sharedreports. (data: user_id*) - **get-saved-view-shared-report**: Get Saved View Shared Report Sharedreports. (data: id*) - **get-shared-report-dates**: Get Shared Report Dates Sharedreports. (data: id*) - **get-shared-report-for-viewer**: Get Shared Report For Viewer Sharedreports. (data: id*) - **get-shared-reports-shared-by-me**: Get Shared Reports Shared By Me Sharedreports. (data: none) - **get-shared-reports-shared-with-me**: Get Shared Reports Shared With Me Sharedreports. (data: none) - **mint-shared-report-link**: Mint Shared Report Link Sharedreports. (data: id*, payload*{expires_at}) - **revoke-shared-report-grant**: Revoke Shared Report Grant Sharedreports. (data: grant_id*, id*) - **revoke-shared-report-link**: Revoke Shared Report Link Sharedreports. (data: id*) - **rotate-shared-report-link**: Rotate Shared Report Link Sharedreports. (data: id*, payload*{expires_at}) - **set-shared-report-dates-lock**: Set Shared Report Dates Lock Sharedreports. (data: id*, payload*{locked*}) - **share-saved-view**: Share Saved View Sharedreports. (data: id*, payload*{charts*, period, team_id, user_id, workspace_id}) - **share-saved-view-many**: Share Saved View Many Sharedreports. (data: id*, payload*{charts*, grantees*, period}) - **take-over-member-shared-reports**: Take Over Member Shared Reports Sharedreports. (data: user_id*) - **unshare-shared-report**: Unshare Shared Report Sharedreports. (data: id*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

statuses

Statuses

Manage Focus statuses with the following actions: - **create-status**: Create a task status. (data: payload*{emoji*, name*, position*}) - **delete-status**: Delete a task status. (data: status_id*) - **get-status**: List task statuses with generated API filters. (data: status_id*) - **list**: List Statuses. Lists all task status options for the workspace. Use returned status IDs when creating or updating tasks via status_id. Statuses have types: todo, in_progress, done, blocked. (data: page, per_page) - **restore**: Restore Statuses. (data: status_id*) - **update-status**: Update a task status. (data: payload*{emoji*, name*, position*}, status_id*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

subscriptions

Subscriptions

Manage Focus subscriptions with the following actions: - **get-current**: Get Current Subscriptions. (data: none) - **get-current-trial**: Get Current Trial Subscriptions. (data: none) - **get-features-upsell**: Get Features Upsell Subscriptions. (data: none) - **get-plans**: Get Plans Subscriptions. (data: none) - **upsert-forced-trial**: Upsert Forced Trial Subscriptions. (data: payload*{plan_workspace_id}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

tags

Tags

Manage Focus tags with the following actions: - **archive**: Archive Tags. (data: tag_id*) - **bulk-archive**: Bulk Archive Tags. (data: payload*{tag_ids*}) - **bulk-create**: Bulk Create Tags. (data: payload*{tags*}) - **bulk-delete**: Bulk Delete Tags. (data: ids*) - **bulk-restore**: Bulk Restore Tags. (data: payload*{tag_ids*}) - **bulk-unarchive**: Bulk Unarchive Tags. (data: payload*{tag_ids*}) - **count-tag-time-entries**: Count Tag Time Entries Tags. (data: ids*, match*) - **create**: Create Tags. Both name and color are required by the API (hex color, e.g. #FF5733). (data: color*, name*) - **delete**: Delete Tags. (data: tag_id*) - **get**: Get Tags. (data: tag_id*) - **list**: List Tags. Workspace tags label tasks and projects. Use tag IDs with tasks (tag_ids) and organization user filters (tag_ids on users.list). (data: name, page, per_page) - **merge**: Merge Tags. (data: payload*{source_ids*, target_id*}) - **restore**: Restore Tags. (data: tag_id*) - **unarchive**: Unarchive Tags. (data: tag_id*) - **update**: Update Tags. (data: tag_id*, payload*{color, name}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

time-entries

Time-entries

Manage Focus time-entries with the following actions: - **archive**: Archive Time Entries. (data: time_entry_id*) - **bulk-create**: Bulk Create Time Entries. JSON array of entries with task_id, start, duration, type ('activity'|'break'). One HTTP request for many creates. Datetime fields (start, planned_start, planned_at, tracked_at) must be RFC3339 with a timezone (e.g. 2026-04-01T09:00:00Z or 2026-04-01T11:00:00+02:00), not YYYY-MM-DDTHH:MM. (data: array payload) - **bulk-delete**: Bulk Delete Time Entries. Soft-delete multiple time entries by id in one request. (data: ids*) - **bulk-edit**: Bulk Edit Time Entries. (data: payload*{changes*, ids*}) - **bulk-patch**: Bulk Patch Time Entries. JSON array of { id: timeEntryId, ...partial fields } for bulk partial update. Datetime fields (start, planned_start, planned_at, tracked_at) must be RFC3339 with a timezone, or null to clear. (data: array payload) - **bulk-restore**: Bulk Restore Time Entries. Restore deleted time entries by id in one request. (data: ids*) - **bulk-set-day-duration**: Bulk Set Day Duration Time Entries. (data: payload*) - **constraints-list**: Constraints List Time Entries. (data: none) - **constraints-upsert**: Constraints Upsert Time Entries. (data: payload*{enabled*, required_fields*, disallow_billable_override}) - **create**: Create a completed task time entry. payload.type defaults to 'activity' when omitted. Logs a completed task time entry. payload.type defaults to 'activity' when omitted; pass 'break' explicitly for a break. provide payload.start and payload.duration for completed tracked time. payload.start must be RFC3339 with a timezone (e.g. 2026-04-01T09:00:00Z or 2026-04-01T11:00:00+02:00), not YYYY-MM-DDTHH:MM. (data: from_recurring_task_id, payload*{...}, return_occurrence, task_id*) - **create-taskless**: Create a completed taskless time entry. payload.type defaults to 'activity' when omitted. Logs a completed taskless time entry. payload.type defaults to 'activity' when omitt

輸入參數dataaction必填dry_runconfirm_token

time-off

Time-off

Manage Focus time-off with the following actions: - **approve-timeoff-entry**: Approve Timeoff Entry Time Off. (data: entry_id*) - **archive-timeoff-category**: Archive Timeoff Category Time Off. (data: category_id*) - **cancel-timeoff-entry**: Cancel Timeoff Entry Time Off. (data: entry_id*) - **create-timeoff-balance-adjustment**: Create Timeoff Balance Adjustment Time Off. (data: payload*{amount*, time_off_category_id*, user_id*, date, note}) - **create-timeoff-category**: Create Timeoff Category Time Off. (data: payload*{allow_negative_balance*, auto_approve_under_days*, default_amount_per_year*, description*, emoji*, max_carry_over_amount*, name*, prorate*, accrual_frequency, allowance_type, carry_over_expiry_months, policy_link}) - **create-timeoff-for-user**: Create Timeoff For User Time Off. (data: payload*, user_id*) - **delete-timeoff-category**: Delete Timeoff Category Time Off. (data: category_id*) - **delete-timeoff-for-user**: Delete Timeoff For User Time Off. (data: payload*, user_id*) - **get-timeoff-absence-report**: Get Timeoff Absence Report Time Off. (data: category_id, end_date*, include_pending, start_date*, team_id, user_id) - **get-timeoff-balance-changes-for-user**: Get Timeoff Balance Changes For User Time Off. (data: category_id*, page, rows, user_id*, year) - **get-timeoff-balances**: Get Timeoff Balances Time Off. (data: category_id, date, user_id) - **get-timeoff-balances-for-user**: Get Timeoff Balances For User Time Off. (data: category_id, date, user_id*) - **get-timeoff-categories**: Get Timeoff Categories Time Off. (data: none) - **get-timeoff-category**: Get Timeoff Category Time Off. (data: category_id*) - **get-timeoff-entries**: Get Timeoff Entries Time Off. (data: category_id, from, page, rows, status, team_id, to, user_id) - **get-timeoff-entry**: Get Timeoff Entry Time Off. (data: entry_id*) - **get-timeoff-for-user**: Get Timeoff For User Time Off. (data: from*, to*, user_id*) - **get-timeoff-timeline**: Get Timeoff Timeli

輸入參數dataaction必填dry_runconfirm_token

timesheets

Timesheets

Manage Focus timesheets with the following actions: - **add-timesheet-flag**: Add Timesheet Flag Timesheets. (data: payload*{comment*, time_entry_id*}, setup_id*, start_date*, user_account_id*) - **approve**: Approve Timesheets. (data: setup_id*, start_date*, user_account_id*) - **bulk-approve**: Bulk Approve Timesheets. (data: payload*{keys*}) - **bulk-request-changes**: Bulk Request Changes Timesheets. (data: payload*{keys*, comment}) - **bulk-submit**: Bulk Submit Timesheets. (data: payload*{keys*}) - **bulk-withdraw**: Bulk Withdraw Timesheets. (data: payload*{keys*}) - **get**: Get Timesheets. (data: approver_user_account_ids, current_layer_approver_user_account_id, date_from*, date_to*, member_status, page, per_page, setup_id, statuses, team_ids, user_account_ids) - **get-approvers**: Get Approvers Timesheets. (data: none) - **get-details**: Get Details Timesheets. (data: setup_id*, start_date*, user_account_id*) - **get-flags**: Get Flags Timesheets. (data: setup_id*, start_date*, user_account_id*) - **get-history**: Get History Timesheets. (data: setup_id*, start_date*, user_account_id*) - **get-hours**: Get Hours Timesheets. (data: setup_id*, start_date*, user_account_id*) - **get-status-counts**: Get Status Counts Timesheets. (data: approver_user_account_ids, date_from*, date_to*, member_status, setup_id, team_ids, user_account_ids) - **remove-timesheet-flag**: Remove Timesheet Flag Timesheets. (data: flag_id*) - **request-changes**: Request Changes Timesheets. (data: payload*{comment*}, setup_id*, start_date*, user_account_id*) - **resubmit**: Resubmit Timesheets. (data: payload*{comment*}, setup_id*, start_date*, user_account_id*) - **setups-add-timesheet-setup-member**: Setups Add Timesheet Setup Member Timesheets. (data: payload*{started_at}, setup_id*, user_account_id*) - **setups-cancel-timesheet-setup-member-move**: Setups Cancel Timesheet Setup Member Move Timesheets. (data: setup_id*, user_account_id*) - **setups-create**: Setups Create Timesheet

輸入參數dataaction必填dry_runconfirm_token

track-team-invites

Track-team-invites

Manage Focus track-team-invites with the following actions: - **post**: Post Track Team Invites. (data: payload*{organization_user_ids*}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

usage-signals

Usage-signals

Manage Focus usage-signals with the following actions: - **list**: List Usage Signals. (data: none) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

users

Users

Manage Focus users with the following actions: - **list**: List Users. Lists organization users (members). Use returned IDs for assignee_user_ids on tasks. Invite or provision new users from the Toggl Track/Focus web UI or billing admin — this API lists existing users only. (data: page, per_page, filter, sort_dir, only_admins, include_working_hours, include_rates, workspaces, tag_ids, roles, active_status, groups, pinned_ids, user_account_ids, org_user_ids) - **settings-email-unsubscribe**: Settings Email Unsubscribe Users. (data: token*) - **settings-email-unsubscribe-page**: Settings Email Unsubscribe Page Users. (data: token*) - **settings-list**: Settings List Users. (data: none) - **settings-partial-update**: Settings Partial Update Users. (data: payload*{...}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

workspace-settings

Workspace-settings

Manage Focus workspace-settings with the following actions: - **workspace-settings-list**: List user workspace settings. (data: none) - **workspace-settings-partial-update**: Update user workspace settings. (data: payload*{has_opened_focus, onboarding_intent, onboarding_invited_user_ids, onboarding_project_id, onboarding_step, onboarding_task_id, onboarding_team_size, work_introduction_dismissed}) - **get-user-permissions**: Get User Permissions Workspace Settings. (data: none) - **get-workspace-currency**: Get Workspace Currency Workspace Settings. (data: none) - **get-workspace-export-branding**: Get Workspace Export Branding Workspace Settings. (data: none) - **get-workspace-watermark**: Get Workspace Watermark Workspace Settings. (data: none) - **list**: List Workspace Settings. (data: none) - **update**: Update Workspace Settings. (data: payload*{default_private, settings}) - **update-workspace-currency**: Update Workspace Currency Workspace Settings. (data: payload*{currency*}) - **update-workspace-watermark**: Update Workspace Watermark Workspace Settings. (data: payload*{show_watermark*}) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

version

Version

Manage Focus version with the following actions: - **service**: MCP package version plus the Focus API service revision. mcp.package is this published MCP package version (e.g. 1.8.0). focus_api is the Focus API process revision (git SHA / build number) — it does not change when you update the npm MCP package. (data: none) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

work-preparation

Work-preparation

Manage Focus work-preparation with the following actions: - **get**: Get Work Preparation. (data: page) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

working-hours

Working-hours

Manage Focus working-hours with the following actions: - **create-for-user**: Create For User Working Hours. (data: payload*, user_id*) - **delete-for-user**: Delete For User Working Hours. (data: payload*, user_id*) - **get-for-user**: Get For User Working Hours. (data: user_id*) - **replace-working-hours-for-users**: Replace Working Hours For Users Working Hours. (data: payload*{schedule*, user_ids*}) - **update-for-user**: Update For User Working Hours. (data: payload*, user_id*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

workspace

Workspace

Manage Focus workspace with the following actions: - **get-context**: Get Context Workspace. (data: none) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

org-invitations

Org-invitations

Manage Focus org-invitations with the following actions: - **list**: List pending invitations for the current user account. (data: none) - **create**: Send organization invitations (uses organization ID from your workspace profile). (data: initiating_product*, invitations*, skip_email*) - **get**: Get an invitation by ID. (data: invitation_id*) - **resend**: Resend an invitation email for an organization user record. (data: organization_user_id*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

org-members

Org-members

Manage Focus org-members with the following actions: - **get**: Get an organization user by organization user ID. (data: organization_user_id*) - **update**: Replace organization user settings (roles, groups, tags, etc.). (data: organization_user_id*, payload*{accounts_role_id*, active*, groups*, name*, tags*, workspaces*}) - **set-active**: Activate or deactivate an organization member. (data: organization_user_id*, status*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

org-workspaces

Org-workspaces

Manage Focus org-workspaces with the following actions: - **list**: List workspaces under the active organization. (data: none) - **my-roles**: Get your roles for a workspace (defaults to the CLI active workspace when omitted). (data: workspace_id) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

shared-status

Shared-status

Manage Focus shared-status with the following actions: - **get**: Health check for the Shared Data API. (data: none) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

shared-holidays

Shared-holidays

Manage Focus shared-holidays with the following actions: - **list**: List organization holiday calendar dates for a year (optional ISO country override). (data: year*, country) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

shared-working-hours

Shared-working-hours

Manage Focus shared-working-hours with the following actions: - **list**: Get your working hours entries for the active organization. (data: none) - **put**: Replace working hours by ID (JSON array of updates). (data: array payload) - **create**: Create working hour rows (JSON array). (data: array payload) - **delete**: Delete working hour rows by ID. (data: ids*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

org-time-off-me

Org-time-off-me

Manage Focus org-time-off-me with the following actions: - **list**: List your time off entries between two dates (YYYY-MM-DD). (data: from*, to*) - **update**: Update your time off entries (JSON array). (data: array payload) - **create**: Create your time off entries (JSON array). (data: array payload) - **delete**: Delete your time off entries by ID. (data: ids*) Pass the action-specific fields under `data` (required fields are marked with *). Mutations require a confirm_token handshake: call without confirm_token first to receive a token, then call again with the token to confirm. Optional dry_run: true validates input and returns { dry_run, operation, input } without calling the API.

輸入參數dataaction必填dry_runconfirm_token

版本歷史

108
  1. v1.13.194最新Nov 8, 2026
  2. v1.13.193Nov 7, 2026
  3. v1.13.181Nov 6, 2026
  4. v1.13.180Nov 6, 2026
  5. v1.13.175Nov 5, 2026
  6. v1.13.169Nov 5, 2026
  7. v1.13.161Nov 5, 2026
  8. v1.13.157Nov 4, 2026
  9. v1.13.149Nov 4, 2026
  10. v1.13.143Nov 4, 2026
  11. v1.13.140Nov 3, 2026
  12. v1.13.135Nov 3, 2026
  13. v1.13.131Nov 3, 2026
  14. v1.13.121Oct 30, 2026
  15. v1.13.118Oct 30, 2026
  16. v1.13.110Oct 30, 2026
  17. v1.13.108Oct 29, 2026
  18. v1.13.65Oct 26, 2026
  19. v1.13.62Oct 26, 2026
  20. v1.13.51Oct 26, 2026
  21. v1.13.50Oct 24, 2026
  22. v1.13.49Oct 23, 2026
  23. v1.13.45Oct 23, 2026
  24. v1.13.40Oct 23, 2026
  25. v1.13.39Oct 22, 2026
  26. v1.13.36Oct 22, 2026
  27. v1.13.32Oct 22, 2026
  28. v1.13.29Oct 21, 2026
  29. v1.13.28Oct 21, 2026
  30. v1.13.25Oct 21, 2026
  31. v1.13.20Oct 21, 2026
  32. v1.13.18Oct 20, 2026
  33. v1.13.15Oct 20, 2026
  34. v1.13.9Oct 20, 2026
  35. v1.13.6Oct 19, 2026
  36. v1.13.5Oct 19, 2026
  37. v1.13.2Oct 19, 2026
  38. v1.12.6Oct 16, 2026
  39. v1.12.5Oct 16, 2026
  40. v1.12.3Oct 16, 2026
  41. v1.11.227Oct 15, 2026
  42. v1.11.226Oct 15, 2026
  43. v1.11.220Oct 15, 2026
  44. v1.11.218Oct 15, 2026
  45. v1.11.216Oct 14, 2026
  46. v1.11.215Oct 14, 2026
  47. v1.11.213Oct 14, 2026
  48. v1.11.211Oct 13, 2026
  49. v1.11.210Oct 13, 2026
  50. v1.11.206Oct 13, 2026
  51. v1.11.202Oct 12, 2026
  52. v1.11.198Oct 9, 2026
  53. v1.11.197Oct 9, 2026
  54. v1.11.195Oct 9, 2026
  55. v1.11.194Oct 9, 2026
  56. v1.11.190Oct 8, 2026
  57. v1.11.184Oct 8, 2026
  58. v1.11.180Oct 8, 2026
  59. v1.11.176Oct 7, 2026
  60. v1.11.174Oct 7, 2026
  61. v1.11.169Oct 7, 2026
  62. v1.11.160Oct 7, 2026
  63. v1.11.159Oct 6, 2026
  64. v1.11.156Oct 6, 2026
  65. v1.11.153Oct 6, 2026
  66. v1.11.151Oct 6, 2026
  67. v1.11.147Oct 5, 2026
  68. v1.11.145Oct 5, 2026
  69. v1.11.142Oct 4, 2026
  70. v1.11.140Oct 4, 2026
  71. v1.11.139Oct 2, 2026
  72. v1.11.133Oct 2, 2026
  73. v1.11.128Oct 2, 2026
  74. v1.11.127Oct 1, 2026
  75. v1.11.122Oct 1, 2026
  76. v1.11.116Oct 1, 2026
  77. v1.11.112Oct 1, 2026
  78. v1.11.111Oct 1, 2026
  79. v1.11.106Sep 30, 2026
  80. v1.11.99Sep 30, 2026
  81. v1.11.94Sep 30, 2026
  82. v1.11.91Sep 30, 2026
  83. v1.11.89Sep 29, 2026
  84. v1.11.84Sep 29, 2026
  85. v1.11.82Sep 29, 2026
  86. v1.11.79Sep 29, 2026
  87. v1.11.73Sep 28, 2026
  88. v1.11.71Sep 28, 2026
  89. v1.11.66Sep 27, 2026
  90. v1.11.65Sep 27, 2026
  91. v1.11.64Sep 25, 2026
  92. v1.11.58Sep 25, 2026
  93. v1.11.57Sep 25, 2026
  94. v1.11.56Sep 24, 2026
  95. v1.11.50Sep 24, 2026
  96. v1.11.49Sep 24, 2026
  97. v1.11.45Sep 23, 2026
  98. v1.11.42Sep 23, 2026
  99. v1.11.40Sep 23, 2026
  100. v1.11.37Sep 23, 2026
  101. v1.11.34Sep 23, 2026
  102. v1.11.28Sep 22, 2026
  103. v1.11.27Sep 22, 2026
  104. v1.11.23Sep 22, 2026
  105. v1.11.19Sep 22, 2026
  106. v1.11.18Sep 21, 2026
  107. v1.11.5Sep 21, 2026
  108. v1.8.2Sep 16, 2026

評分

已滿足適用檢查項的 65%

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

  • 近 30 天內可連通25 分
  • 已宣告認證方式10 分

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

  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分

    請宣告包含 README 的 GitHub 儲存庫,或在 OAuth 受保護資源後設資料中提供 resource_documentation。

  • 授權條款10 分

    請在儲存庫或註冊中心條目中宣告授權條款。