Skip to main content
Glama

Public holidays by country (and is this date one?) ($0.001)

public_holidays
Read-onlyIdempotent

PAID ($0.001 USDC via x402). Every holiday Nager.Date lists for a country and year (nationwide and regional, with its types), and for one date (default today, UTC): isHoliday (a nationwide Public holiday only), the other nationwide and regional holidays that day, and the next nationwide public holiday that year. Coverage depends on the source: ~200 countries, not e.g. Saudi Arabia, the UAE or India (404); regional and observance coverage varies. A country or year it does not cover is 404, an outage 502 - not charged. Without payment this returns the 402 challenge; the fiatdock-mcp npm package pays automatically. Any answer the tool cannot produce is >= 400 and is NOT charged.

Input Schema

NameRequiredDescriptionDefault
dateNoA date (YYYY-MM-DD) to check: is it a holiday, and which is the next one after it. Default: today (UTC) when the year is the current one
yearNoYear, 1976-2076 (default: the year of `date`, else the current UTC year)
countryNoCountry, ISO 3166-1 alpha-2 (US, DE, GB, BR, JP …). The covered list is https://date.nager.at/api/v3/AvailableCountries. An empty body answers for DE
paymentNoBase64 of a single x402 v2 PaymentPayload (EIP-3009 transferWithAuthorization on Base USDC). OMIT it on the first call: the 402 you get back carries `howToPay.payloadTemplate` — the exact envelope to fill in — plus the price and the EIP-712 domain. Send it on the second call to complete the purchase; it is forwarded as the PAYMENT-SIGNATURE header, never as body data. Nothing is charged for the 402 itself, and a call that fails after payment settles nothing.

Output Schema

NameRequiredDescriptionDefault
asOfYesISO time the source was read (answers are cached up to 12 h)
noteYesHow isHoliday is decided, and what the source does and does not cover
yearYesThe year listed
countYesHolidays listed for the year
sourceYesWhere the calendar came from
countryYesISO 3166-1 alpha-2 code
holidaysYesEvery holiday the source lists for the country and year, by date — nationwide and regional, all types
defaultedNoPresent only when the body was empty: which subject the answer is for, and why
isHolidayYesTrue only when a NATIONWIDE holiday of type Public falls on dateChecked; null when no date was checked
dateCheckedYesThe date asked about (default today, UTC); null when another year was asked without a date
nextHolidayYesThe first nationwide Public holiday after dateChecked in the same year; null when none remains that year (ask for the next year) or no date was checked
holidaysOnDateYesNationwide holidays on dateChecked, of any type (a Bank-only or School-only day is here but does not set isHoliday)
regionalHolidaysOnDateYesHolidays on dateChecked that apply only in some regions

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.4/5.0
Behavior5/5

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

Annotations cover only the safety profile (readOnly/openWorld/idempotent); the description goes well beyond them, disclosing the x402 payment handshake and retry flow, that 402 challenges are free, that >=400 answers are never charged, and that failures after payment settle nothing. It also discloses coverage variability and 404/502 semantics — exactly the kind of operational context annotations cannot carry.

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-loads the paid status and then the functionality before the coverage and error caveats, which is a sensible ordering. It is long, and the payment/error prose runs several clauses, but each sentence carries information an agent needs to invoke the tool correctly.

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?

Complete for a paid, read-only lookup: pricing, coverage boundaries, defaults, error-charging policy and the per-date return fields are all covered, and an output schema exists so the actual result shape need not be re-explained.

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 the schema already documents date, year, country and payment in full detail (including defaults and the PAYMENT-SIGNATURE header). The description mostly restates rather than adds syntax or format meaning, so the baseline 3 applies.

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 resource (Nager.Date public holidays for a country/year, plus a per-date isHoliday check) with the exact scope of each return field. No sibling tool covers holidays, so it is trivially distinguished from the rest of the catalog, and the 'nationwide vs regional vs observance' distinction is spelled out.

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?

Gives clear context: defaults (date = today UTC, year derived from date), the covered country list URL, and explicit exclusions (Saudi Arabia, UAE, India return 404). It does not name an alternative tool, but this is a niche capability with no real sibling to route against, so the absence is minor.

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.