Skip to main content
Glama

Events of a day

ti_events
Read-onlyIdempotent

Check if a specific date is an official holiday in Iran and list its occasions on Jalali, Gregorian, or Hijri calendars.

Instructions

List the occasions (Persian: monasebat) and official holidays of one day, with a short description when time.ir has one.

Use for "is 2026-12-25 a holiday in Iran". Each event has calendar (where the occasion belongs) and holiday. Friday alone is not a holiday.

Input Schema

NameRequiredDescriptionDefault
dateNoYYYY-MM-DD in `calendar`, e.g. 1405-08-10. Omit for today.
calendarNoCalendar of the date(s).jalali

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observedv0.2.0

TDQS

A4/5.0
Behavior4/5

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

Annotations already cover read-only, idempotent, open-world and non-destructive semantics, so the bar is low, yet the description still adds substantive behavior: returned events carry a `calendar` field indicating where the occasion belongs, a `holiday` flag, and a description only 'when time.ir has one' — i.e. the field is optional. The caveat 'Friday alone is not a holiday' prevents a very plausible misinterpretation.

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?

Four short sentences, zero filler: purpose and scope first, then a concrete use case, then return shape, then the critical domain caveat. Every sentence contributes something not already covered by schema or annotations.

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?

With no output schema, the description carries output-shape duty and does so briefly and adequately (calendar, holiday, optional description text). For a two-parameter read tool with full schema coverage it is nearly complete; it could still note behavior on days with no events or how many events to expect.

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 date formatting (YYYY-MM-DD in `calendar`), the omit-for-today default, and the calendar enum are already documented. The description's mention of `calendar` and `holiday` describes output fields, not input semantics, and adds no meaning about how the input `calendar` shifts interpretation of `date`. 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?

Uses a specific verb ('List') with a precisely scoped resource ('occasions ... and official holidays of one day'), and the parenthetical gloss (Persian: monasebat) disambiguates terminology. It never names a sibling such as ti_holidays or ti_on_this_day, so an agent must still infer the boundary with those tools.

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?

The 'Use for "is 2026-12-25 a holiday in Iran"' sentence gives a concrete triggering query, which is a real usage signal. There is no when-not guidance or explicit routing to alternatives (ti_holidays, ti_on_this_day), so the agent gets context but no exclusions.

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