Connect RealTime to Cursor, Claude, or any MCP client so your assistant can start timers, log time and expenses, and check budgets on your behalf — using the exact same business logic and authorization as the REST API. Admins can also paste an entry ref from a ticket and pull week, timer, project, Harvest import, and slow-trace debug reads. No cloning the repo, no environment variables, no API keys.
Production is https://www.realtime.fyi/api/mcp. The apex host realtime.fyi 308s POST to www before the app, and many MCP clients treat that as a connection failure. That is a system error, not a user mistake.
Authentication is OAuth 2.1 (PKCE) — the same login you use for the web app. Each connection is locked to the organisation you approve; switching orgs in the app does not change what the client can see. Reconnect to grant another organisation. Nothing to paste except this URL. Revoke access anytime from Profile.
Device login lets your agent give you a short code and a link. Open the link on your phone, sign in, check the code, and approve an organisation. The agent finishes connecting automatically. You do not need access to its browser. Codes expire after ten minutes.
Enter a device codetimer_getCheck if a timer is running. The entry includes the ticket reference when the start sent one.Anytimer_startStart a timer (stops every previous one, end is now). Same project/task/notes returns the live timer. Optional ticket reference.Anytimer_stopStop the running timer (end is now).Anytimer_updateEdit the running timer (project, task, or notes).Anytimer_deleteDiscard the running timer without saving hours.Anytime_listList time entries (default: this week).Anytime_logLog a time entry without a timer. Takes the same optional ticket reference.Anytime_for_referenceEvery hour booked against one ticket, org-wide and all-time. No date window. Team totals are hours only; the listed entries are your own.Anytime_deleteHard-delete an unlocked time entry after writing an audit snapshot of the old row. Locked entries stay undeletable.Anyprojects_listList projects you can log time to.Anytasks_listList tasks for a project.Anyexpenses_listList your expenses.Anyexpense_logLog a new expense, optionally with an existing HTTPS receiptUrl.Anybudget_statusBudget usage + alert thresholds for your projects.Anyinvoices_listList invoices one page at a time. Pass cursor from nextCursor to continue.Admininvoice_getRead a saved invoice and every line, including descriptions, quantities, rates and amounts. Pass the RealTime id, invoice number, Harvest ID, Xero ID, or invoice URL from invoices_list.Admininvoice_workReview a client's time and expenses across all people for explicit from/to dates, including ticket references, invoice status, receipt links, and selectable (whether invoice_preview will bill that row). Follow nextCursor for every page.Admininvoice_previewPreview an exact billing period and selection without saving. Requires clientId, from, to, issuedDate, dueDate and taxRate. Ineligible IDs from invoice_work are omitted and listed as skipped. An empty period returns eligible=false and no token.Admininvoice_draftSave a reviewed preview using the same arguments plus previewToken. Omit the token to review the current preview without saving. Dates are required; no six-month default. Retries return the same draft. Does not send or push to Xero.Adminuninvoiced_summaryUnbilled time + expenses by client. Supply from/to for the billing month.Admindebug_entryResolve a copied realtime:entry:<id> ref to the live row (person, clocks, hours, project, task, notes, Harvest id).Admindebug_weekA person's timesheet week with clocks and Harvest ids.Admindebug_timerThe running timer for a person.Admindebug_projectA project's team and hours (week, month, all-time).Admindebug_harvest_importThe current Harvest import job.Admindebug_tracesRecent slow Sentry traces for this org — the SQL and duration.Admindebug_mcpRecent MCP handshake and tool events for this org (host, status, method, tool). Members cannot call this.AdminAdmin-only tools reject member sessions the same way the REST API does — never a silent success with empty data. Members never see rates or invoice amounts through MCP either. debug_mcp is organisation-admin telemetry only: handshake host, status, and method for this org. Tokens and notes are not stored. Treat connection failures as system errors, not as something the person connecting did wrong.
An admin agent should call debug_mcp first. That returns the last events for this organisation (host, HTTP status, MCP method, tool, auth outcome). If the list is empty and the client showed “Connection failed”, the POST likely never reached the app (apex 308). Query Sentry with transaction:/api/mcp plus mcp.method, mcp.result, http.status_code, http.host.