Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, email [email protected] and we’ll put it right.

Timix.AI

REMOTE · API.TIMIX.AI · SCANNED AUG 3

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

Available components

+6 this week 75 Trust /100
Trust breakdown (6 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score →

Endpoint Security89
Transport & Reachability100
Schema Quality & AI Usability63
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 16024 tokens (~140/item across 114 items; 114 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management27
  • Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 100% of tool parameters carry a description.Pass
Capabilities60
  • Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
Install

Add this component to your MCP client. Where a client-specific snippet is available, pick your client below and copy it straight into your config; otherwise use the connection detail shown.

remote · api.timix.ai

# add to Claude Code
claude mcp add --transport http ai-timix-time-tracking https://api.timix.ai/api/integration/v1/mcp
# ~/.codex/config.toml
[mcp_servers.ai-timix-time-tracking]
url = "https://api.timix.ai/api/integration/v1/mcp"
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "ai-timix-time-tracking": {
      "type": "remote",
      "url": "https://api.timix.ai/api/integration/v1/mcp",
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add ai-timix-time-tracking --url https://api.timix.ai/api/integration/v1/mcp --transport streamable-http
# ~/.hermes/config.yaml
mcp_servers:
  ai-timix-time-tracking:
    url: "https://api.timix.ai/api/integration/v1/mcp"
// mcp.json
{
  "mcpServers": {
    "ai-timix-time-tracking": {
      "type": "http",
      "url": "https://api.timix.ai/api/integration/v1/mcp"
    }
  }
}

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 2 Aug 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 20 to 23. That category is still filling its 30-day observation window: 6 days of observed history at the previous scan, 7 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Jul 26 +5
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 30 Jul 26 −2
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 29 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Jul 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 27 Jul 26 0
    • We updated how we score, so this day's move reflects our rubric, not a change to the server See what changed → functional
  • 26 Jul 26 69

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 3 Aug 2026 · Probed https://api.timix.ai/api/integration/v1/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=api.timix.ai CN=WR3,O=Google Trust Services,C=US 1 Jul 2026 29 Sept 2026 RSA 2048 SHA256-RSA 9a8126b91b1bfeb909ff0edf4643fc6a
SANs: api.timix.ai
CN=WR3,O=Google Trust Services,C=US (CA) CN=GTS Root R1,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 RSA 2048 SHA256-RSA 7ff005a91568d63abc22861684aa4b5a
CN=GTS Root R1,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 19 Jun 2020 28 Jan 2028 RSA 4096 SHA256-RSA 77bd0d6cdb36f91aea210fc4f058d30d
DNSSEC insecure

Validation of api.timix.ai. Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
ai. present 3799 8 Verified
timix.ai. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication Enforced and verified

The endpoint asked for a token and published valid RFC 9728 metadata describing how to get one.

Result Enforced and verified
Enforced On tool calls
HTTP status 200

WWW-Authenticate challenge Bearer resource_metadata="https://api.timix.ai/.well-known/oauth-protected-resource/api/integration/v1/mcp"

Bearer resource_metadata="https://api.timix.ai/.well-known/oauth-protected-resource/api/integration/v1/mcp"
Header Value
content-security-policy default-src 'self'; script-src 'self' 'nonce-CoIExtzimYUJeaGXSpwQ9Q==' 'self'; style-src 'self' 'nonce-CoIExtzimYUJeaGXSpwQ9Q==' https://fonts.googleapis.com; font-src 'self' https://fonts.gstatic.com; img-src 'self' data: https:; connect-src 'self' 'self' https://api.timix.ai wss://api.timix.ai; frame-ancestors 'none'; base-uri 'self'; form-action 'self'; upgrade-insecure-requests;
x-content-type-options nosniff
x-frame-options DENY
referrer-policy strict-origin-when-cross-origin
permissions-policy accelerometer=(), ambient-light-sensor=(), autoplay=(), battery=(), camera=(), display-capture=(), document-domain=(), encrypted-media=(), execution-while-not-rendered=(), execution-while-out-of-viewport=(), fullscreen=(self), geolocation=(), gyroscope=(), layout-animations=(self), legacy-image-formats=(), magnetometer=(), microphone=(), midi=(), navigation-override=(), oversized-images=(), payment=(), picture-in-picture=(), publickey-credentials-get=(), sync-xhr=(), usb=(), vr=(), wake-lock=(), screen-wake-lock=(), web-share=(), xr-spatial-tracking=()

Protected resource metadata

Document https://api.timix.ai/.well-known/oauth-protected-resource/api/integration/v1/mcp
Retrieved Yes
Resource https://api.timix.ai/api/integration/v1/mcp
Authorisation server https://api.timix.ai
Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://api.timix.ai/api/integration/v1/mcp Verified 200
http (plaintext) http://api.timix.ai/api/integration/v1/mcp HTTPS enforced 302 https://api.timix.ai/api/integration/v1/mcp
MCP tools — 114 exposed · ~15,980 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability.

Tool Tokens
approve_timesheet ~144

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).

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
submission_period_idstringyesId of the submission period to approve (from get_pending_approvals or list_approval_history).

No output schema declared.

No examples provided.

assign_user_to_customer ~162

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).

NameTypeReqDescription
customer_idstringyesId of the customer to assign the user to.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
org_user_idstringyesId of the OrganizationUser to assign (not the Firebase user id — use get_project_team to discover it).

No output schema declared.

No examples provided.

assign_user_to_project ~175

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.

NameTypeReqDescription
emailstringEmail of the member to assign (preferred). Provide this OR org_user_id.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
org_user_idstringOrganization-user id of the member to assign. Provide this OR email.
project_idstringyesId of the project to assign the member to (required). Must be a project in your organization.

No output schema declared.

No examples provided.

bulk_create_time_reports ~141

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, defaults to 09:00) and text. Entries are always attributed to you. Returns per-item results (partial failures are reported rather than aborting the batch). Max 50 entries.

NameTypeReqDescription
entriesarrayyesList of time entries to create (max 50).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

bulk_update_cost_rates ~204

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.

NameTypeReqDescription
adjustment_percentagenumberPercentage to adjust every rate by (e.g. 5 = +5%, -3 = -3%). Provide this OR fixed_amount, not both.
effective_fromstringyesDate the adjusted rates take effect (YYYY-MM-DD) (required).
fixed_amountnumberSet every rate to this exact amount. Provide this OR adjustment_percentage, not both.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

bulk_update_time_reports ~131

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.

NameTypeReqDescription
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
idsarrayyesIds of the time entries to update (max 100).
textstringyesNew description to apply to all entries (max 1000 characters).

No output schema declared.

No examples provided.

cancel_invite ~116

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
invite_idstringyesId of the pending invitation to cancel.

No output schema declared.

No examples provided.

cancel_scheduled_report ~95

Permanently delete a scheduled report definition. Requires confirm=true to proceed.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idstringyesId of the scheduled report to delete.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

cancel_timer ~62

Cancel (discard) your running timer without creating a time entry. The elapsed time is lost. No arguments needed.

NameTypeReqDescription
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

change_user_role ~160

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.

NameTypeReqDescription
confirm_tokenstringToken returned by the preview (call this tool once with no token to get it). Required to commit; expires in ~10 minutes.
idempotency_keystringRequired when committing (confirm_token present): retrying with the same key returns the original result instead of acting twice.
new_rolestringyesNew role to assign: Admin, Finance, Manager, Member, or Viewer.
org_user_idstringyesId of the OrganizationUser record to update (not the Firebase userId).

No output schema declared.

No examples provided.

check_budget_limits ~65

Check whether logging additional hours on a subtask would exceed its budget limits. Returns whether the budget is exceeded and a message.

NameTypeReqDescription
additional_hoursnumberyesHours to check against the budget limit.
sub_task_idstringyesId of the subtask to check.

No output schema declared.

No examples provided.

close_frame_order ~119

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
frame_order_idstringyesId of the frame order to close.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

close_month ~158

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.

NameTypeReqDescription
confirm_tokenstringToken returned by the preview (call this tool once with no token to get it). Required to commit; expires in ~10 minutes.
idempotency_keystringRequired when committing (confirm_token present): retrying with the same key returns the original result instead of acting twice.
monthintegeryesCalendar month to close (1-12).
yearintegeryesCalendar year of the month to close (e.g. 2026).

No output schema declared.

No examples provided.

commit_import ~94

Commit a bulk-import CSV, creating the work hierarchy (customers, projects, tasks, subtasks) in the organization. Call validate_import first to verify the file.

NameTypeReqDescription
csv_contentstringyesThe CSV content to import. Must pass validate_import with no errors first.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

copy_period ~184

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).

NameTypeReqDescription
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
source_end_datestringyesInclusive end of the range to copy FROM (YYYY-MM-DD).
source_start_datestringyesInclusive start of the range to copy FROM (YYYY-MM-DD).
target_start_datestringyesThe first date of the target range (source_start_date maps here, YYYY-MM-DD).

No output schema declared.

No examples provided.

create_credit_note ~139

Create a credit note against an existing invoice, reducing the amount owed. Requires Finance role or above.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
credit_amountnumberyesTotal credit amount (required, must be > 0 and ≤ invoice total).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
invoice_idstringyesID of the invoice to credit (required).
reasonstringyesReason for the credit note (required).

No output schema declared.

No examples provided.

create_custom_field ~291

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.

NameTypeReqDescription
entitystringyesThe entity type this field is defined on (required). One of: billing_projects, billing_tasks, billing_sub_tasks, sub_tasks_time_reports, billing_customers.
field_idstringyesA unique, stable key for the field (required, max 50 chars), e.g. "po_number".
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
is_mandatorybooleanWhether a value is required when creating/updating the entity. Defaults to false.
list_of_valuesarrayOptions for a ListOfValues field (required for that type; at least one non-blank option).
titlestringyesHuman-readable label shown in the UI (required).
typestringyesField data type (required). One of: String, Number, Date, DateTime, ListOfValues.

No output schema declared.

No examples provided.

create_customer ~135

Create a new billing customer in your organization. The organization is fixed by your context - never pass an organization id.

NameTypeReqDescription
contact_emailstringOptional primary contact email address.
countrystringOptional country.
currencystringOptional ISO 4217 currency code (e.g. USD, EUR). Defaults to USD.
descriptionstringOptional customer description (max 200 characters).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
namestringyesCustomer name (required).

No output schema declared.

No examples provided.

create_favorite ~136

Save a time-entry combination as a favorite for quick reuse. Returns the created favorite.

NameTypeReqDescription
customer_idstringyesCustomer id.
descriptionstringDefault time-entry description (optional).
display_namestringyesShort label for the favorite (e.g. 'Daily standup on Acme').
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
project_idstringyesProject id.
sub_task_idstringyesSubtask id.
task_idstringyesTask id.

No output schema declared.

No examples provided.

create_frame_order ~271

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.

NameTypeReqDescription
currencystringISO 4217 currency code (e.g. USD). Defaults to the customer's currency when omitted.
customer_idstringyesId of the customer this frame order belongs to.
descriptionstringOptional human-readable description (max 500 chars).
end_datestringOptional end date in YYYY-MM-DD format (must be >= start_date).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
notesstringOptional free-text notes (max 2000 chars).
referencestringyesUnique reference string per (org, customer), e.g. 'PO-2026-001'. Max 100 chars.
start_datestringOptional start date in YYYY-MM-DD format.
total_amountnumberOptional contracted amount cap (must be > 0).
total_hoursnumberOptional contracted hours cap (must be > 0).

No output schema declared.

No examples provided.

create_holiday_profile ~411

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.

NameTypeReqDescription
default_for_countriesstringOptional comma-separated ISO-2 country codes this profile is the country-default for (for its year), e.g. "US" or "US,CA".
holidaysstringyesA JSON array (as a string) of the confirmed holidays, each an object: {"date":"YYYY-MM-DD","name":"...","full_day_off":true|false,"window_start":"HH:mm","window_end":"HH:mm"}. Dates must be within th…
namestringyesA descriptive profile name, e.g. "US Holidays 2026" or "Israel 2026".
notesstringOptional free-text notes about this profile.
set_as_defaultbooleanOptional. Set this profile as the organization's default holiday set for its year.
sourcestringProvenance of the dates: "hebcal", "nager", "manual", or "ai". Use the source returned by suggest_holiday_profile.
yearintegeryesThe calendar year this profile governs (e.g. 2026). It applies only to its year.

No output schema declared.

No examples provided.

create_project ~215

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.

NameTypeReqDescription
billing_typestringyesBilling type to allow on the project (required). One of: TM, Fix, OVH.
create_general_activitybooleanOptional. When true (the default for this tool), also create a default visible "General" task + activity so time can be logged on the project immediately. Set false to create an empty project with no…
customer_idstringyesId of the customer this project belongs to (required). Must be a customer in your organization.
descriptionstringOptional project description (max 500 characters).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
namestringyesProject name (required).

No output schema declared.

No examples provided.

create_scheduled_report ~140

Create a new scheduled report definition. The report will be generated and emailed to recipients on the configured cadence.

NameTypeReqDescription
cadencestringyesSchedule cadence: Daily, Weekly, or Monthly.
formatstringOutput format: pdf (default) or csv.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
namestringyesName for this scheduled report (max 150 chars).
recipientsstringyesComma-separated recipient email addresses.
report_typestringyesReport type: DailySummary or MonthlyHours.

No output schema declared.

No examples provided.

create_subtask ~140

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.

NameTypeReqDescription
descriptionstringOptional subtask description.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
namestringyesSubtask name (required).
task_idstringyesId of the parent task (required). Must be a task in your organization.

No output schema declared.

No examples provided.

create_task ~178

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.

NameTypeReqDescription
create_general_activitybooleanOptional. When true (the default for this tool), also create a default visible "General" activity under the task so time can be logged immediately. Set false to create a task with no activities yet.
descriptionstringOptional task description.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
namestringyesTask name (required).
project_idstringyesId of the parent project (required). Must be a project in your organization.

No output schema declared.

No examples provided.

create_time_report ~211

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, defaults to 09:00), and hours.

NameTypeReqDescription
datestringyesDate of the work (ISO 8601 YYYY-MM-DD, e.g. 2026-01-15).
hoursnumberyesHours worked (> 0 and ≤ 24).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
start_timestringOptional start time in 24-h HH:mm (defaults to 09:00).
subtask_idstringyesId of the subtask to log time against.
textstringOptional description of the work performed (max 1000 characters).

No output schema declared.

No examples provided.

delete_api_key ~137

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.

NameTypeReqDescription
confirm_tokenstringToken returned by the preview (call this tool once with no token to get it). Required to commit; expires in ~10 minutes.
idempotency_keystringRequired when committing (confirm_token present): retrying with the same key returns the original result instead of acting twice.
key_idstringyesId of the API key to permanently revoke.

No output schema declared.

No examples provided.

delete_custom_field ~128

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
custom_field_idstringyesId of the custom field definition to delete.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

delete_customer ~117

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
customer_idstringyesId of the customer to delete.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

delete_draft_invoice ~111

Delete a DRAFT invoice permanently. Only draft invoices can be deleted; issued invoices are permanent records. Returns a preview unless confirm=true is set.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
invoice_idstringyesId of the draft invoice to delete.

No output schema declared.

No examples provided.

delete_favorite ~93

Delete a saved time-entry favorite. Requires confirm=true to proceed.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
favorite_idstringyesId of the favorite to delete.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

delete_frame_order ~127

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
frame_order_idstringyesId of the frame order to delete.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

delete_holiday_profile ~119

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
holiday_profile_idstringyesId of the holiday profile to delete.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

delete_organization ~131

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.

NameTypeReqDescription
confirm_tokenstringToken returned by the preview (call this tool once with no token to get it). Required to commit; expires in ~10 minutes.
idempotency_keystringRequired when committing (confirm_token present): retrying with the same key returns the original result instead of acting twice.

No output schema declared.

No examples provided.

delete_project ~112

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
project_idstringyesId of the project to delete.

No output schema declared.

No examples provided.

delete_subtask ~109

Soft-delete a billing subtask into the recycle bin, where an admin can restore it. Returns a preview unless confirm=true is set.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
subtask_idstringyesId of the subtask to delete.

No output schema declared.

No examples provided.

delete_task ~110

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
task_idstringyesId of the task to delete.

No output schema declared.

No examples provided.

delete_time_report ~118

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
time_report_idstringyesId of the time report entry to delete.

No output schema declared.

No examples provided.

delete_work_schedule ~116

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
work_schedule_idstringyesId of the work schedule to delete.

No output schema declared.

No examples provided.

disable_user ~145

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
org_user_idstringyesId of the OrganizationUser record to disable (not the Firebase userId).
reasonstringOptional reason for disabling the user (stored for audit purposes).

No output schema declared.

No examples provided.

enable_user ~103

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.

NameTypeReqDescription
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
org_user_idstringyesId of the OrganizationUser to enable.

No output schema declared.

No examples provided.

find_billing_work ~121

Find the projects, tasks and subtasks in your organization where time can be tracked, optionally filtered by a name fragment. Use this to locate where to record work. Returns ids and names only.

NameTypeReqDescription
max_resultsintegerOptional maximum number of rows to return (1-50, default 50).
project_idstringOptional project id to drill into. When supplied, returns that project's tasks and subtasks.
querystringOptional case-insensitive name fragment to filter projects (or tasks when project_id is supplied).

No output schema declared.

No examples provided.

generate_invoice ~223

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.

NameTypeReqDescription
customer_idstringyesId of the customer to invoice.
due_datestringOptional explicit due date (ISO 8601). Overrides payment_terms-based calculation.
groupingstringHow to group approved hours into line items: "project" (default) or "task".
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
notesstringOptional notes to include on the invoice.
payment_termsstringPayment terms string, e.g. "Net 30" (default).
period_endstringyesBilling period end date (ISO 8601, e.g. 2026-05-31).
period_startstringyesBilling period start date (ISO 8601, e.g. 2026-05-01).

No output schema declared.

No examples provided.

get_billing_report ~67

Get billing summary for a customer over a date range

NameTypeReqDescription
customer_idstringyesThe customer ID to get billing report for
end_datestringyesEnd date in YYYY-MM-DD format
start_datestringyesStart date in YYYY-MM-DD format

No output schema declared.

No examples provided.

get_budget_alerts ~26

Get all budget alerts for the organization showing projects that are over or near budget

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_budget_health ~40

Get overall budget health summary for the organization, including project counts by status (on-track, warning, critical), total remaining budget hours, and active alerts

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

get_cost_rate_history ~48

Get the cost-rate history for a specific user in the organization. Requires Finance role or higher.

NameTypeReqDescription
user_idstringyesFirebase UID of the user whose cost-rate history to retrieve.

No output schema declared.

No examples provided.

get_customer_info ~39

Get detailed information about a customer including health score and portfolio

NameTypeReqDescription
customer_idstringyesThe unique identifier of the customer to retrieve information for

No output schema declared.

No examples provided.

get_dashboard_metrics ~55

Get organization dashboard metrics including utilization, revenue, and active projects

NameTypeReqDescription
monthstringMonth to get metrics for in YYYY-MM format (e.g. 2026-01). Defaults to current month if not provided.

No output schema declared.

No examples provided.

get_employee_timesheet ~99

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.

NameTypeReqDescription
employee_namestringName of the employee to look up. Leave empty or say 'me' for your own timesheet.
end_datestringyesEnd date in YYYY-MM-DD format
start_datestringyesStart date in YYYY-MM-DD format

No output schema declared.

No examples provided.