/ Directory / Playground / Time
● Official modelcontextprotocol ⚡ Instant

Time

by modelcontextprotocol · modelcontextprotocol/servers

Tiny MCP that kills a real annoyance — 'what time is it in Berlin?' and 'when does 3pm PT work for London?' without a browser tab.

The reference Time MCP. Two tools: get current time in any IANA timezone, and convert a specific time between zones. Solves scheduling questions and DST edge cases that Claude otherwise answers wrong because its training data has a cutoff.

Why use it

Key features

Live Demo

What it looks like in practice

time.replay ▶ ready
0/0

Install

Pick your client

~/Library/Application Support/Claude/claude_desktop_config.json  · Windows: %APPDATA%\Claude\claude_desktop_config.json
{
  "mcpServers": {
    "time": {
      "command": "uvx",
      "args": [
        "mcp-server-time"
      ]
    }
  }
}

Open Claude Desktop → Settings → Developer → Edit Config. Restart after saving.

~/.cursor/mcp.json · .cursor/mcp.json
{
  "mcpServers": {
    "time": {
      "command": "uvx",
      "args": [
        "mcp-server-time"
      ]
    }
  }
}

Cursor uses the same mcpServers schema as Claude Desktop. Project config wins over global.

VS Code → Cline → MCP Servers → Edit
{
  "mcpServers": {
    "time": {
      "command": "uvx",
      "args": [
        "mcp-server-time"
      ]
    }
  }
}

Click the MCP Servers icon in the Cline sidebar, then "Edit Configuration".

~/.codeium/windsurf/mcp_config.json
{
  "mcpServers": {
    "time": {
      "command": "uvx",
      "args": [
        "mcp-server-time"
      ]
    }
  }
}

Same shape as Claude Desktop. Restart Windsurf to pick up changes.

~/.continue/config.json
{
  "mcpServers": [
    {
      "name": "time",
      "command": "uvx",
      "args": [
        "mcp-server-time"
      ]
    }
  ]
}

Continue uses an array of server objects rather than a map.

~/.config/zed/settings.json
{
  "context_servers": {
    "time": {
      "command": {
        "path": "uvx",
        "args": [
          "mcp-server-time"
        ]
      }
    }
  }
}

Add to context_servers. Zed hot-reloads on save.

claude mcp add time -- uvx mcp-server-time

One-liner. Verify with claude mcp list. Remove with claude mcp remove.

Use Cases

Real-world ways to use Time

Find a meeting time that works across 4 timezones

👤 Anyone scheduling with a distributed team ⏱ ~3 min beginner

When to use: You need a 30-min slot that isn't 6am for someone or 10pm for someone else.

Flow
  1. Ground Claude in the real current time
    What's the current time in America/Los_Angeles, America/New_York, Europe/London, and Asia/Tokyo?✓ Copied
    → Four correct clock times, not stale guesses
  2. Convert candidate slots
    Convert 10:00 America/Los_Angeles on the next Tuesday to the other 3 zones. Flag if it falls outside 8am-7pm local for anyone.✓ Copied
    → 4-row table with out-of-hours flag
  3. Propose 2 humane slots
    Suggest 2 weekly recurring slots that keep everyone inside 8am-6pm local. No slots that require someone to work a weekend.✓ Copied
    → Two viable options with trade-offs

Outcome: A humane meeting time with the conversion math shown, ready to send as a calendar invite.

Pitfalls
  • DST transitions flip the offset mid-flight — Always use IANA zone names (America/Los_Angeles), never offsets like 'UTC-8' which go stale on DST change
  • Half-hour offset zones (India, Nepal, parts of Australia) — Trust the tool — it handles these; don't let Claude round to hours

Debug a timestamp bug by converting log times to your local zone

👤 Engineers reading UTC logs while troubleshooting ⏱ ~5 min beginner

When to use: Your logs are in UTC, your brain is in Pacific, and the incident correlation keeps going wrong.

Flow
  1. Translate the incident window
    Convert 2026-04-14T22:37:00Z to America/Los_Angeles. Also give me the same moment in Europe/Amsterdam where our ops on-call was.✓ Copied
    → Two local times side-by-side
  2. Confirm DST state
    Was DST in effect in America/Los_Angeles at that instant? What was the UTC offset?✓ Copied
    → Offset printed (e.g., -07:00), DST confirmed
  3. Correlate with human events
    Given the incident was 15:37 PT, does that line up with the Slack thread from 'Monday afternoon'?✓ Copied
    → Sanity check against human-named times

Outcome: You stop blaming the wrong deploy because you finally have the times right.

Pitfalls
  • Mixing 'Z', '+00:00', and naive timestamps — Always convert to explicit UTC first; reject any timestamp without a zone in the prompt
Combine with: sentry · postgres

Combinations

Pair with other MCPs for X10 leverage

time + sentry

Translate incident start/end times into local zones for postmortem narration

For Sentry incident INC-42, convert the start and end timestamps into America/Los_Angeles and Europe/Berlin and write the postmortem timeline.✓ Copied
time + postgres

Query with correct local-day boundaries when your DB stores UTC

How many signups happened on 2026-04-13 in America/Los_Angeles local time? Use the time tool to compute the UTC range, then query events.✓ Copied

Tools

What this MCP exposes

ToolInputsWhen to callCost
get_current_time timezone: str (IANA name, e.g. 'Europe/Berlin') Ground the model in real wall-clock time before any date reasoning free
convert_time source_timezone: str, time: str (HH:MM), target_timezone: str Convert a specific clock time between two zones free

Cost & Limits

What this costs to run

API quota
None — pure local computation
Tokens per call
Tiny — a few hundred tokens per call
Monetary
Free
Tip
No budget concerns. Call it freely whenever dates are involved.

Security

Permissions, secrets, blast radius

Credential storage: None
Data egress: None — reads the host system clock and tzdata

Troubleshooting

Common errors and fixes

Unknown timezone: 'PST'

Use IANA names, not abbreviations. 'PST' → 'America/Los_Angeles'. 'EST' → 'America/New_York'. Abbreviations are ambiguous (IST = India or Ireland?).

Returned time seems an hour off

DST transition edge case. Verify with the is_dst field — if it's wrong, your host's tzdata is stale. Update system timezone database.

Verify: zdump -v America/Los_Angeles | head
convert_time returns 'ambiguous time' during DST fall-back

The clock hour happens twice (1:30am runs twice). Specify a date-time, not just a time, for unambiguous conversion.

Alternatives

Time vs others

AlternativeWhen to use it insteadTradeoff
A dedicated calendar MCP (Google Calendar)You want to actually book the meeting, not just compute timesHeavier, needs OAuth — but closes the loop to an invite

More

Resources

📖 Read the official README on GitHub

🐙 Browse open issues

🔍 Browse all 400+ MCP servers and Skills