product updatemcpai time loggingintegrationsinvoicing

Talk to your time tracker: Temporalist is now an MCP server

Connect Claude, ChatGPT, Codex, Kimi Code or OpenCode to Temporalist and say it: start a timer, add three hours to yesterday, ask where your week went, invoice the client. Automatic time tracking catches the work as it happens — now your AI handles everything it can't see.

Headline reading 'Your AI can log your hours now' beside a chat bubble saying 'Add 3 hours to Dunder Mifflin yesterday' that turns into a tracked 3-hour session card

The last manual step was you

Automatic time tracking already solves most of the problem: the desktop app
turns file changes into sessions, the browser extension does the same for
URLs, and your day assembles itself — no timers, no screenshots. But there
was always a leftover pile that automation can't see. The call that happened
away from the keyboard. The timer you meant to stop at five. The Friday
question — "how much of this week was client work?" — that meant opening
the dashboard and clicking around.

You already talk to an AI assistant all day. As of today, that assistant can
handle the leftover pile: Temporalist is now a native MCP server, and
every MCP client — Claude, ChatGPT, OpenAI Codex, Kimi Code, OpenCode and
friends — can operate your time tracking directly.

What you can say

No commands to memorize. These are real phrases, straight from our own
usage:

  • "Create a project called Dunder Mifflin and start a timer for this
    session."
  • "Change current task to building the frontend."
  • "Add 3 hours to Dunder Mifflin yesterday — researching deployment."
  • "How much time did I spend on Dunder Mifflin this week?"
  • "Stop the timer — actually, I stopped at 17:00."
  • "Move this morning's entry to the right project."
  • "Invoice all Dunder Mifflin work for July, then send it."

Your assistant picks the right tool, Temporalist does the bookkeeping, and
the result lands in the same ledger as your automatically tracked sessions:

A phrase — add 3 hours to Dunder Mifflin yesterday — travels through the add_time_entry tool and becomes a ledger entry with pause-aware totals, the user's timezone, and a started_via mcp label

Project names are fuzzy-matched, so "dunder muffin" still finds Dunder
Mifflin. When a name is genuinely ambiguous, the assistant gets your project
list back and asks instead of guessing.

One URL, every assistant

MCP (the Model Context Protocol) is the open standard AI assistants use to
talk to outside tools. Temporalist implements it as a remote server — there
is nothing to download, nothing to self-host, and no per-client setup drift:

Six assistant chips — Claude, Claude Code, ChatGPT, OpenAI Codex, Kimi Code and OpenCode — converge on one temporal.ist/mcp node, which feeds a single Temporalist ledger of timers, entries, reports and invoices

You authenticate with the same OAuth login as the dashboard, scopes are
read/write, and you can disconnect any client without touching the others.
Prefer keys? Create one under Settings → API keys — a read-only key
makes a reporting-only assistant that can answer questions but never change
your hours.

Set it up

The server lives at https://temporal.ist/mcp. Pick your client:

Claude Code — one command, then authenticate from /mcp:

claude mcp add --transport http --scope user temporalist https://temporal.ist/mcp

Claude (web, desktop & mobile) — Settings → Connectors → Add custom
connector
, paste https://temporal.ist/mcp, press Connect. The connector
follows your account to desktop and mobile.

OpenAI Codex — via the CLI, or directly in ~/.codex/config.toml:

codex mcp add temporalist --url https://temporal.ist/mcp
[mcp_servers.temporalist]
url = "https://temporal.ist/mcp"

ChatGPT — Settings → Apps & Connectors, enable Developer mode, then
Create a connector with the server URL.

Kimi Code:

kimi mcp add --transport http temporalist https://temporal.ist/mcp

OpenCode — in opencode.json:

{
  "mcp": {
    "temporalist": {
      "type": "remote",
      "url": "https://temporal.ist/mcp",
      "enabled": true
    }
  }
}

The MCP connection is part of Temporalist Pro. One subscription covers every
assistant you connect.

Sixteen tools, with guardrails

This is not a read-only demo. The full workflow is exposed: start_timer,
stop_timer, pause_timer, resume_timer, get_active_timer,
add_time_entry, list_time_entries, edit_time_entry,
delete_time_entry, set_current_task, list_projects, create_project,
get_time_report, create_invoice, list_invoices and send_invoice.

Handing an AI write access to your billable hours only works if the sharp
edges are guarded, so they are:

  • Destructive actions are two-step. Deleting an entry or emailing an
    invoice first returns a preview of exactly what would happen. Nothing
    irreversible runs until you confirm.
  • Invoices start as drafts. "Invoice July" builds line items from your
    unbilled sessions — grouped per project, pause-aware hours times the
    project's rate — and hands you a link to review before anyone sends
    anything.
  • Everything is labeled. Sessions an assistant creates are marked as
    such, so the dashboard always shows which hours came from AI time logging
    and which came from automatic tracking.
  • Invoiced hours are locked. Entries already on an invoice can't be
    edited or deleted through the AI, full stop.

The phrase invoice Dunder Mifflin for July becomes a draft invoice with line items and a total; only after an explicit you-confirm step does it become a sent envelope

Honest numbers, not vibes

An assistant is only as useful as the data underneath it. When you ask
"where did my week go?", the answer comes from the same pause-aware
arithmetic the dashboard uses: breaks and PC-sleep are excluded, days split
at midnight in your timezone, and a running timer is included and
labeled. Ask at 9am in Los Angeles and "yesterday" means your yesterday —
not a server's.

That's the quiet difference between time tracking software that added a
chatbot and time tracking that is genuinely AI-ready: the tools operate the
real ledger, with the real rules, and the numbers your assistant reports are
the numbers your invoice will carry.

What's next

This came out of our own daily use — logging hours from the middle of a
Claude Code session turned out to be something we now do without thinking.
If your assistant of choice doesn't connect cleanly, or there's a phrase you
keep trying that doesn't work yet, tell us at
temporal.ist/contact. The last few features
we shipped came straight from tickets; this one can grow the same way.

Frequently asked questions

Which AI assistants can I connect to Temporalist?

Any MCP client. Claude on web, desktop, mobile and Claude Code, ChatGPT and OpenAI Codex, Kimi Code, OpenCode, and any other tool that speaks the Model Context Protocol — they all connect to https://temporal.ist/mcp with the same OAuth login as the dashboard.

Do I need to install or host anything?

No. Temporalist runs the MCP server for you. Web clients connect with one URL; CLI clients with one command. There is no local bridge process and nothing to keep updated.

Can the AI send an invoice without me noticing?

No. Sending an invoice (and deleting a time entry) is always two-step: the first call returns a preview of the recipient, the total and the line items, and the action only runs after an explicit confirmation. Invoices are created as drafts you can review in the dashboard first.

Does this replace automatic time tracking?

It completes it. The desktop app and browser extension keep capturing work automatically from file changes and URLs — no screenshots, ever. The AI connection covers what automation can't see: backdated hours, corrections, questions and invoicing.

What plan do I need, and what does it cost per client?

The MCP server is part of Temporalist Pro. There is no per-assistant fee — one subscription covers every client you connect, and read-only API keys are included for reporting-only setups.