Time, timezone and duration tools — IANA zones, conversion, DST-correct date arithmetic.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Add an ISO-8601 duration to a timestamp, in a timezone. Date units (Y/M/D) are calendar-aware: P1D across a DST boundary keeps the same wall-clock time the next day, and P1M on Jan 31 clamps to the end of February. Time units (H/M/S) are exact elapsed time, so PT24H really is 24 hours. Prefix the duration with '-' to subtract.
ISO-8601 duration, e.g. 'P1D', 'PT30M', 'P1Y2M3DT4H5M6S', or '-P1W'.
ISO-8601 timestamp to shift.
IANA timezone governing the arithmetic — calendar units are applied to this zone's wall clock, and a timestamp with no 'Z' or offset is read as wall-clock time here. Defaults to UTC.
This tool isn't marked read-only, so it may change something on the server or in an account you connected.
Add an ISO-8601 duration to a timestamp, in a timezone. Date units (Y/M/D) are calendar-aware: P1D across a DST boundary keeps the same wall-clock time the next day, and P1M on Jan 31 clamps to the end of February. Time units (H/M/S) are exact elapsed time, so PT24H really is 24 hours. Prefix the duration with '-' to subtract.
| Argument | Type | Description |
|---|---|---|
| duration* | string | ISO-8601 duration, e.g. 'P1D', 'PT30M', 'P1Y2M3DT4H5M6S', or '-P1W'. |
| timezone | string | IANA timezone governing the arithmetic — calendar units are applied to this zone's wall clock, and a timestamp with no 'Z' or offset is read as wall-clock time here. Defaults to UTC. |
| isoTimestamp* | string | ISO-8601 timestamp to shift. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"duration",
"isoTimestamp"
],
"properties": {
"duration": {
"type": "string",
"description": "ISO-8601 duration, e.g. 'P1D', 'PT30M', 'P1Y2M3DT4H5M6S', or '-P1W'."
},
"timezone": {
"type": "string",
"description": "IANA timezone governing the arithmetic — calendar units are applied to this zone's wall clock, and a timestamp with no 'Z' or offset is read as wall-clock time here. Defaults to UTC."
},
"isoTimestamp": {
"type": "string",
"description": "ISO-8601 timestamp to shift."
}
},
"additionalProperties": false
}Render an ISO-8601 timestamp as wall-clock time in a target timezone.
| Argument | Type | Description |
|---|---|---|
| isoTimestamp* | string | ISO-8601 timestamp to convert, e.g. '2026-08-17T14:30:00Z'. |
| sourceTimezone | string | IANA timezone used to interpret `isoTimestamp` when it carries no 'Z' or offset. Ignored otherwise. Defaults to UTC. |
| targetTimezone* | string | IANA timezone identifier to render in. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"isoTimestamp",
"targetTimezone"
],
"properties": {
"isoTimestamp": {
"type": "string",
"description": "ISO-8601 timestamp to convert, e.g. '2026-08-17T14:30:00Z'."
},
"sourceTimezone": {
"type": "string",
"description": "IANA timezone used to interpret `isoTimestamp` when it carries no 'Z' or offset. Ignored otherwise. Defaults to UTC."
},
"targetTimezone": {
"type": "string",
"description": "IANA timezone identifier to render in."
}
},
"additionalProperties": false
}Return the current time as an epoch, a UTC ISO-8601 timestamp, and the wall-clock time in a given timezone.
| Argument | Type | Description |
|---|---|---|
| timezone | string | IANA timezone identifier, e.g. 'America/New_York'. Defaults to UTC. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"properties": {
"timezone": {
"type": "string",
"description": "IANA timezone identifier, e.g. 'America/New_York'. Defaults to UTC."
}
},
"additionalProperties": false
}Returns identity and build information for this server (name, version, build commit, runtime, capability counts)
No arguments.
{
"type": "object"
}Exact elapsed time between two ISO-8601 timestamps, broken into days/hours/minutes/seconds plus a human-readable summary. All components share one sign, so they sum correctly; `direction` is 'past', 'future', or 'same'.
| Argument | Type | Description |
|---|---|---|
| to* | string | End of the interval, as an ISO-8601 timestamp. |
| from* | string | Start of the interval, as an ISO-8601 timestamp. |
| timezone | string | IANA timezone used to interpret timestamps that carry no 'Z' or offset. Defaults to UTC. |
{
"type": "object",
"$schema": "https://json-schema.org/draft/2020-12/schema",
"required": [
"from",
"to"
],
"properties": {
"to": {
"type": "string",
"description": "End of the interval, as an ISO-8601 timestamp."
},
"from": {
"type": "string",
"description": "Start of the interval, as an ISO-8601 timestamp."
},
"timezone": {
"type": "string",
"description": "IANA timezone used to interpret timestamps that carry no 'Z' or offset. Defaults to UTC."
}
},
"additionalProperties": false
}