Skip to main content
Glama

@mcpx-digital/timezone

MCP server for IANA timezone conversion, cross-zone “what time when”, and meeting overlap windows.

Pure date-fns-tz / Intl — no external time APIs, no network calls.

Install (MCPX / npx)

npx -y @mcpx-digital/timezone

Prepared for npm as @mcpx-digital/timezone. Until published, run from a local clone.

Related MCP server: Time MCP Server

Cursor mcp.json example

{
  "mcpServers": {
    "timezone": {
      "command": "npx",
      "args": ["-y", "@mcpx-digital/timezone"]
    }
  }
}

Local clone:

{
  "mcpServers": {
    "timezone": {
      "command": "node",
      "args": ["/absolute/path/to/timezone-mcp/index.js"]
    }
  }
}

Tools

Tool

What it does

convert_timezone

Convert a moment between IANA zones

what_time_when

“What time is it in X when it’s Y in Z?”

meeting_overlap

Overlapping slots for N participants’ work hours

list_common_zones

Curated common IANA zone list

Example prompts

  • “Convert 3pm UTC to America/Los_Angeles”

  • “When it’s 9:00 in Tokyo, what time is it in New York on 2026-09-12?”

  • “Find 30-minute meeting slots for NY 9–17 and London 9–17 on 2026-03-10”

Development

git clone https://github.com/TheoryofShadows/timezone-mcp.git
cd timezone-mcp
npm install
npm test
node index.js

Sell / list on MCPX

Suggested listing price: $5.

Install command: npx -y @mcpx-digital/timezone

License

MIT © TheoryofShadows

Available Tools

4 tools
convert_timezoneB

Convert a moment between IANA timezones. Uses local date-fns-tz / Intl only — no external time APIs.

ParametersJSON Schema
NameRequiredDescriptionDefault
toNoAlias for toZone.
fromNoAlias for fromZone.
whenNoISO time, or 'now'. Naive local times interpreted in fromZone.
toZoneYesTarget IANA zone.
fromZoneNoSource IANA zone (default UTC).

TDQS

B3.1/5.0
Behavior2/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden. It discloses that conversion is local and uses no external time APIs, but omits critical behaviors such as DST handling, ambiguous-time resolution, output format, and error conditions.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the core purpose and followed by a concise implementation note. No filler or redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The schema is rich and fully documented, and the description states the basic operation. However, with no output schema and no description of return value or DST behavior, the definition is only minimally viable for an agent needing to understand the conversion result.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the schema already documents all five parameters, including aliases and defaults. The description adds only 'IANA timezones' and 'moment' context, which does not meaningfully extend parameter semantics beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (convert) and resource (a moment between IANA timezones), making the core operation clear. However, it does not differentiate itself from siblings like what_time_when or meeting_overlap, so it falls short of a 5.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides no guidance on when to use this tool versus alternatives, no prerequisites, and no exclusions. The name and purpose imply usage, but the description itself offers no routing information.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

list_common_zonesA

List a curated set of common IANA timezones. Uses local date-fns-tz / Intl only — no external time APIs.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full burden, and it does disclose a real behavioral trait: computation is local (date-fns-tz / Intl) with no external time APIs, implying no network latency or auth. It does not state the cardinality, ordering, or whether the list is exhaustive versus curated beyond the word "common".

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two short sentences, zero filler, with the core purpose front-loaded and the implementation note correctly subordinated.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a parameterless listing tool with no output schema, the description conveys what it returns (a set of common IANA timezone identifiers) and how it sources them. A note on return shape or intended downstream use would close the remaining gap.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

The tool takes zero parameters, so the baseline for this dimension is 4; there is nothing for the description to disambiguate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ("List ... common IANA timezones") and quantifies scope with "curated set of common". It reads clearly as a lookup/list utility distinct from convert_timezone, what_time_when and meeting_overlap, though it never names those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

There is no explicit when-to-use statement, no condition that selects this over the sibling timezone tools, and no note that the returned identifiers are meant to feed convert_timezone. Usage is only weakly implied by "curated set of common".

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

meeting_overlapB

Find overlapping meeting slots for N participants with local work hours on a date. Uses local date-fns-tz / Intl only — no external time APIs.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD (default: today UTC).
maxSlotsNoCap returned slots (default 50).
stepMinutesNoSlot step (default 15).
participantsYes[{ zone, workStart, workEnd, name? }]
durationMinutesNoMeeting length (default 30).

TDQS

B3.3/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

With no annotations, the description carries the full behavioral burden, and it does disclose one real trait: computation is local (date-fns-tz / Intl, no external time APIs), implying offline/deterministic behavior. It omits behavior when no overlap exists, invalid-zone handling, DST edge cases, and the return format.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, no filler, with the core purpose front-loaded and the implementation note kept as a brief trailing clause. Every sentence earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema and no annotations, so the description should ideally describe the returned slot structure (times, timezones, per-participant fit). It covers inputs well enough but leaves the result shape and edge-case behavior unstated for a moderately complex nested-parameter tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so all five parameters (date, maxSlots, stepMinutes, participants, durationMinutes) are already documented with defaults and formats. The description only adds high-level framing ('N participants with local work hours'), so baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

Specific verb+resource: 'Find overlapping meeting slots for N participants with local work hours on a date' clearly states what the tool computes. It is readily distinguishable from timezone-conversion siblings like convert_timezone, but the description never names or contrasts those siblings explicitly.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No when-to-use context, no prerequisites, and no mention of alternatives such as what_time_when or list_common_zones. The agent must infer that scheduling overlap is the intended scenario from the purpose statement alone.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

what_time_whenB

Answer: what time is it in targetZone when it is localTime in sourceZone. Uses local date-fns-tz / Intl only — no external time APIs.

ParametersJSON Schema
NameRequiredDescriptionDefault
dateNoYYYY-MM-DD if localTime is HH:mm only.
localTimeYesHH:mm or YYYY-MM-DDTHH:mm[:ss]
sourceZoneYesZone where localTime applies.
targetZoneYesZone to convert into.

TDQS

B3.2/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

No annotations are provided, so the description carries the full burden. It usefully discloses that the tool uses local date-fns-tz / Intl with no external time APIs, but it omits DST handling, invalid-zone behavior, and what the response looks like.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is two short sentences with no wasted words, and the core operation is front-loaded. The implementation note is brief and relevant.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness2/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description should explain the return format, but it only implies a time answer. It also does not address DST, ambiguous local times, invalid zones, or sibling-tool selection, leaving material gaps for a timezone conversion tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the input schema already documents all four parameters. The description restates the roles of sourceZone, targetZone, and localTime but adds no syntax or format details beyond the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description states a specific verb and resource: converting a local time in sourceZone to the corresponding time in targetZone. It is clear, but it does not distinguish this tool from the sibling convert_timezone, which likely has overlapping purpose.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines2/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

No guidance is given on when to use this tool instead of convert_timezone or meeting_overlap. The only contextual clue is that it uses local libraries, but that is not framed as a selection criterion.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 4 tool updatesv0.1.0
    • First observedconvert_timezone
    • First observedlist_common_zones
    • First observedmeeting_overlap
    • First observedwhat_time_when

TDQS

B3.3/5.0

Scored across 4 tools

Disambiguation3/5

convert_timezone and what_time_when both perform timezone conversions, making their boundaries blurry; descriptions hint at different input framing but overlap remains. list_common_zones and meeting_overlap are clearly distinct.

Naming Consistency3/5

All names use lower snake_case, but the structural pattern is mixed: convert_timezone and list_common_zones are verb-led, what_time_when is a question phrase, and meeting_overlap is noun-led. Readable but not predictably consistent.

Tool Count4/5

Four tools is a reasonable scope for a focused timezone utility, and each tool targets a plausible need. The pair of conversion tools is slightly redundant but not excessive.

Completeness4/5

Core timezone conversion, zone listing, and meeting overlap functionality are covered. Minor gaps remain, such as current-time-in-zone or zone lookup by city/offset, but these are workable around.

Maintenance

ActivityMaintained
ResponsivenessNo issues

Related MCP Connectors

Related MCP Servers

  • A
    license
    B
    quality
    D
    maintenance
    Provides current time information and timezone conversion capabilities using IANA timezone names. Enables LLMs to get current time in any timezone and convert times between different timezones with automatic system timezone detection.
    2
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    Provides current time information and timezone conversion capabilities using IANA timezone names with automatic system detection. It enables LLMs to fetch local or global times and convert specific timestamps between different regions.
    2
    2
    MIT
  • A
    license
    Not graded
    quality
    D
    maintenance
    Provides current time information and timezone conversion capabilities using IANA timezone names and automatic system detection. It enables LLMs to fetch current times across different regions and convert specific times between timezones.
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Enables timezone conversion, astronomical calculations, and date utilities through natural language, supporting sunrise/sunset, moon phases, business days, and more.
    9
    153
    1
    ISC