Convert a date/time from one IANA timezone to another. Accepts ISO 8601 or natural language ('next Tuesday 3pm'). Returns converted datetime, offset, abbreviation and DST flag.
Parameters3
datetime
string
required
ISO 8601 or natural language, e.g. "2026-07-09T15:30" or "next Tuesday 3pm".
Resolve a city or country name to its IANA timezone(s), so you don't need the exact identifier. E.g. 'Delhi' -> Asia/Kolkata.
Parameters1
city_or_country
string
required
City or country name, or ISO country code.
Raw schema
{
"type": "object",
"properties": {
"city_or_country": {
"type": "string",
"description": "City or country name, or ISO country code."
}
},
"required": [
"city_or_country"
],
"additionalProperties": false,
"$schema": "http://json-schema.org/draft-07/schema#"
}
date_math
Add/subtract time to a date respecting DST (days are calendar-based, hours/minutes are absolute), or compute the difference between two datetimes in different zones.
Suggest the best overlapping working-hour slots for a meeting across timezones. Excludes weekends and (if a country code is given per participant) public holidays.
Parameters4
participants
array
required
duration
number
required
Meeting duration in minutes.
date_range
object
required
Search window, e.g. {"start":"2026-07-13","end":"2026-07-17"}.
Timezone converter, world clock, date math & meeting scheduler MCP server for
AI agents — free, no API key, IANA/DST-accurate.
A remote Model Context Protocol server that
gives AI agents everything they can't compute on their own about time: the
current time anywhere, timezone conversion (ISO or natural language),
DST-aware date arithmetic, and cross-timezone meeting scheduling.
Runs with low global latency, or locally as an npm binary.
Keywords: timezone · mcp · world clock · date math · meeting scheduler · DST · IANA · timezone converter
🆓 Free & keyless — no account, no API key, no per-call billing.
🌍 IANA / DST accurate — correct across daylight-saving boundaries and
fractional offsets (India +05:30, Nepal +05:45, Chatham +12:45).
🗣️ Natural language — "next Tuesday 3pm" works as well as ISO 8601.
🧭 No identifiers required — lookup_timezone("Delhi") → Asia/Kolkata.
🤝 Meeting scheduler — overlapping working-hour slots across zones,
skipping weekends and public holidays.
⚡ Global edge — deployed globaly
Tools
Tool
Parameters
Description
now_in
timezone
Current local time in an IANA zone with utcOffset, abbreviation, isDST.
convert_timezone
datetime, from, to
Convert a time between zones. datetime accepts ISO 8601 or natural language.
convert_batch
datetime, from, to[]
Convert one instant into many target zones at once (world-clock view).
tz_offset
timezone, instant?
Exact UTC offset at an instant (DST-aware). Defaults to now.
list_timezones
query?
List/search valid IANA zone names by substring.
lookup_timezone
city_or_country
Resolve a city/country/ISO code to its IANA zone(s).
date_math
datetime, timezone, operation
Add/subtract time (DST-aware) or diff two datetimes across zones.
find_meeting_slots
participants[], duration, date_range
Best overlapping working-hour slots; skips weekends & holidays.
is_holiday
date, country_code
Whether a date is a public holiday (ISO 3166-1 alpha-2).
All responses are JSON. Where applicable they include datetime (ISO 8601),
utcOffset, abbreviation and isDST. Errors return { "error": "..." }
with a clear message and, for bad timezones, the closest suggestions.
npm install --legacy-peer-deps
npm test# unit tests (DST + fractional offsets + scheduler)
npm run dev # local Worker at http://localhost:8787/mcp
npm run deploy # deploy to Cloudflare
npm run build # bundle the stdio binary to dist/