MCP server providing tools for datetime calculations, timezone conversions, and time-related computations
Server defines 7 time-related tools with reasonable naming (verb_noun pattern) and descriptions. All tools have input schemas with type definitions and parameter descriptions. However, output schemas are not formally documented, responses are inferred from code. Error handling exists but lacks recovery guidance. Descriptions are adequate (100-200 chars) but could be more LLM-optimized. No tool annotations (readOnlyHint, etc.) despite all tools being read-only. Parameter descriptions are present but some lack format/constraint details (e.g., timezone parameter accepts any string without validation hints).
Add or subtract a duration from a timestamp. Timestamp must be in format: "YYYY-MM-DD HH:MM:SS" or "YYYY-MM-DD"
Returns the current date and time as a string. If you are asked for the current date or time, call this function.
Format a duration in seconds into a human-readable text representation.
Parse and convert a timestamp to multiple formats. Timestamp must be in format: "YYYY-MM-DD HH:MM:SS" or "YYYY-MM-DD"
Calculate the time difference between two timestamps. Timestamps must be in format: "YYYY-MM-DD HH:MM:SS" or "YYYY-MM-DD"
Calculate time elapsed since a given timestamp until now. Timestamp must be in format: "YYYY-MM-DD HH:MM:SS" or "YYYY-MM-DD"
Output schemas not formally documented. Code shows return types (Dict, str) but no structured schema definition visible for LLM planning. time_difference returns {seconds, formatted, is_negative, requested_unit, error} but this is inferred from code, not declared.
No tool annotations despite all tools being read-only. FastMCP supports readOnlyHint but none are declared. LLMs cannot infer safety from tool names alone.
Timezone parameter accepts any string without validation hints. Description says 'e.g. UTC, US/Pacific' but does not state format constraint or that invalid timezones return error strings instead of structured errors.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | D | 55 | 2026-07-28+ | v2 |
Get contextual information about a timestamp (day of week, week number, season, etc.). Timestamp must be in format: "YYYY-MM-DD HH:MM:SS" or "YYYY-MM-DD"
Error responses are inconsistent. current_datetime returns a string error message; time_difference returns a dict with 'error' key. Inconsistent error shapes force LLMs to handle multiple response formats.
Timestamp format constraint ('YYYY-MM-DD HH:MM:SS' or 'YYYY-MM-DD') is stated in tool descriptions and server instructions but not in parameter schema. LLMs may not parse the constraint from prose descriptions reliably.