Time MCP Server

Official

Timezone sanity for AI — current time anywhere and correct conversions, without the model doing date math.

Local serverstdioPythonMIT 63.0k

What is the Time MCP server?

LLMs are bad at two humble things: knowing what time it is now, and doing timezone arithmetic. Models have no clock, and timezone conversion — with its daylight-saving edge cases and half-hour offsets — is exactly the kind of fiddly rule-following they fumble while sounding confident. The Time MCP server fixes both with two tools and no configuration.

get_current_time returns the actual current time in any IANA timezone ("America/New_York", "Asia/Kolkata"), which grounds every "what time is it in…" and "how long until…" question in reality. convert_time translates a time between zones with DST handled by a real timezone database rather than the model's recollection of when clocks change.

That sounds trivial until you schedule across continents. "Find a slot that's reasonable for Sydney, Berlin and San Francisco" involves three DST regimes; letting a model freestyle it produces meetings at 3 a.m. The server makes those conversions boringly correct, which is the only kind of correct that matters for calendars.

It's a tiny Python server from the official reference set, runs via uvx mcp-server-time, and is the sort of thing you install once and forget — until you notice your assistant has quietly stopped being wrong about time. Pairs naturally with calendar, email and scheduling servers, which all become more trustworthy when the time math underneath them is real.

Small details worth knowing

Two tools, but a few sharp edges are worth having in mind before you trust an answer blindly:

  • Zones have to be IANA identifiers — America/New_York, not "EST". Abbreviations are ambiguous (there is more than one CST in the world) and get rejected rather than guessed at.
  • convert_time takes a 24-hour time of day rather than a full date, so it resolves DST against today. For a meeting that sits on the other side of a clock change, state the date in your prompt and check the result.
  • Responses carry a DST flag and the offset difference between the two zones, which is what lets the assistant explain why a slot moved by an hour rather than just asserting it.
  • Inside a container the host timezone is usually UTC, which quietly makes "local time" wrong. Pass --local-timezone Europe/Berlin, or whichever zone is yours, when launching the server.

What you can do with it

Cross-timezone scheduling

Meeting slots across multiple DST regimes computed correctly instead of confidently wrong.

Grounding 'now'

Deadlines, countdowns and 'how long ago' questions answered against a real clock.

Log timestamp interpretation

Convert UTC log times to local zones accurately while debugging incidents.

Available tools

ToolWhat it does
get_current_timeCurrent time in any IANA timezone
convert_timeConvert a time between timezones with DST handled correctly

How to install the Time MCP server

{
  "mcpServers": {
    "time": {
      "command": "uvx",
      "args": ["mcp-server-time"]
    }
  }
}

Configuration

Python 3.10+ with uv. Nothing else — no accounts, no keys.

Example prompts to try

  • What time is it right now in Tokyo, London and São Paulo?
  • If the incident started at 02:14 UTC, what was that in US Eastern time?
  • Find a one-hour slot that lands between 9am and 6pm for both Sydney and Berlin.

Frequently asked questions

Models have no clock — 'now' isn't in their weights — and timezone/DST arithmetic is rule-heavy in ways they reliably fumble. Two small tools replace confident guesses with correct answers.