Skip to main content
Glama

parse_datetime

Read-onlyIdempotent

Parse a date/time string (ISO 8601, RFC 2822, HTTP date, SQL "YYYY-MM-DD HH:mm:ss", or a Unix timestamp) into a Unix timestamp and a normalized description. Strings without an offset are interpreted in the given time zone.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
inputYesThe date/time text to parse.
timezoneNoZone to assume when the input carries no offset, and to report the result in. Defaults to UTC.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
isoYesISO 8601 with the zone offset.
humanYesReadable sentence with weekday, date, time and zone.
inputYesThe text that was parsed.
is_dstYesWhether daylight-saving time is in effect.
offsetYesUTC offset, e.g. "+09:00".
rfc2822YesRFC 2822 date string.
utc_isoYesISO 8601 in UTC (Z).
weekdayYesFull weekday name in English.
timezoneYesIANA zone name.
abbreviationYesZone abbreviation at that instant, e.g. "BST".
epoch_millisYesUnix time in milliseconds.
epoch_secondsYesUnix time in seconds.
offset_minutesYesUTC offset in minutes.

Schema Changelog

Changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "description": "One instant described in one IANA time zone.",
      +  "properties": {
      +    "abbreviation": {
      +      "description": "Zone abbreviation at that instant, e.g. \"BST\".",
      +      "type": "string"
      +    },
      +    "epoch_millis": {
      +      "description": "Unix time in milliseconds.",
      +      "type": "integer"
      +    },
      +    "epoch_seconds": {
      +      "description": "Unix time in seconds.",
      +      "type": "integer"
      +    },
      +    "human": {
      +      "description": "Readable sentence with weekday, date, time and zone.",
      +      "type": "string"
      +    },
      +    "input": {
      +      "description": "The text that was parsed.",
      +      "type": "string"
      +    },
      +    "is_dst": {
      +      "description": "Whether daylight-saving time is in effect.",
      +      "type": "boolean"
      +    },
      +    "iso": {
      +      "description": "ISO 8601 with the zone offset.",
      +      "type": "string"
      +    },
      +    "offset": {
      +      "description": "UTC offset, e.g. \"+09:00\".",
      +      "type": "string"
      +    },
      +    "offset_minutes": {
      +      "description": "UTC offset in minutes.",
      +      "type": "integer"
      +    },
      +    "rfc2822": {
      +      "description": "RFC 2822 date string.",
      +      "type": "string"
      +    },
      +    "timezone": {
      +      "description": "IANA zone name.",
      +      "type": "string"
      +    },
      +    "utc_iso": {
      +      "description": "ISO 8601 in UTC (Z).",
      +      "type": "string"
      +    },
      +    "weekday": {
      +      "description": "Full weekday name in English.",
      +      "type": "string"
      +    }
      +  },
      +  "required": [
      +    "epoch_seconds",
      +    "epoch_millis",
      +    "iso",
      +    "utc_iso",
      +    "timezone",
      +    "offset",
      +    "offset_minutes",
      +    "abbreviation",
      +    "is_dst",
      +    "weekday",
      +    "rfc2822",
      +    "human",
      +    "input"
      +  ],
      +  "type": "object"
      +}
  2. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already mark it read-only and idempotent; the description adds the key behavioral rule that strings without an offset are interpreted in the given time zone, and clarifies supported format families. This context goes beyond the structured fields without contradicting them.

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 compact sentences, with the format inventory front-loaded before the timezone rule. Every clause adds information; no filler or redundant phrasing.

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?

The description covers accepted inputs, timezone behavior, and the shape of the output, and an output schema exists to document return values. It is sufficient for a straightforward parsing tool, though it omits error-handling behavior and explicit sibling comparisons.

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?

Schema descriptions already cover both parameters (100%), and the description reinforces the timezone semantics and enriches the input parameter by listing accepted formats. The added format list gives agents a clearer idea of valid 'input' values beyond the schema's generic 'date/time text'.

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?

The description uses a specific verb ('Parse') with a concrete resource (date/time string), enumerates accepted formats, and states the output (Unix timestamp + normalized description). This clearly differentiates it from sibling tools like time_now and convert_timezone by 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?

The description implies the tool is for converting arbitrary date/time strings to Unix timestamps, but it does not state when to prefer it over siblings (e.g., convert_timestamp) or when not to use it. No explicit exclusions or alternative routing are provided.

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

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

TDQS

A4.1/5.0
Disambiguation5/5

Each tool targets a distinct date/time operation: conversion, timezone shifting, cron scheduling, duration, countdown, arithmetic, parsing, and current time. Even the inverse operations (convert_timestamp vs parse_datetime) are clearly separated by input/output direction.

Naming Consistency3/5

Names are uniformly snake_case and readable, but they mix verb_noun patterns (convert_timestamp, parse_datetime) with noun-phrase or query-style names (date_duration, time_now, days_until, epoch_math, cron_next_runs). This is consistent in style but not in grammatical pattern.

Tool Count5/5

Eight tools is well-scoped for a date/time and epoch calculator. Each tool covers a distinct facet of the domain without redundancy or bloat.

Completeness5/5

The tool surface covers the full lifecycle of date/time operations: current time, parsing, formatting, timezone conversion, arithmetic, duration, countdowns, and cron scheduling. No significant gaps that would block common use cases.

Resources