Reference

Connect an AI assistant

TimerOS runs a hosted MCP (Model Context Protocol) server at https://api.timeros.ai/mcp. An AI assistant you already use can connect to it, read your work and, if you allow it, make a limited set of changes. There is nothing to install. The assistant acts as you: every request goes through the same permission checks as your own sign-in, so it can never see more than you can. The connector is included in every plan (Freelancer, Startup and Enterprise) at no extra cost and has been tested with Claude: claude.ai on the web, the Claude desktop app and Claude Code.

How to connect

  1. 1In TimerOS, open Settings → Connections (desktop or web app) and copy the connector address, or use https://api.timeros.ai/mcp directly.
  2. 2In Claude, open Settings → Connectors → Add custom connector and paste the address.
  3. 3A TimerOS sign-in page opens. Sign in with your TimerOS email and password, plus your 2FA code if 2FA is on. A workspace that requires 2FA refuses accounts that haven’t set it up yet.
  4. 4On the consent page, check the assistant’s name, your workspace name and the access it asks for: read, or read and write. The page also lists what the assistant can never do. Incidents and change requests have a separate box, ticked by default; untick it to connect without them. Click Allow access to approve, or Cancel to refuse.
  5. 5You will get an email confirming the new connection. It names the assistant and its access, and tells you where to disconnect it.

What it can do

With read access, the assistant can summarise a project, find tasks, and look up teams, people, goals, clients, invoices, expenses and the profit report. It can also read your 1:1 chats with AI employees, the team threads you are in that include them, and the org chart, including which AI employee leads what. Reading never changes anything. With read and write, it can also add and update tasks and subtasks, change task status, add notes, record operating expenses, create projects with phases, assign your own unassigned tracked hours to your tasks, and post in those chats and threads.

A chat message the assistant posts is posted in your name and marked “Sent via” with the assistant’s name, for example “Sent via Claude”. Everyone in the thread sees the mark, AI employees included. The message reaches and wakes AI employees exactly as a message you type would. The assistant posts at most 30 messages an hour for you, across all your connections. Connections made before chat was switched on must be reconnected once to add chat: connect again from your assistant and approve the consent page, which now lists your chats with AI employees.

Small changes, such as a status, a note or a new task, are made in one step. Bigger ones (creating a project, adding a phase, creating several subtasks, assigning hours) work as plan first, then apply: the assistant gets a plan and shows it to you. It then applies the plan in a separate call that must repeat the plan’s confirmation text word for word. A plan expires after 10 minutes and can be applied only once. Assigning hours is the only change to time the assistant can make: it assigns minutes you have already tracked, but not yet assigned, to your own tasks. It never creates time, moves time between tasks or edits a day’s totals.

What it can never do

These aren’t permissions you grant or withhold: the assistant has no tools for them at all.

  • Change milestone status (which can create a client invoice), log or edit time beyond the hour assignment above, assign people to projects or tasks, set budgets or rates, create or send invoices, edit clients or employees, write goals, record transactions or vendor bills, or delete anything.
  • See pay, salaries, tax IDs, dates of birth, home addresses or emergency contacts. These fields are removed from every response.
  • Read or post in a client conversation (including a group with a client’s contacts), an incident war room, a meeting room or a chat between people only. The assistant can’t reach them at any access level. Incidents and change requests are the one thing you decide on: the assistant can read them only if you leave their box ticked when you connect. Anything a client wrote in them is passed to the assistant marked as data, never as instructions. Client names, descriptions and invoice notes are treated the same way.
  • Bypass your permissions or reach another workspace.

Managing connections

Settings → Connections lists every assistant connected to your account: its name, its access (read, read-and-write and, if you left the box ticked, incidents and change requests), when it was connected, when it was last used and how many changes it has made. Expand a connection to see its Activity list: every change the assistant made, each with the call that undoes it, except a chat post, which you delete in chat. Disconnect takes one click, and access stops from the assistant’s next request.

  • Access tokens last 15 minutes. Refresh tokens last 30 days and change every time they are used. If an old refresh token is used again, that one connection is disconnected.
  • All assistants connected to your account share one limit of 100 requests per 60 seconds, separate from your own use of the app.
  • If your workspace’s subscription ends, you can still disconnect assistants, but the tools won’t work until the subscription is active again.

Incidents and change requests

Incidents and change requests contain text your clients wrote: titles, descriptions and comments from the portal. That is why, unlike the rest of your workspace, they have their own box on the consent page, separate from read and read-and-write. The box is ticked by default. Leave it ticked to let the assistant work on incidents and change requests, or untick it to connect without them and keep everything else. Unticking only reduces what you grant; nothing can add access the assistant didn’t ask for. Reading tickets requires this box; changing them also requires read-and-write, so a read-only connection can read tickets but change nothing. Connections made before this box existed don’t include this access: disconnect in Settings → Connections and connect again to get it.

The assistant only works on tickets assigned to you. It can’t add a note, start work, resolve an incident or complete a change on someone else’s ticket. Instead, it asks whether to assign the ticket to you, and never assigns it without your agreement.

  • Assigning and routing: the assistant can assign a ticket to you or to a colleague you name. You can also ask the assistant who should take it. It looks at teams, job titles, seniority, skills, languages and how many open tickets each person has, suggests one person with a one-line reason, and assigns only after you agree. The Freelancer plan has no teams, so it looks at people only.
  • Who is told: assigning a change request notifies the new implementer, the previous one and every active member of the assigned team, in the app and by email. Assigning an incident notifies only the new assignee. The client can see that person’s name in the portal.
  • Starting work: the assistant can set an incident, or a change that has already been approved, to in progress. On a client ticket, the client is told that work has started (for an incident, only the first time). A change that is still a draft or waiting for approval can’t be started.
  • Notes stay internal: a note the assistant adds to a ticket is an internal note. The client never sees it.

Resolving an incident or completing a change happens only through a plan you approve. The plan lists what will be saved, what the client will see, what will be emailed and whether it can be undone. The assistant applies it in a separate call, after you say yes. Resolving publishes your resolution notes and root cause in the client’s portal and sends the client a branded email asking them to confirm or reopen the incident. Reopening undoes the resolution. Completing a change publishes your implementation notes and sends a “completed” email. The assistant can’t fully undo this.

What this does to your billing
Neither action creates an invoice. Resolving an incident doesn’t bill anything; the plan only tells you whether the incident goes into the queue of unbilled support work, to be invoiced later. Completing a change on a client ticket records the hours a later support invoice would use: the hours you enter, or the time since the change was started. The action itself bills nothing and no amount is calculated, because the assistant can’t read your rates.

For owners and admins: the workspace switch

A workspace owner or admin can turn off Allow AI assistant connections for this workspace in Settings → Connections (desktop app from 1.19.1, web app from 1.4.1). This disconnects every connection in the workspace right away, blocks new connections, and emails the people affected. Members see a notice that an administrator turned it off. The switch is on by default and applies to the whole workspace, not to individual people.

Other MCP clients
The connector is tested with Claude. Other MCP clients need Streamable HTTP and OAuth 2.1 with PKCE and client ID metadata documents. TimerOS does not support dynamic client registration, so a client that only supports that older method can’t connect yet.

Looking for a developer API, personal access tokens or webhooks? These aren’t available and aren’t on the roadmap right now. See the API reference for what you can use today.