Skip to main content
Glama

get_public_holidays

Read-onlyIdempotent

Get published public-holiday entries for one calendar and year or exact inclusive local date. Use a known region id directly (fr-metropole, gb-england-and-wales, hk-general, oh-de); consult list_holiday_regions only if scope is unknown. OpenHolidays entries retain multilingual names, subdivisions and half-day scope; set nationwide_only=true to exclude regional entries. Government feeds and third-party curated calendars are explicitly distinguished. Empty results do not establish working days; future dates can change, and aggregator dates are not individually government-confirmed.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
dateNoExact local calendar date YYYY-MM-DD, for example 2026-12-28; cannot be combined with year.
yearNoCalendar year; defaults to the current year. Only published years are available. Omit when date is supplied.
regionYesCalendar identifier from list_holiday_regions, for example gb-england-and-wales.
nationwide_onlyNoFor OpenHolidays country calendars, keep only entries marked nationwide by the source. Default false includes regional entries with their scopes. Government calendars retain their named territory scope.

Output Schema

TableJSON Schema
NameRequiredDescriptionDefault
yearNo
itemsYes
noticeNo
regionNo
statusYesRead this before using values; a successful transport does not establish data availability.
returnedYesDomain-specific result count, not necessarily the number of stored records in items.
directoryNo
requested_dateNo
available_yearsNo
independently_verifiedNoOfficial-source checks are not independent factual corroboration.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed4 schema fields changed
    • addedInput schema / properties / nationwide_only
      Added value: +{
      +  "description": "For OpenHolidays country calendars, keep only entries marked nationwide by the source. Default false includes regional entries with their scopes. Government calendars retain their named territory scope.",
      +  "type": "boolean"
      +}
    • changedInput schema / properties / region / description
      Previous value: -"Official calendar identifier from list_holiday_regions, for example gb-england-and-wales."New value: +"Calendar identifier from list_holiday_regions, for example gb-england-and-wales."
    • changedInput schema / properties / region / enum
      Previous value: -[
      -  "fr-metropole",
      -  "fr-alsace-moselle",
      -  "fr-guadeloupe",
      -  "fr-guyane",
      -  "fr-la-reunion",
      -  "fr-martinique",
      -  "fr-mayotte",
      -  "fr-nouvelle-caledonie",
      -  "fr-polynesie-francaise",
      -  "fr-saint-barthelemy",
      -  "fr-saint-martin",
      -  "fr-saint-pierre-et-miquelon",
      -  "fr-wallis-et-futuna",
      -  "gb-england-and-wales",
      -  "gb-scotland",
      -  "gb-northern-ireland"
      -]New value: +[
      +  "fr-metropole",
      +  "fr-alsace-moselle",
      +  "fr-guadeloupe",
      +  "fr-guyane",
      +  "fr-la-reunion",
      +  "fr-martinique",
      +  "fr-mayotte",
      +  "fr-nouvelle-caledonie",
      +  "fr-polynesie-francaise",
      +  "fr-saint-barthelemy",
      +  "fr-saint-martin",
      +  "fr-saint-pierre-et-miquelon",
      +  "fr-wallis-et-futuna",
      +  "gb-england-and-wales",
      +  "gb-scotland",
      +  "gb-northern-ireland",
      +  "hk-general",
      +  "oh-ad",
      +  "oh-al",
      +  "oh-at",
      +  "oh-be",
      +  "oh-bg",
      +  "oh-br",
      +  "oh-by",
      +  "oh-ch",
      +  "oh-cz",
      +  "oh-de",
      +  "oh-ee",
      +  "oh-es",
      +  "oh-fr",
      +  "oh-hr",
      +  "oh-hu",
      +  "oh-ie",
      +  "oh-it",
      +  "oh-li",
      +  "oh-lt",
      +  "oh-lu",
      +  "oh-lv",
      +  "oh-mc",
      +  "oh-md",
      +  "oh-mt",
      +  "oh-mx",
      +  "oh-nl",
      +  "oh-pl",
      +  "oh-pt",
      +  "oh-ro",
      +  "oh-rs",
      +  "oh-se",
      +  "oh-si",
      +  "oh-sk",
      +  "oh-sm",
      +  "oh-va",
      +  "oh-za"
      +]
    • changedOutput schema / properties / items / items / properties / provenance / properties / verification_level / enum
      Previous value: -[
      -  "official_source_and_schema_checked",
      -  "method_specific"
      -]New value: +[
      +  "official_source_and_schema_checked",
      +  "public_aggregator_and_schema_checked",
      +  "method_specific"
      +]
  2. First observed

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already cover safety (readOnlyHint, idempotentHint, non-destructive), so the description rightly spends its budget on substantive caveats instead: multilingual names/subdivisions/half-day scope are retained, government feeds vs third-party curated sources are distinguished, empty results do not establish working days, and future or aggregator dates may change. This is well beyond the annotation payload, though it does not describe pagination or result ordering.

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?

Four sentences, tightly front-loaded with the core operation first, then routing, then semantics, then caveats. Dense but nearly every clause is load-bearing; the loss of a point is only for a slightly run-on middle sentence.

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 an output schema present, return values need not be explained, and the description covers the remaining gaps an agent would have: source provenance, scope semantics, and the interpretation limits of empty or future results. Nothing needed for correct 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 date/year/region/nationwide_only are already fully documented, including the date-vs-year exclusivity, bounds, and enum values. The description's region examples (fr-metropole, oh-de) and nationwide_only note mostly restate what the schema says, so it adds little new parameter-level meaning.

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?

States a specific verb and resource ('Get published public-holiday entries') plus the exact selection axes (one calendar + year, or an exact inclusive local date). It is immediately distinguishable from the sibling list_holiday_regions, which it explicitly positions as a lookup aid rather than a substitute.

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

Usage Guidelines5/5

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

Gives explicit routing: 'Use a known region id directly ... consult list_holiday_regions only if scope is unknown,' and gives the conditional 'set nationwide_only=true to exclude regional entries.' Both when-to-use and the alternative are named, leaving nothing to inference.

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