Skip to content
Bill Every Hour You Actually Worked logo

Bill Every Hour You Actually Worked MCP server

Which servers in the official MCP registry are Bill Every Hour You Actually Worked's own, whether they answer, and what they offer. A program checked each of these, nobody copied them from a product page.

read 2026-10-13

← Back to Bill Every Hour You Actually Worked

Whose server it is
  • Registry nameai.timix/time-trackingverified in the MCP registry

The registry name sits under timix.ai. The registry only lets a publisher use that namespace after proving control of the domain through DNS or HTTP.

When we asked itchecked 2026-10-13
  • Stateanswerschecked 2026-10-13
  • Tools114
  • Server calls itselftimix-mcp
  • Server version1.0.0
  • Protocol version2025-06-18

On 2026-10-13 the server answered initialize and tools/list without a sign-in. First answer in 200 ms.

Tools it offers114 tools · read 2026-10-13
  • get_hours_summary

    Get a summary of hours logged for a user or team over a date range

  • get_dashboard_metrics

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

  • get_customer_info

    Get detailed information about a customer including health score and portfolio

  • get_project_status

    Get detailed project status including budget, hours, and task breakdown

  • get_billing_report

    Get billing summary for a customer over a date range

  • get_budget_alerts

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

  • list_customers

    List all customers in the organization

  • list_projects

    List all projects in the organization with their status and budget information

  • get_my_time_entries

    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_resource_utilization

    Get team resource utilization summary showing target hours, actual hours, billable hours, and utilization percentage for the organization

  • get_unbilled_time

    Get a summary of unbilled time across the organization, including total hours, total amount, number of entries, and aging information

  • get_budget_health

    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_employee_timesheet

    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.

  • list_my_time_entries

    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…

  • find_billing_work

    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…

  • get_project_team

    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…

  • log_time

    Create a single time entry on a subtask for the current user. Requires permission to log time.

  • suggest_holiday_profile

    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…

  • create_holiday_profile

    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…

  • create_customer

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

  • create_project

    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_task

    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_subtask

    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…

  • invite_user

    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…

  • assign_user_to_project

    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…

  • update_org_settings

    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…

  • update_customer

    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_project

    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…

  • update_task

    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…

  • update_subtask

    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…

  • create_time_report

    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…

  • update_time_report

    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.

  • bulk_create_time_reports

    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…

  • bulk_update_time_reports

    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…

  • copy_period

    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…

  • start_timer

    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…

  • stop_timer

    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.

  • cancel_timer

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

  • submit_timesheet

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

  • recall_timesheet

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

  • assign_user_to_customer

    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…

  • remove_user_project

    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…

  • enable_user

    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…

  • resend_invite

    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.

  • set_budget_thresholds

    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…

  • update_user_profile

    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…

  • update_user_preferences

    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…

  • set_user_cost_rate

    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…

  • bulk_update_cost_rates

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

  • create_custom_field

    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…

  • update_custom_field

    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…

  • set_custom_field_value

    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…

  • set_org_work_schedule

    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…

  • manage_user_work_schedule

    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…

  • update_holiday_profile

    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…

  • delete_customer

    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.

  • close_month

    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.

  • delete_project

    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_task

    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_subtask

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

The first 60 of 114, as the server listed them.

How to connect

Add the server to your MCP client config. Claude Desktop, Cursor and most other clients read this shape:

{
  "mcpServers": {
    "time-tracking": {
      "type": "http",
      "url": "https://api.timix.ai/api/integration/v1/mcp"
    }
  }
}

Each line is something a program found when it went looking: the registry entry, the server's own answer, a spec that parses. A missing line means we did not find it, not that it does not exist.