Skip to content

Timix.AI

by timix.ai · remote · no sign-in to list tools · v1.0.0 · published by ai.timix

Time tracking, live project budgets, and billing exports for service firms.

Deletes · 22Final · 7Changes · 59

114 tools: 22 can delete or cancel things, 7 do something that can't be undone, 59 change things and 26 only read.

Scanned Oct 21, 2026

No check matched anything in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http time-tracking https://api.timix.ai/api/integration/v1/mcp

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

114 tools

Deletes or cancels 22Claude Code: deny
  • cancel_inviteCancel a pending invitation so the invite link is no longer valid.No findings

    Why it is in this group

    • The name "cancel_invite" says "cancel": a word for removing or ending something.
    Description, as the server wrote it
    Cancel a pending invitation so the invite link is no longer valid. The email address can be re-invited at any time. Returns a preview unless confirm=true is set.
  • cancel_scheduled_reportPermanently delete a scheduled report definition.No findings

    Why it is in this group

    • The name "cancel_scheduled_report" says "cancel": a word for removing or ending something.
    • The description says "Permanently delete".
    Description, as the server wrote it
    Permanently delete a scheduled report definition. Requires confirm=true to proceed.
  • cancel_timerCancel (discard) your running timer without creating a time entry.No findings

    Why it is in this group

    • The name "cancel_timer" says "cancel": a word for removing or ending something.
    Description, as the server wrote it
    Cancel (discard) your running timer without creating a time entry. The elapsed time is lost. No arguments needed.
  • delete_api_keyPermanently revoke one of your Integration API keys.No findings

    Why it is in this group

    • The name "delete_api_key" says "delete": a word for removing or ending something.
    • The description says "cannot be restored".
    Description, as the server wrote it
    Permanently revoke one of your Integration API keys. Any MCP clients or integrations using the key will lose access immediately and cannot be restored. Returns a preview; re-call with the confirm_token and an idempotency_key to commit.
  • delete_custom_fieldDelete a custom-field definition from the organization.No findings

    Why it is in this group

    • The name "delete_custom_field" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Delete a custom-field definition from the organization. If the field is mandatory and already has values stored on entities the service will reject the delete with a clear reason. Returns a preview unless confirm=true is set. Admin role required.
  • delete_customerSoft-delete a billing customer and its whole hierarchy (projects, tasks, subtasks) into the recycle bin, where an admin can restore it.No findings

    Why it is in this group

    • The name "delete_customer" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Soft-delete a billing customer and its whole hierarchy (projects, tasks, subtasks) into the recycle bin, where an admin can restore it. Returns a preview unless confirm=true is set.
  • delete_draft_invoiceDelete a DRAFT invoice permanently.No findings

    Why it is in this group

    • The name "delete_draft_invoice" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Delete a DRAFT invoice permanently. Only draft invoices can be deleted; issued invoices are permanent records. Returns a preview unless confirm=true is set.
  • delete_favoriteDelete a saved time-entry favorite.No findings

    Why it is in this group

    • The name "delete_favorite" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Delete a saved time-entry favorite. Requires confirm=true to proceed.
  • delete_frame_orderSoft-delete an Open frame order into the recycle bin (restorable by an Admin).No findings

    Why it is in this group

    • The name "delete_frame_order" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Soft-delete an Open frame order into the recycle bin (restorable by an Admin). Blocked when Issued/Sent/Paid invoices are linked — void or unlink those first. Returns a preview unless confirm=true is set.
  • delete_holiday_profileDelete a named national-holiday profile from the organization.No findings

    Why it is in this group

    • The name "delete_holiday_profile" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Delete a named national-holiday profile from the organization. The year's holidays will no longer be applied to time calculations. Returns a preview unless confirm=true is set. Admin role required.
  • delete_organizationSoft-delete this organization.No findings

    Why it is in this group

    • The name "delete_organization" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Soft-delete this organization. All members will be locked out and the org will be hidden until a platform admin restores it within the retention window. Call once with no token to preview; re-call with the returned confirm_token and an idempotency_key to commit. Owner role required.
  • delete_projectSoft-delete a billing project and its whole task/subtask hierarchy into the recycle bin, where an admin can restore it.No findings

    Why it is in this group

    • The name "delete_project" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Soft-delete a billing project and its whole task/subtask hierarchy into the recycle bin, where an admin can restore it. Returns a preview unless confirm=true is set.
  • delete_subtaskSoft-delete a billing subtask into the recycle bin, where an admin can restore it.No findings

    Why it is in this group

    • The name "delete_subtask" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Soft-delete a billing subtask into the recycle bin, where an admin can restore it. Returns a preview unless confirm=true is set.
  • delete_taskSoft-delete a billing task and its subtask hierarchy into the recycle bin, where an admin can restore it.No findings

    Why it is in this group

    • The name "delete_task" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Soft-delete a billing task and its subtask hierarchy into the recycle bin, where an admin can restore it. Returns a preview unless confirm=true is set.
  • delete_time_reportDelete a time report entry.No findings

    Why it is in this group

    • The name "delete_time_report" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Delete a time report entry. Members can delete their own reports; Managers/Admins can delete others' (subject to org settings). Returns a preview unless confirm=true is set.
  • delete_work_scheduleDelete a named organization work schedule profile.No findings

    Why it is in this group

    • The name "delete_work_schedule" says "delete": a word for removing or ending something.
    Description, as the server wrote it
    Delete a named organization work schedule profile. Users assigned to this schedule will fall back to the default schedule. Returns a preview unless confirm=true is set. Admin role required.
  • permanent_delete_entityPermanently and IRREVERSIBLY hard-delete an entity from the recycle bin.No findings

    Why it is in this group

    • The name "permanent_delete_entity" says "delete": a word for removing or ending something.
    • The description says "IRREVERSIBLY".
    Description, as the server wrote it
    Permanently and IRREVERSIBLY hard-delete an entity from the recycle bin. The entity and all its children are removed from the database — this cannot be undone. Requires Admin role. Call once with no token to preview; re-call with the returned confirm_token and an idempotency_key to commit. entity_type must be one of: Customer, Project, Task, SubTask.
  • reissue_invoiceVoid an issued invoice and clone it into a new editable Draft (void + reissue).No findings

    Why it is in this group

    • The description's first verb is "void": a word for removing or ending something.
    • The description says "IRREVERSIBLE".
    Description, as the server wrote it
    Void an issued invoice and clone it into a new editable Draft (void + reissue). The original is voided and retained for audit; the new Draft can be edited then re-issued. The void is IRREVERSIBLE. Call once with no token to preview; re-call with the returned confirm_token and an idempotency_key to commit.
  • remove_userPermanently remove an organization member.No findings

    Why it is in this group

    • The name "remove_user" says "remove": a word for removing or ending something.
    • The description says "Permanently remove".
    Description, as the server wrote it
    Permanently remove an organization member. This action is IRREVERSIBLE — the user must be re-invited to rejoin. Returns a preview; re-call with the confirm_token and an idempotency_key to commit.
  • remove_user_from_customerRemove a user's assignment from a customer, revoking their access to the customer's projects and tasks.No findings

    Why it is in this group

    • The name "remove_user_from_customer" says "remove": a word for removing or ending something.
    Description, as the server wrote it
    Remove a user's assignment from a customer, revoking their access to the customer's projects and tasks. Requires confirm=true to proceed.
  • remove_user_projectRemove an organization member's assignment from a specific project.No findings

    Why it is in this group

    • The name "remove_user_project" says "remove": a word for removing or ending something.
    Description, as the server wrote it
    Remove an organization member's assignment from a specific project. The user will no longer have direct visibility to that project (they may still see it via a customer assignment). Requires org_user_id and project_id. The organization is fixed by your context — never pass an organization id. You cannot target a user more privileged than yourself.
  • void_invoiceVoid an issued invoice (reason required): releases source hours back to Approved and retains the immutable void record.No findings

    Why it is in this group

    • The name "void_invoice" says "void": a word for removing or ending something.
    • The description says "IRREVERSIBLE".
    Description, as the server wrote it
    Void an issued invoice (reason required): releases source hours back to Approved and retains the immutable void record. IRREVERSIBLE. Call once with no token to preview; re-call with the returned confirm_token and an idempotency_key to commit.
Can't be undone 7Claude Code: ask
  • create_scheduled_reportCreate a new scheduled report definition.No findings

    Why it is in this group

    • The name "create_scheduled_report" says "create": a word for a change.
    • The input addresses people (input.recipients): what it sends cannot be taken back.
    Description, as the server wrote it
    Create a new scheduled report definition. The report will be generated and emailed to recipients on the configured cadence.
  • invite_userInvite a person to join your organization by email at a chosen role.No findings

    Why it is in this group

    • The name "invite_user" says "invite": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Invite a person to join your organization by email at a chosen role. The organization is fixed by your context - never pass an organization id. Valid roles: Admin, Finance, Manager, Member, Viewer (you can only invite at a role no more privileged than your own). The invitee receives an email with an acceptance link.
  • issue_invoiceIssue a Draft invoice: assigns a gapless invoice number, locks the invoice as immutable, and marks source hours as Invoiced.No findings

    Why it is in this group

    • The description says "IRREVERSIBLE".
    Description, as the server wrote it
    Issue a Draft invoice: assigns a gapless invoice number, locks the invoice as immutable, and marks source hours as Invoiced. IRREVERSIBLE — corrections require void + reissue. Call once with no token to preview; re-call with the returned confirm_token and an idempotency_key to commit.
  • recall_timesheetWithdraw your submitted timesheet for a given month back to Draft (un-submit), reopening entries for editing.No findings

    Why it is in this group

    • The description's first verb is "withdraw": a word that usually means money moves, which cannot be taken back.
    Description, as the server wrote it
    Withdraw your submitted timesheet for a given month back to Draft (un-submit), reopening entries for editing. Only valid while the period is Submitted — after approval ask a manager to reopen it. Supply year and month (1-12).
  • resend_inviteRe-send a pending invitation email to the invitee and reset its status to Pending.No findings

    Why it is in this group

    • The name "resend_invite" says "resend": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Re-send a pending invitation email to the invitee and reset its status to Pending. Requires the invite_id (discover it via list of pending invites). The organization is fixed by your context — never pass an organization id.
  • send_invoiceMark an issued invoice as Sent to the customer.No findings

    Why it is in this group

    • The name "send_invoice" says "send": a word for sending, and what is sent cannot be taken back.
    Description, as the server wrote it
    Mark an issued invoice as Sent to the customer. The invoice must already be in Issued status. Returns a preview unless confirm=true is set.
  • update_scheduled_reportUpdate an existing scheduled report definition.No findings

    Why it is in this group

    • The name "update_scheduled_report" says "update": a word for a change.
    • The input addresses people (input.recipients): what it sends cannot be taken back.
    Description, as the server wrote it
    Update an existing scheduled report definition. Only the fields you provide are changed; unspecified fields keep their current values.
Changes things 59Claude Code: ask
  • approve_timesheetApprove a submitted timesheet period for a team member.No findings

    Why it is in this group

    • The name "approve_timesheet" says "approve": a word for a change.
    Description, as the server wrote it
    Approve a submitted timesheet period for a team member. The period and its time reports transition to Approved. Use confirm=true to proceed. Requires Manager or Admin/Owner role (Finance is excluded — timesheet approval is PM work, not finance).
  • assign_user_to_customerAssign an organization member to a billing customer so they can see that customer and all its projects.No findings

    Why it is in this group

    • The name "assign_user_to_customer" says "assign": a word for a change.
    Description, as the server wrote it
    Assign an organization member to a billing customer so they can see that customer and all its projects. Requires the org_user_id (discover it with get_project_team or get_employee_timesheet) and the customer_id. The organization is fixed by your context — never pass an organization id. You cannot target a user more privileged than yourself (Owner is not targetable by Admin).
  • assign_user_to_projectAssign a member to a project so they can see it and log time against its tasks.No findings

    Why it is in this group

    • The name "assign_user_to_project" says "assign": a word for a change.
    Description, as the server wrote it
    Assign a member to a project so they can see it and log time against its tasks. Identify the member by email (preferred) or by org_user_id, and the project by project_id (discover ids with find_billing_work - never ask the user for an id). The organization is fixed by your context.
  • bulk_create_time_reportsCreate multiple time entries in one call.No findings

    Why it is in this group

    • The name "bulk_create_time_reports" says "create": a word for a change.
    Description, as the server wrote it
    Create multiple time entries in one call. Supply an 'entries' array where each item has subtask_id, date (YYYY-MM-DD), and hours (> 0 and ≤ 24); optionally start_time (HH:mm; when omitted, the entry goes after your last entry that day and after the batch's other entries — 09:00 on a day with nothing logged) and text. Entries are always attributed to you. Returns per-item results (partial failures are reported rather than aborting the batch). Max 50 entries.
  • bulk_update_cost_ratesApply an organization-wide adjustment to every member's hourly COST rate, effective from a date.No findings

    Why it is in this group

    • The name "bulk_update_cost_rates" says "update": a word for a change.
    Description, as the server wrote it
    Apply an organization-wide adjustment to every member's hourly COST rate, effective from a date. Supply EITHER adjustment_percentage (e.g. 5 to raise all rates by 5%, -3 to cut 3%) OR fixed_amount (set every rate to this exact amount), not both. The organization is fixed by your context - never pass an organization id. Rate values are never echoed back.
  • bulk_update_time_reportsApply a common text description update to multiple of your own time entries.No findings

    Why it is in this group

    • The name "bulk_update_time_reports" says "update": a word for a change.
    Description, as the server wrote it
    Apply a common text description update to multiple of your own time entries. Supply ids (list of time-report ids, max 100) and text (the new description). Returns per-id results — partial failures are reported rather than aborting the whole batch.
  • change_user_roleChange an organization member's role.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Change an organization member's role. Returns a preview; re-call with the confirm_token and an idempotency_key to commit. Cannot assign the Owner role. Cannot escalate beyond your own role.
  • check_budget_limitsCheck whether logging additional hours on a subtask would exceed its budget limits.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Check whether logging additional hours on a subtask would exceed its budget limits. Returns whether the budget is exceeded and a message.
  • close_frame_orderClose an Open frame order so no new invoices may link to it.No findings

    Why it is in this group

    • The name "close_frame_order" says "close": a word for a change.
    Description, as the server wrote it
    Close an Open frame order so no new invoices may link to it. Returns a preview unless confirm=true is set. Closing is not directly reversible; the order remains in the Closed state.
  • close_monthClose a billing month so no further time can be logged or edited in it.No findings

    Why it is in this group

    • The name "close_month" says "close": a word for a change.
    Description, as the server wrote it
    Close a billing month so no further time can be logged or edited in it. Call once with no token to preview; re-call with the returned confirm_token and an idempotency_key to commit. Reversible only by reopening the month.
  • commit_importCommit a bulk-import CSV, creating the work hierarchy (customers, projects, tasks, subtasks) in the organization.No findings

    Why it is in this group

    • The name "commit_import" says "commit": a word for a change.
    Description, as the server wrote it
    Commit a bulk-import CSV, creating the work hierarchy (customers, projects, tasks, subtasks) in the organization. Call validate_import first to verify the file.
  • copy_periodCopy your own time entries from a source date range into a target date range, preserving each entry's weekday offset relative to the source start (e.g.No findings

    Why it is in this group

    • The name "copy_period" says "copy": a word for a change.
    Description, as the server wrote it
    Copy your own time entries from a source date range into a target date range, preserving each entry's weekday offset relative to the source start (e.g. copy last week to this week). New entries are created as Draft. The source range cannot exceed 31 days. Supply source_start_date, source_end_date, and target_start_date (all ISO 8601 YYYY-MM-DD).
  • create_credit_noteCreate a credit note against an existing invoice, reducing the amount owed.No findings

    Why it is in this group

    • The name "create_credit_note" says "create": a word for a change.
    Description, as the server wrote it
    Create a credit note against an existing invoice, reducing the amount owed. Requires Finance role or above.
  • create_custom_fieldDefine a new custom field on a billing entity type (project, task, subtask, time report, or customer) for your organization.No findings

    Why it is in this group

    • The name "create_custom_field" says "create": a word for a change.
    Description, as the server wrote it
    Define a new custom field on a billing entity type (project, task, subtask, time report, or customer) for your organization. The organization is fixed by your context - never pass an organization id. type is one of String, Number, Date, DateTime, ListOfValues; ListOfValues requires at least one option. Marking a field mandatory blocks creating that entity type until a value is provided.
  • create_customerCreate a new billing customer in your organization.No findings

    Why it is in this group

    • The name "create_customer" says "create": a word for a change.
    Description, as the server wrote it
    Create a new billing customer in your organization. The organization is fixed by your context - never pass an organization id.
  • create_favoriteSave a time-entry combination as a favorite for quick reuse.No findings

    Why it is in this group

    • The name "create_favorite" says "create": a word for a change.
    Description, as the server wrote it
    Save a time-entry combination as a favorite for quick reuse. Returns the created favorite.
  • create_frame_orderCreate a new Open frame order (blanket PO / commercial envelope) for a customer.No findings

    Why it is in this group

    • The name "create_frame_order" says "create": a word for a change.
    Description, as the server wrote it
    Create a new Open frame order (blanket PO / commercial envelope) for a customer. A frame order tracks a contracted hours or amount cap that invoices can draw down against. Reversible — the frame order can be deleted while it is still Open.
  • create_holiday_profileCreate and SAVE a national-holiday profile for the organization for a specific year, AFTER the user has explicitly reviewed and confirmed the holiday list.No findings

    Why it is in this group

    • The name "create_holiday_profile" says "create": a word for a change.
    Description, as the server wrote it
    Create and SAVE a national-holiday profile for the organization for a specific year, AFTER the user has explicitly reviewed and confirmed the holiday list. Each holiday is either a full day off or a half/partial working day (with a start/end working window). Holiday dates MUST come from suggest_holiday_profile or the user — never invent dates. Only call this once the user has confirmed; do not call it to preview.
  • create_projectCreate a new billing project under one of your customers.No findings

    Why it is in this group

    • The name "create_project" says "create": a word for a change.
    Description, as the server wrote it
    Create a new billing project under one of your customers. The organization is fixed by your context; customer_id must be a customer in your organization. Discover ids with find_billing_work - never ask the user for an id.
  • create_subtaskCreate a subtask under a task.No findings

    Why it is in this group

    • The name "create_subtask" says "create": a word for a change.
    Description, as the server wrote it
    Create a subtask under a task. All time entries are logged against subtasks, so every task needs at least one. The subtask inherits a valid billing type from the parent task. Discover ids with find_billing_work - never ask the user for an id.
  • create_taskCreate a task under a project.No findings

    Why it is in this group

    • The name "create_task" says "create": a word for a change.
    Description, as the server wrote it
    Create a task under a project. Tasks group the subtasks that time is logged against. The task inherits its allowed billing types from the parent project. Discover ids with find_billing_work - never ask the user for an id.
  • create_time_reportCreate a new time entry on a subtask for the current user.No findings

    Why it is in this group

    • The name "create_time_report" says "create": a word for a change.
    Description, as the server wrote it
    Create a new time entry on a subtask for the current user. The entry is always attributed to you — you cannot create entries on behalf of another user. Supply subtask_id, the date (ISO 8601 YYYY-MM-DD), start_time (HH:mm; when omitted, right after your last entry that day, or 09:00 on a day with nothing logged), and hours.
  • disable_userDisable an organization member so they can no longer sign in or use the app.No findings

    Why it is in this group

    • The name "disable_user" says "disable": a word for a change.
    Description, as the server wrote it
    Disable an organization member so they can no longer sign in or use the app. Reversible — the user can be re-enabled from the web application. Returns a preview unless confirm=true is set.
  • enable_userRe-enable a previously disabled organization member so they can log in and use the platform again.No findings

    Why it is in this group

    • The name "enable_user" says "enable": a word for a change.
    Description, as the server wrote it
    Re-enable a previously disabled organization member so they can log in and use the platform again. Requires the org_user_id. The organization is fixed by your context — never pass an organization id. You cannot target a user more privileged than yourself, and not your own account. It is refused when the organization's plan has no free seat: its active members already fill the plan's limit (error_code SUBSCRIPTION.SEAT_LIMIT_REACHED, with the limit in error_details) — the fix is to upgrade the plan or disable another member first.
  • generate_invoiceGenerate a DRAFT invoice from a customer's approved billable hours over a billing period.No findings

    Why it is in this group

    • The name "generate_invoice" says "generate": a word for a change.
    Description, as the server wrote it
    Generate a DRAFT invoice from a customer's approved billable hours over a billing period. The draft is editable and can be deleted before it is issued.
  • log_timeCreate a single time entry on a subtask for the current user.No findings

    Why it is in this group

    • The name "log_time" says "log": a word for reading.
    • The description's first verb is "create": a word for a change.
    Description, as the server wrote it
    Create a single time entry on a subtask for the current user. Requires permission to log time.
  • manage_user_work_scheduleManage YOUR OWN personal work schedule.No findings

    Why it is in this group

    • The name "manage_user_work_schedule" says "schedule": a word for a change.
    Description, as the server wrote it
    Manage YOUR OWN personal work schedule. action is one of: create, update, delete, assign (assign = make a schedule your active one). For update/delete/assign, provide schedule_id. default_hours is your standard daily hours (for a simple schedule). The organization is fixed by your context, and you can only manage your own schedule.
  • mark_invoice_paidMark an issued or sent invoice as Paid.No findings

    Why it is in this group

    • The name "mark_invoice_paid" says "mark": a word for a change.
    Description, as the server wrote it
    Mark an issued or sent invoice as Paid. Optionally record the paid amount and payment date. Returns a preview unless confirm=true is set.
  • mark_time_invoicedMark one or more time reports as invoiced, optionally linking them to an existing invoice.No findings

    Why it is in this group

    • The name "mark_time_invoiced" says "mark": a word for a change.
    Description, as the server wrote it
    Mark one or more time reports as invoiced, optionally linking them to an existing invoice. Requires Manager role or above.
  • move_projectMove a billing project to a different customer within your organization.No findings

    Why it is in this group

    • The name "move_project" says "move": a word for a change.
    Description, as the server wrote it
    Move a billing project to a different customer within your organization. Both the project and the destination customer must belong to your organization. Requires Manager role or above.
  • move_subtaskMove a subtask to a different task within your organization.No findings

    Why it is in this group

    • The name "move_subtask" says "move": a word for a change.
    Description, as the server wrote it
    Move a subtask to a different task within your organization. Both the subtask and the destination task must belong to your organization. Requires Manager role or above.
  • move_taskMove a task to a different billing project within your organization.No findings

    Why it is in this group

    • The name "move_task" says "move": a word for a change.
    Description, as the server wrote it
    Move a task to a different billing project within your organization. Both the task and the destination project must belong to your organization. Requires Manager role or above.
  • reject_timesheetReject a submitted timesheet period, returning it to the reporter for correction.No findings

    Why it is in this group

    • The name "reject_timesheet" says "reject": a word for a change.
    Description, as the server wrote it
    Reject a submitted timesheet period, returning it to the reporter for correction. The period and its time reports revert to Rejected (editable). A rejection comment is required. Use confirm=true to proceed. Requires Manager or Admin/Owner role (Finance is excluded — timesheet approval is PM work, not finance).
  • reopen_monthReopen a previously closed billing month, allowing time to be logged and edited again.No findings

    Why it is in this group

    • The name "reopen_month" says "reopen": a word for a change.
    Description, as the server wrote it
    Reopen a previously closed billing month, allowing time to be logged and edited again. Call once with no token to preview; re-call with the returned confirm_token and an idempotency_key to commit. Reversible only by closing the month again.
  • reopen_timesheetReopen a Submitted or Approved timesheet period for corrections.No findings

    Why it is in this group

    • The name "reopen_timesheet" says "reopen": a word for a change.
    Description, as the server wrote it
    Reopen a Submitted or Approved timesheet period for corrections. The period and its time reports revert to Rejected (editable), allowing the reporter to edit and resubmit. Use this when an approved period needs fixing. An optional comment can be provided. Use confirm=true to proceed. Requires Manager or Admin/Owner role (Finance is excluded — timesheet approval is PM work, not finance).
  • restore_entityRestore a soft-deleted entity (customer, project, task, or subtask) and all its children from the recycle bin.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Restore a soft-deleted entity (customer, project, task, or subtask) and all its children from the recycle bin. Requires Admin role. entity_type must be one of: Customer, Project, Task, SubTask.
  • set_budget_thresholdsSet the organization-level budget alert thresholds.No findings

    Why it is in this group

    • The name "set_budget_thresholds" says "set": a word for a change.
    Description, as the server wrote it
    Set the organization-level budget alert thresholds. budget_warning_threshold_percent is the utilization % at which a project is flagged At-Risk; budget_critical_threshold_percent is the % at which it is flagged Over-Budget. The warning threshold must be strictly less than the critical threshold. Supply one or both — only the fields you provide are changed (PATCH semantics). The organization is fixed by your context — never pass an organization id.
  • set_custom_field_valueSet the value of a custom field on a specific entity (a project, task, subtask, time report, or customer).No findings

    Why it is in this group

    • The name "set_custom_field_value" says "set": a word for a change.
    Description, as the server wrote it
    Set the value of a custom field on a specific entity (a project, task, subtask, time report, or customer). The custom field must already be defined for that entity type. The organization is fixed by your context. You must have permission to update the target entity.
  • set_org_work_scheduleCreate or update a named organization-level work schedule (a weekly working-time profile).No findings

    Why it is in this group

    • The name "set_org_work_schedule" says "set": a word for a change.
    Description, as the server wrote it
    Create or update a named organization-level work schedule (a weekly working-time profile). Provide schedule_id to update an existing one, or omit it to create a new one. weekly_schedule is a JSON object mapping lowercase day names to a working window, e.g. {"monday":{"start":"09:00","end":"18:00"},"saturday":null}. The organization is fixed by your context. On update, only the fields you supply are changed.
  • set_user_cost_rateSet the internal hourly COST rate for one member of your organization (used for profit/margin reporting).No findings

    Why it is in this group

    • The name "set_user_cost_rate" says "set": a word for a change.
    Description, as the server wrote it
    Set the internal hourly COST rate for one member of your organization (used for profit/margin reporting). The organization is fixed by your context - never pass an organization id. You cannot set your own cost rate. The rate value is never echoed back.
  • start_timerStart (or replace) your running timer on a subtask.No findings

    Why it is in this group

    • The name "start_timer" says "start": a word for a change.
    Description, as the server wrote it
    Start (or replace) your running timer on a subtask. There is at most one running timer per user; starting a new one replaces any existing. Stop it later with stop_timer to create a Draft time entry, or cancel it with cancel_timer to discard it. Supply subtask_id.
  • stop_timerStop your running timer.No findings

    Why it is in this group

    • The name "stop_timer" says "stop": a word for a change.
    Description, as the server wrote it
    Stop your running timer. The elapsed time is computed and a Draft time entry is created automatically. Returns the created time entry. No arguments needed.
  • submit_timesheetSubmit your time entries for a given month for manager approval.No findings

    Why it is in this group

    • The name "submit_timesheet" says "submit": a word for a change.
    Description, as the server wrote it
    Submit your time entries for a given month for manager approval. Draft and Rejected entries in the month are transitioned to Submitted. A billing-closed month cannot be submitted. Supply year and month (1-12).
  • suggest_holiday_profileLook up the official public/national holidays for a country (ISO-2 code, e.g.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Look up the official public/national holidays for a country (ISO-2 code, e.g. US, IL, GB) and year from an authoritative public source (Hebcal for Israel, Nager.Date for everywhere else). Returns a DRAFT list of holiday dates: each is either a full day off or a half/partial working day (with a start/end working window). Use this to PROPOSE a holiday profile — never invent holiday dates from memory. The dates returned are authoritative for that exact year.
  • undo_write_offReverse the most-recent write-off on a time report, restoring the written-off hours to the billable pool.No findings

    Why it is in this group

    • The name "undo_write_off" says "write": a word for a change.
    Description, as the server wrote it
    Reverse the most-recent write-off on a time report, restoring the written-off hours to the billable pool. The billing month must still be open. Requires Finance role or above.
  • update_custom_fieldUpdate an existing custom field definition (title, type, options, or mandatory flag) in your organization.No findings

    Why it is in this group

    • The name "update_custom_field" says "update": a word for a change.
    Description, as the server wrote it
    Update an existing custom field definition (title, type, options, or mandatory flag) in your organization. The organization is fixed by your context. You cannot change a field's field_id or the entity it applies to. Only the properties you supply are changed.
  • update_customerUpdate an existing billing customer in your organization.No findings

    Why it is in this group

    • The name "update_customer" says "update": a word for a change.
    Description, as the server wrote it
    Update an existing billing customer in your organization. Only the fields you provide are changed; everything else is left as-is (PATCH semantics). Discover ids with find_billing_work - never ask the user for an id.
  • update_draft_invoiceUpdate editable fields on a DRAFT invoice (notes, internal notes, payment terms, payment instructions, due date, purchase order number).No findings

    Why it is in this group

    • The name "update_draft_invoice" says "update": a word for a change.
    Description, as the server wrote it
    Update editable fields on a DRAFT invoice (notes, internal notes, payment terms, payment instructions, due date, purchase order number). Only valid while the invoice is still a Draft.
  • update_frame_orderUpdate an Open frame order's editable fields (reference, description, caps, dates, currency, notes).No findings

    Why it is in this group

    • The name "update_frame_order" says "update": a word for a change.
    Description, as the server wrote it
    Update an Open frame order's editable fields (reference, description, caps, dates, currency, notes). Closed frame orders cannot be edited; use this only for Open frame orders.
  • update_holiday_profileUpdate an existing holiday profile in your organization (name, holiday list, default-for-countries, active flag, or notes).No findings

    Why it is in this group

    • The name "update_holiday_profile" says "update": a word for a change.
    Description, as the server wrote it
    Update an existing holiday profile in your organization (name, holiday list, default-for-countries, active flag, or notes). The organization is fixed by your context. A profile's year cannot be changed. Only the fields you supply are changed; supplying holidays REPLACES the profile's holiday list. Holiday dates must fall within the profile's year.
  • update_org_settingsUpdate core settings for your organization: name, country, default_time_zone, base_currency, first_day_of_month (1-28), auto_close_month_after_days, and the budget alert thresholds…No findings

    Why it is in this group

    • The name "update_org_settings" says "update": a word for a change.
    Description, as the server wrote it
    Update core settings for your organization: name, country, default_time_zone, base_currency, first_day_of_month (1-28), auto_close_month_after_days, and the budget alert thresholds (budget_warning_threshold_percent must be less than budget_critical_threshold_percent). The organization is fixed by your context - never pass an organization id. Only the fields you provide are changed; everything else is left as-is.
  • update_projectUpdate an existing billing project in your organization.No findings

    Why it is in this group

    • The name "update_project" says "update": a word for a change.
    Description, as the server wrote it
    Update an existing billing project in your organization. Only the fields you provide are changed (PATCH semantics). You can rename the project, update its description, change its status, toggle which billing types are allowed (TM/Fix/OVH), and set per-type hour limits. Discover ids with find_billing_work - never ask the user for an id.
  • update_subtaskUpdate an existing subtask in your organization.No findings

    Why it is in this group

    • The name "update_subtask" says "update": a word for a change.
    Description, as the server wrote it
    Update an existing subtask in your organization. Only the fields you provide are changed (PATCH semantics). You can rename the subtask, update its description, change its status, billing type, and set an hour limit. Discover ids with find_billing_work - never ask the user for an id.
  • update_taskUpdate an existing task in your organization.No findings

    Why it is in this group

    • The name "update_task" says "update": a word for a change.
    Description, as the server wrote it
    Update an existing task in your organization. Only the fields you provide are changed (PATCH semantics). You can rename the task, update its description, change its status, and set per-type hour limits. Discover ids with find_billing_work - never ask the user for an id.
  • update_time_reportUpdate fields on one of your own time entries (PATCH — only the fields you supply are changed; everything else is left as-is).No findings

    Why it is in this group

    • The name "update_time_report" says "update": a word for a change.
    Description, as the server wrote it
    Update fields on one of your own time entries (PATCH — only the fields you supply are changed; everything else is left as-is). Supply the time_report_id plus any combination of date, start_time, hours, and text.
  • update_user_preferencesUpdate your own UI preferences: default time-entry view, sub-views, theme, and time format.No findings

    Why it is in this group

    • The name "update_user_preferences" says "update": a word for a change.
    Description, as the server wrote it
    Update your own UI preferences: default time-entry view, sub-views, theme, and time format. Only the fields you provide are changed (PATCH semantics). Applies to your account globally across all organizations. The user is fixed by your context — you can only change your own preferences.
  • update_user_profileUpdate a team member's organization-profile fields: first name, last name, country, timezone, and job title.No findings

    Why it is in this group

    • The name "update_user_profile" says "update": a word for a change.
    Description, as the server wrote it
    Update a team member's organization-profile fields: first name, last name, country, timezone, and job title. Only the fields you provide are changed (PATCH semantics). Role changes are not supported here — use the dedicated role-change tool. The organization is fixed by your context — never pass an organization id. You cannot target a user more privileged than yourself.
  • use_favoriteRecord that a time-entry favorite was used, incrementing its use count and updating last-used timestamp.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    Description, as the server wrote it
    Record that a time-entry favorite was used, incrementing its use count and updating last-used timestamp.
  • write_off_timeWrite off hours from an approved time report, removing them from the billable pool without invoicing (e.g.No findings

    Why it is in this group

    • The name "write_off_time" says "write": a word for a change.
    Description, as the server wrote it
    Write off hours from an approved time report, removing them from the billable pool without invoicing (e.g. discounts or goodwill). Requires Finance role or above.
Only reads 26Claude Code: allow
  • find_billing_workFind the projects, tasks and subtasks in your organization where time can be tracked.No findings

    Why it is in this group

    • The name "find_billing_work" says "find": a word for reading.
    Description, as the server wrote it
    Find the projects, tasks and subtasks in your organization where time can be tracked. Pass a name fragment as query to search customer, project, task and subtask names at once: every matching subtask comes back in `matches` with its full path (customer > project > task > subtask) and its subtask_id. Use this to locate where to record work. Returns ids and names only.
  • get_billing_reportGet billing summary for a customer over a date rangeNo findings

    Why it is in this group

    • The name "get_billing_report" says "get": a word for reading.
    Description, as the server wrote it
    Get billing summary for a customer over a date range
  • get_budget_alertsGet all budget alerts for the organization showing projects that are over or near budgetNo findings

    Why it is in this group

    • The name "get_budget_alerts" says "get": a word for reading.
    Description, as the server wrote it
    Get all budget alerts for the organization showing projects that are over or near budget
  • get_budget_healthGet overall budget health summary for the organization, including project counts by status (on-track, warning, critical), total remaining budget hours, and active alertsNo findings

    Why it is in this group

    • The name "get_budget_health" says "get": a word for reading.
    Description, as the server wrote it
    Get overall budget health summary for the organization, including project counts by status (on-track, warning, critical), total remaining budget hours, and active alerts
  • get_cost_rate_historyGet the cost-rate history for a specific user in the organization.No findings

    Why it is in this group

    • The name "get_cost_rate_history" says "get": a word for reading.
    Description, as the server wrote it
    Get the cost-rate history for a specific user in the organization. Requires Finance role or higher.
  • get_customer_infoGet detailed information about a customer including health score and portfolioNo findings

    Why it is in this group

    • The name "get_customer_info" says "get": a word for reading.
    Description, as the server wrote it
    Get detailed information about a customer including health score and portfolio
  • get_dashboard_metricsGet organization dashboard metrics including utilization, revenue, and active projectsNo findings

    Why it is in this group

    • The name "get_dashboard_metrics" says "get": a word for reading.
    Description, as the server wrote it
    Get organization dashboard metrics including utilization, revenue, and active projects
  • get_employee_timesheetGet an employee's timesheet report showing target hours, actual hours logged, and variance.No findings

    Why it is in this group

    • The name "get_employee_timesheet" says "get": a word for reading.
    Description, as the server wrote it
    Get an employee's timesheet report showing target hours, actual hours logged, and variance. Can look up by employee name or default to the requesting user.
  • get_frame_order_utilizationReport each frame order's contracted cap vs billed draw-down vs remaining, for both hours and amount, with utilization percentage.No findings

    Why it is in this group

    • The name "get_frame_order_utilization" says "get": a word for reading.
    Description, as the server wrote it
    Report each frame order's contracted cap vs billed draw-down vs remaining, for both hours and amount, with utilization percentage. Optionally filtered by customer and/or status.
  • get_hours_summaryGet a summary of hours logged for a user or team over a date rangeNo findings

    Why it is in this group

    • The name "get_hours_summary" says "get": a word for reading.
    Description, as the server wrote it
    Get a summary of hours logged for a user or team over a date range
  • get_import_templateReturn the CSV template for bulk-importing the work hierarchy (customers, projects, tasks, subtasks).No findings

    Why it is in this group

    • The name "get_import_template" says "get": a word for reading.
    Description, as the server wrote it
    Return the CSV template for bulk-importing the work hierarchy (customers, projects, tasks, subtasks). Fill the template and call validate_import before commit_import.
  • get_invoiceGet the full details of a specific invoice by ID.No findings

    Why it is in this group

    • The name "get_invoice" says "get": a word for reading.
    Description, as the server wrote it
    Get the full details of a specific invoice by ID.
  • get_my_time_entriesGet the current user's time entry analytics for a date range, including hours breakdown by project and customer, billable vs non-billable split, and target comparisonNo findings

    Why it is in this group

    • The name "get_my_time_entries" says "get": a word for reading.
    Description, as the server wrote it
    Get the current user's time entry analytics for a date range, including hours breakdown by project and customer, billable vs non-billable split, and target comparison
  • get_project_statusGet detailed project status including budget, hours, and task breakdownNo findings

    Why it is in this group

    • The name "get_project_status" says "get": a word for reading.
    Description, as the server wrote it
    Get detailed project status including budget, hours, and task breakdown
  • get_project_teamGet the people associated with a project: who is ASSIGNED to it (formally responsible / accountable) and the TOP CONTRIBUTORS by hours logged (who is actually doing the work and dr…No findings

    Why it is in this group

    • The name "get_project_team" says "get": a word for reading.
    Description, as the server wrote it
    Get the people associated with a project: who is ASSIGNED to it (formally responsible / accountable) and the TOP CONTRIBUTORS by hours logged (who is actually doing the work and driving the budget/overrun). Use this to answer 'who is responsible for / working on a project', especially when a project is over budget. Budget-alert results include the project_id you can pass directly into this tool.
  • get_resource_utilizationGet team resource utilization summary showing target hours, actual hours, billable hours, and utilization percentage for the organizationNo findings

    Why it is in this group

    • The name "get_resource_utilization" says "get": a word for reading.
    Description, as the server wrote it
    Get team resource utilization summary showing target hours, actual hours, billable hours, and utilization percentage for the organization
  • get_unbilled_timeGet a summary of unbilled time across the organization, including total hours, total amount, number of entries, and aging informationNo findings

    Why it is in this group

    • The name "get_unbilled_time" says "get": a word for reading.
    Description, as the server wrote it
    Get a summary of unbilled time across the organization, including total hours, total amount, number of entries, and aging information
  • list_customersList all customers in the organizationNo findings

    Why it is in this group

    • The name "list_customers" says "list": a word for reading.
    Description, as the server wrote it
    List all customers in the organization
  • list_favoritesList the current user's saved time-entry favorites (quick-entry shortcuts).No findings

    Why it is in this group

    • The name "list_favorites" says "list": a word for reading.
    Description, as the server wrote it
    List the current user's saved time-entry favorites (quick-entry shortcuts).
  • list_invoicesList invoices for your organization, optionally filtered by customer and status.No findings

    Why it is in this group

    • The name "list_invoices" says "list": a word for reading.
    Description, as the server wrote it
    List invoices for your organization, optionally filtered by customer and status.
  • list_my_time_entriesList the current user's own individual time entries for a date range: for each, its time_report_id (what update_time_report and delete_time_report take), date, start and end time o…No findings

    Why it is in this group

    • The name "list_my_time_entries" says "list": a word for reading.
    Description, as the server wrote it
    List the current user's own individual time entries for a date range: for each, its time_report_id (what update_time_report and delete_time_report take), date, start and end time of day on the organization's clock, project and subtask names and ids, hours, description, billable flag and status. Use this to see exactly what was logged (the per-entry detail), as opposed to aggregated totals, and to find the entry the user wants to change or delete.
  • list_projectsList all projects in the organization with their status and budget informationNo findings

    Why it is in this group

    • The name "list_projects" says "list": a word for reading.
    Description, as the server wrote it
    List all projects in the organization with their status and budget information
  • list_recycle_binList soft-deleted entities currently in the recycle bin, optionally filtered by entity type and paged.No findings

    Why it is in this group

    • The name "list_recycle_bin" says "list": a word for reading.
    Description, as the server wrote it
    List soft-deleted entities currently in the recycle bin, optionally filtered by entity type and paged.
  • list_scheduled_reportsList all scheduled report definitions for the organization.No findings

    Why it is in this group

    • The name "list_scheduled_reports" says "list": a word for reading.
    Description, as the server wrote it
    List all scheduled report definitions for the organization.
  • validate_importValidate a bulk-import CSV without persisting anything.No findings

    Why it is in this group

    • The name "validate_import" says "validate": a word for reading.
    Description, as the server wrote it
    Validate a bulk-import CSV without persisting anything. Returns row-level errors and a summary so you can fix the file before calling commit_import.

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http time-tracking https://api.timix.ai/api/integration/v1/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__time-tracking__get_hours_summary",
      "mcp__time-tracking__get_dashboard_metrics",
      "mcp__time-tracking__get_customer_info",
      "mcp__time-tracking__get_project_status",
      "mcp__time-tracking__get_billing_report",
      "mcp__time-tracking__get_budget_alerts",
      "mcp__time-tracking__list_customers",
      "mcp__time-tracking__list_projects",
      "mcp__time-tracking__get_my_time_entries",
      "mcp__time-tracking__get_resource_utilization",
      "mcp__time-tracking__get_unbilled_time",
      "mcp__time-tracking__get_budget_health",
      "mcp__time-tracking__get_employee_timesheet",
      "mcp__time-tracking__list_my_time_entries",
      "mcp__time-tracking__find_billing_work",
      "mcp__time-tracking__get_project_team",
      "mcp__time-tracking__list_invoices",
      "mcp__time-tracking__get_invoice",
      "mcp__time-tracking__list_favorites",
      "mcp__time-tracking__get_import_template",
      "mcp__time-tracking__validate_import",
      "mcp__time-tracking__list_scheduled_reports",
      "mcp__time-tracking__list_recycle_bin",
      "mcp__time-tracking__search",
      "mcp__time-tracking__get_frame_order_utilization",
      "mcp__time-tracking__get_cost_rate_history"
    ],
    "ask": [
      "mcp__time-tracking__log_time",
      "mcp__time-tracking__suggest_holiday_profile",
      "mcp__time-tracking__create_holiday_profile",
      "mcp__time-tracking__create_customer",
      "mcp__time-tracking__create_project",
      "mcp__time-tracking__create_task",
      "mcp__time-tracking__create_subtask",
      "mcp__time-tracking__invite_user",
      "mcp__time-tracking__assign_user_to_project",
      "mcp__time-tracking__update_org_settings",
      "mcp__time-tracking__update_customer",
      "mcp__time-tracking__update_project",
      "mcp__time-tracking__update_task",
      "mcp__time-tracking__update_subtask",
      "mcp__time-tracking__create_time_report",
      "mcp__time-tracking__update_time_report",
      "mcp__time-tracking__bulk_create_time_reports",
      "mcp__time-tracking__bulk_update_time_reports",
      "mcp__time-tracking__copy_period",
      "mcp__time-tracking__start_timer",
      "mcp__time-tracking__stop_timer",
      "mcp__time-tracking__submit_timesheet",
      "mcp__time-tracking__recall_timesheet",
      "mcp__time-tracking__assign_user_to_customer",
      "mcp__time-tracking__enable_user",
      "mcp__time-tracking__resend_invite",
      "mcp__time-tracking__set_budget_thresholds",
      "mcp__time-tracking__update_user_profile",
      "mcp__time-tracking__update_user_preferences",
      "mcp__time-tracking__set_user_cost_rate",
      "mcp__time-tracking__bulk_update_cost_rates",
      "mcp__time-tracking__create_custom_field",
      "mcp__time-tracking__update_custom_field",
      "mcp__time-tracking__set_custom_field_value",
      "mcp__time-tracking__set_org_work_schedule",
      "mcp__time-tracking__manage_user_work_schedule",
      "mcp__time-tracking__update_holiday_profile",
      "mcp__time-tracking__close_month",
      "mcp__time-tracking__approve_timesheet",
      "mcp__time-tracking__reject_timesheet",
      "mcp__time-tracking__reopen_timesheet",
      "mcp__time-tracking__generate_invoice",
      "mcp__time-tracking__update_draft_invoice",
      "mcp__time-tracking__send_invoice",
      "mcp__time-tracking__mark_invoice_paid",
      "mcp__time-tracking__issue_invoice",
      "mcp__time-tracking__create_frame_order",
      "mcp__time-tracking__update_frame_order",
      "mcp__time-tracking__close_frame_order",
      "mcp__time-tracking__reopen_month",
      "mcp__time-tracking__restore_entity",
      "mcp__time-tracking__change_user_role",
      "mcp__time-tracking__disable_user",
      "mcp__time-tracking__write_off_time",
      "mcp__time-tracking__undo_write_off",
      "mcp__time-tracking__create_credit_note",
      "mcp__time-tracking__move_subtask",
      "mcp__time-tracking__move_task",
      "mcp__time-tracking__move_project",
      "mcp__time-tracking__mark_time_invoiced",
      "mcp__time-tracking__create_favorite",
      "mcp__time-tracking__use_favorite",
      "mcp__time-tracking__commit_import",
      "mcp__time-tracking__create_scheduled_report",
      "mcp__time-tracking__update_scheduled_report",
      "mcp__time-tracking__check_budget_limits"
    ],
    "deny": [
      "mcp__time-tracking__cancel_timer",
      "mcp__time-tracking__remove_user_project",
      "mcp__time-tracking__delete_customer",
      "mcp__time-tracking__delete_project",
      "mcp__time-tracking__delete_task",
      "mcp__time-tracking__delete_subtask",
      "mcp__time-tracking__delete_time_report",
      "mcp__time-tracking__delete_draft_invoice",
      "mcp__time-tracking__void_invoice",
      "mcp__time-tracking__reissue_invoice",
      "mcp__time-tracking__delete_frame_order",
      "mcp__time-tracking__permanent_delete_entity",
      "mcp__time-tracking__remove_user",
      "mcp__time-tracking__cancel_invite",
      "mcp__time-tracking__delete_api_key",
      "mcp__time-tracking__delete_organization",
      "mcp__time-tracking__delete_custom_field",
      "mcp__time-tracking__delete_work_schedule",
      "mcp__time-tracking__delete_holiday_profile",
      "mcp__time-tracking__delete_favorite",
      "mcp__time-tracking__cancel_scheduled_report",
      "mcp__time-tracking__remove_user_from_customer"
    ]
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as time-tracking. Review it before you use it.