Skip to main content
Glama
Date Math – Business Days, Holidays & Time Zones

Date Math – Business Days, Holidays & Time Zones

DST transitions and local-time check

dst_check
Read-onlyIdempotent

Check daylight saving time observance, yearly clock changes, and whether a local time is valid, skipped, or repeated before scheduling meetings, alarms, or jobs near transitions.

Instructions

Daylight saving time for a time zone: does it observe DST, the year's exact clock changes (UTC instant, local before/after), and whether a local time is valid, skipped (spring-forward gap, e.g. 02:30) or repeated (fall-back, happens twice). Use before scheduling jobs, alarms or meetings near clock changes. First 25 calls per day are free, then $0.001 per call (x402).

Tool call template

Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {
      "timezone": "<timezone>"
    },
    "name": "dst_check"
  }
}

Input Schema

NameRequiredDescriptionDefault
yearNoYear to list (default: the datetime's year, else the current year)
datetimeNoLocal wall time to check, without offset: YYYY-MM-DDTHH:MM[:SS]
timezoneYesIANA time zone, e.g. Asia/Manila

Output Schema

NameRequiredDescriptionDefault
yearYes
checkYes
timezoneYes
dst_offsetYes
transitionsYes
observes_dstYes
standard_offsetYes

Schema Changelog

Changes observed during successful MCP inspections.

  1. Addedv1.6.0

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare read-only, idempotent, closed-world behavior, so the safety profile is covered. The description adds materially beyond that: it discloses the pricing model (25 free calls/day, then $0.001 per call via x402), which is a real invocation constraint an agent must know before calling. It does not discuss rate-limit enforcement or failure modes when an invalid IANA name is passed.

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?

Three sentences, front-loaded with what the tool computes, then when to use it, then cost. Every sentence is load-bearing: capability, trigger context, and billing constraint. No redundant restatement of the title or schema.

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?

With a rich input schema, an output schema, and read-only/idempotent annotations already present, the description covers the remaining gaps an agent needs: what question the tool answers, when to reach for it, and the pay-per-call cost. Nothing essential for correct selection or invocation 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 coverage is 100%, so all three parameters are already documented, including the offset-less local wall-time format and the year default rule. The description adds only a worked gap example (02:30 on spring-forward), which clarifies interpretation of the datetime argument but does not extend parameter meaning substantially. Baseline 3 applies when the schema carries the load.

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 names the resource (daylight saving time for a time zone) and precisely enumerates what it returns: DST observance, the year's clock changes with UTC instant and local before/after, and the validity of a given local time. It is unmistakably distinct from conversion or date-arithmetic siblings, but it never explicitly names an alternative, so an agent must infer the boundary itself.

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

Usage Guidelines4/5

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

It gives a concrete usage context — schedule jobs, alarms, or meetings near clock changes — which tells the agent when this tool is the right pick. It stops short of explicit exclusions (e.g., 'use timezone_convert for plain offset conversion'), leaving the sibling boundary implicit.

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