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
update_frame_order ~256

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.

NameTypeReqDescription
currencystringUpdated ISO 4217 currency code (e.g. USD).
descriptionstringUpdated description (max 500 chars).
end_datestringUpdated end date (YYYY-MM-DD, >= start_date), or omit to clear.
frame_order_idstringyesId of the frame order to update.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
notesstringUpdated free-text notes (max 2000 chars).
referencestringyesNew unique reference string for this (org, customer), max 100 chars.
start_datestringUpdated start date (YYYY-MM-DD), or omit to clear.
total_amountnumberUpdated contracted amount cap (must be > 0, or omit/null to clear).
total_hoursnumberUpdated contracted hours cap (must be > 0, or omit/null to clear).

No output schema declared.

No examples provided.

update_holiday_profile ~266

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.

NameTypeReqDescription
default_for_countriesstringOptional comma-separated ISO-2 country codes this profile is the default for, e.g. "US,CA".
holidaysstringA JSON array (as a string) that REPLACES the profile's holidays, each: {"date":"YYYY-MM-DD","name":"...","full_day_off":true|false,"window_start":"HH:mm","window_end":"HH:mm"}. Dates must be within t…
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
is_activebooleanWhether the profile is active.
namestringNew profile name.
notesstringOptional free-text notes.
profile_idstringyesId of the holiday profile to update (required). Must belong to your organization.

No output schema declared.

No examples provided.

update_org_settings ~293

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.

NameTypeReqDescription
auto_close_month_after_daysintegerAuto-close a month this many days after it ends (0 = never).
base_currencystringBase ISO 4217 currency code (e.g. USD, EUR).
budget_critical_threshold_percentintegerUtilization % at which a project is flagged Over-Budget (must be greater than the warning threshold).
budget_warning_threshold_percentintegerUtilization % at which a project is flagged At-Risk (must be less than the critical threshold).
countrystringOrganization country.
default_time_zonestringDefault IANA/Windows time zone id (e.g. America/New_York).
first_day_of_monthintegerDay the billing month starts (1-28).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
namestringOrganization display name.

No output schema declared.

No examples provided.

update_project ~292

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.

NameTypeReqDescription
billing_typesstringComma-separated list of billing types to allow on this project. One or more of: TM, Fix, OVH. Replaces the entire set — include all types you want to keep.
descriptionstringProject description (max 500 characters).
fix_hour_limitintegerFixed-price hour limit for this project (0 = unlimited).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
namestringNew project name.
ovh_hour_limitintegerOverhead hour limit for this project (0 = unlimited).
project_idstringyesId of the project to update (required). Must be a project in your organization.
statusstringProject status. One of: Active, OnHold, Completed, Cancelled.
tm_hour_limitintegerT&M (Time & Materials) hour limit for this project (0 = unlimited).

No output schema declared.

No examples provided.

update_scheduled_report ~156

Update an existing scheduled report definition. Only the fields you provide are changed; unspecified fields keep their current values.

NameTypeReqDescription
cadencestringNew cadence: Daily, Weekly, or Monthly (optional).
formatstringNew format: pdf or csv (optional).
idstringyesId of the scheduled report to update.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
is_activebooleanEnable (true) or disable (false) the schedule (optional).
namestringNew name (optional).
recipientsstringNew comma-separated recipient emails (optional).

No output schema declared.

No examples provided.

update_subtask ~234

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.

NameTypeReqDescription
billing_typestringBilling type for this subtask. One of: TM, Fix, OVH. Must be allowed by the parent task.
descriptionstringSubtask description.
hour_limitintegerHour limit for this subtask (0 = unlimited). Validated against the parent task's limit for the subtask's billing type.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
namestringNew subtask name.
statusstringSubtask status. One of: Active, Inactive, Completed.
subtask_idstringyesId of the subtask to update (required). Must be a subtask in your organization.

No output schema declared.

No examples provided.

update_task ~223

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.

NameTypeReqDescription
descriptionstringTask description.
fix_hour_limitintegerFixed-price hour limit for this task (0 = unlimited).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
namestringNew task name.
ovh_hour_limitintegerOverhead hour limit for this task (0 = unlimited).
statusstringTask status. One of: Active, Inactive, Completed.
task_idstringyesId of the task to update (required). Must be a task in your organization.
tm_hour_limitintegerT&M (Time & Materials) hour limit for this task (0 = unlimited).

No output schema declared.

No examples provided.

update_time_report ~169

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.

NameTypeReqDescription
datestringNew date (ISO 8601 YYYY-MM-DD).
hoursnumberNew duration in hours (> 0 and ≤ 24).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
start_timestringNew start time in 24-h HH:mm.
textstringNew description (max 1000 characters).
time_report_idstringyesId of the time entry to update.

No output schema declared.

No examples provided.

update_user_preferences ~242

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.

NameTypeReqDescription
default_day_sub_viewstringDefault sub-view for the day view. One of: timeline, list, stats, table.
default_month_sub_viewstringDefault sub-view for the month view. One of: calendar, list, timeline.
default_time_entry_viewstringDefault time-entry view. One of: day, week, month.
default_week_sub_viewstringDefault sub-view for the week view. One of: calendar, list, timeline.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
theme_preferencestringUI theme preference. One of: light, dark, system.
time_formatstringClock format. One of: 12h, 24h.

No output schema declared.

No examples provided.

update_user_profile ~185

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.

NameTypeReqDescription
countrystringUpdated country.
first_namestringUpdated first name.
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
job_titlestringUpdated job title.
last_namestringUpdated last name.
org_user_idstringyesId of the OrganizationUser to update.
timezonestringUpdated timezone (IANA or Windows id).

No output schema declared.

No examples provided.

use_favorite ~76

Record that a time-entry favorite was used, incrementing its use count and updating last-used timestamp.

NameTypeReqDescription
favorite_idstringyesId of the favorite to record usage for.
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.

validate_import ~57

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.

NameTypeReqDescription
csv_contentstringyesThe CSV content to validate (use the template from get_import_template).

No output schema declared.

No examples provided.

void_invoice ~158

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.

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.
invoice_idstringyesId of the issued invoice to void.
reasonstringyesRequired reason for voiding (recorded in the audit trail).

No output schema declared.

No examples provided.

write_off_time ~162

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.

NameTypeReqDescription
confirmbooleanSet true to perform the action. Omit or false returns a preview only — nothing is written.
hoursnumberyesNumber of hours to write off (required, must be > 0 and ≤ remaining billable hours).
idempotency_keystringOptional caller-supplied key; retrying with the same key returns the original result instead of acting twice.
reasonstringyesReason for the write-off (required).
time_report_idstringyesID of the approved time report to write off hours from (required).

No output schema declared.

No examples provided.