Skip to main content
Glama

Timezone at a point

timezone_at
Read-onlyIdempotent

IANA timezone and current local time at a point, fully offline.

Instructions

IANA timezone and current local time at a point, fully offline.

Looks up the tzdb zone containing (lat, lon) from timezone-boundary-
builder polygons (via tzfpy, bundled — no network, no third-party
timezone API) and derives the rest from stdlib zoneinfo against the
current instant.

Returns {"tzid": "America/Los_Angeles", "utc_offset": "-07:00",
"dst_active": true, "local_time": "2026-08-30T14:05:00-07:00",
"abbreviation": "PDT"}. Open ocean generally still resolves — to a
fixed-offset, no-DST "Etc/GMT±N" nautical zone rather than a named
tzdb zone — but a point with no resolvable zone at all is a real,
non-error answer: {"tzid": null, "note": "..."}. Returns a structured
{"error": ...} for an out-of-range coordinate.

Attribution: IANA tzdb via tzfpy / timezone-boundary-builder.

Input Schema

NameRequiredDescriptionDefault
latYes
lonYes

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv0.11.0

TDQS

A4.2/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), and the description adds substantial behavior beyond that: fully offline via bundled tzfpy/timezone-boundary-builder, no third-party API, ocean points resolving to fixed-offset Etc/GMT±N nautical zones, and a null tzid treated as a real non-error answer versus a structured error for out-of-range coordinates.

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

Conciseness4/5

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

Front-loaded with the purpose and the offline guarantee, then edge cases; nearly every sentence earns its place. It runs somewhat long and re-states a full return payload even though an output schema exists, plus a trailing attribution line, but the density of useful caveats justifies the length.

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

Completeness5/5

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

Given a simple 2-parameter lookup with an output schema, the description covers everything an agent needs: coordinate order, offline behavior, resolution semantics for ocean points, the null-answer case, and error handling. Nothing required to call it correctly is missing.

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 0% for both lat and lon, so the description must carry the meaning. It implies coordinate ordering via '(lat, lon)' and indicates that out-of-range values produce a structured error, but gives no valid ranges, units, or precision expectations, leaving a real gap for a 2-required-parameter tool.

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

Purpose5/5

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

States a specific verb+resource: IANA timezone and current local time at a (lat, lon) point. It is immediately distinguishable from point-attribute siblings like elevation_at, land_use_at, or admin_lookup, and the opening line also establishes the offline scope.

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

Usage Guidelines3/5

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

Usage is implied by the resource (use this when you need a timezone for a coordinate), and the open-ocean/no-zone caveat effectively tells the agent when a null result is expected rather than an error. However, it never names an alternative (e.g., admin_lookup or reverse_geocode for region-level timezone) or says when not to use it, so the guidance remains inferred rather than explicit.

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