Skip to main content
Glama

Business-Day Oracle

List holidays for a year

list_holidays
Read-onlyIdempotent

All holidays of a year for a country/subdivision/categories or a market, each with local and English names, whether it is observed/shifted, projected (lunar), on a weekend, and whether it counts as non-working. Example: year 2027, country 'IN', subdivision 'KA'. Calendar selection: country (ISO 3166-1 alpha-2, e.g. 'SA', 'DE', 'US') or market (MIC, e.g. 'XNYS', 'XLON'); optional subdivision (state/province/emirate code from list_calendars), categories (e.g. ['public','bank']), weekend override (['FRI','SAT']), extra_holidays (company/contract dates). Weekend defaults to the country's legal weekend. Response: result plus data_confidence (high = fixed-date calendar; medium = a lunar/moon-sighted or projected holiday is involved, or the caller overrode the weekend), estimated_items[] naming each projected date, sources[] (public references behind the calendar), data_version and warnings[].

Input Schema

NameRequiredDescriptionDefault
yearYesCalendar year.
marketNoFinancial market MIC (XNYS, XLON, XETR, XHKG, XJPX, XSAU…) — trading/settlement calendar instead of a country.
countryNoISO 3166-1 alpha-2 country code. Required unless market is given.
weekendNoOverride the weekend, e.g. ['FRI','SAT'] or ['SUN']. Default: the country's legal weekend.
languageNoLanguage for holiday names where available (e.g. 'ar', 'de', 'en_US'). Default: the country's own.
categoriesNoHoliday categories to count as non-working; default ['public']. Others per country: bank, government, school, optional, half_day, catholic…
subdivisionNoSub-national code (US 'CA', DE 'BY', AE 'DU', CA 'ON', AU 'NSW', IN 'KA'…). See list_calendars.
extra_holidaysNoAdditional non-working ISO dates (company closures, contract-specific days).
include_estimated_holidaysNoCount projected lunar/moon-sighted holidays as non-working (true) or ignore them until announced (false).

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. First observed

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already cover readOnly/idempotent/non-destructive, and the description adds genuinely new behavioral context: the weekend defaults to the country's legal weekend, categories default to ['public'], and data_confidence explains how calendar reliability degrades (lunar/projected holidays or an overridden weekend). The response-field enumeration overlaps the output schema, which keeps this from a 5.

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: what it returns, then how to select a calendar, then response metadata. Dense and largely waste-free, though the trailing response enumeration partially restates what the output schema already documents.

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?

For a 9-parameter read tool with an output schema, everything an agent needs is present: selector semantics, defaults, the projection/confidence caveat, and sources/warnings signaling. 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 coverage is 100%, so the baseline is 3. The description does add interpretive value for a few parameters — the include_estimated_holidays tradeoff (count projected dates as non-working vs. ignore until announced), the weekend override example, and extra_holidays as company/contract dates — but leaves language and the exact category vocabulary to the schema.

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?

Opening sentence states a specific verb and resource ('All holidays of a year') plus the exact scoping dimensions (country/subdivision/categories or market). This clearly separates it from siblings like next_holiday (single upcoming date) or working_days_between (counting), which an agent can distinguish without opening any schema.

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 explains the two mutually exclusive calendar selectors (country vs market MIC) and routes the agent to list_calendars for valid subdivision codes, plus a concrete worked example ('year 2027, country IN, subdivision KA'). It lacks explicit 'use X instead when...' exclusions against siblings such as next_holiday, so it falls short of a 5.

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.

Resources