Skip to main content
Glama

Server Details

Public holidays of about 200 countries: next holidays, is a given date a holiday. Free, no key.

Ownership verified
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

A4.1/5.0

Scored across 3 tools

Disambiguation5/5

The tools are perfectly distinct based on their scope and time-frame: one checks a single date, one checks the near future, and one checks the entire year.

Naming Consistency3/5

While all tools follow snake_case, the naming convention is inconsistent in its action descriptors, using 'is', 'next', and then just the noun 'public_holidays'.

Tool Count5/5

With a clearly defined domain, three tools are ideal; they provide the necessary functions (check, near-future, full-cycle) without unnecessary complexity.

Completeness5/5

The surface is very complete for the stated purpose, offering granular date checks, short-term planning, and comprehensive annual data retrieval.

Available Tools

3 tools
is_public_holidayIs this date a public holiday?A
Read-only
Inspect

Says whether a date is a public holiday in a country (and whether nationwide or regional), with the holiday's name. Use when: deciding if offices, banks or schools are closed on a given day. Example: {"country":"BE","date":"2026-11-11"}

NameRequiredDescriptionDefault
dateNoDate YYYY-MM-DD (default: today, UTC)
countryYesCountry code or name

TDQS

A3.8/5.0
Behavior3/5

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

Annotations already declare readOnly, openWorld and non-destructive, so safety is covered. The description adds useful return semantics (nationwide vs regional flag plus holiday name), which matters because there's no output schema. It says nothing about external-source latency, failure modes for unknown country codes, or why idempotentHint is false for what is ostensibly a pure lookup.

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?

Three short lines, each earning its place: what it returns, when to reach for it, and a concrete call example. The purpose and the returned detail are front-loaded before the use-case clause.

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 does the necessary work of naming the response fields (holiday name, nationwide/regional). What's missing is edge-case behavior an agent needs for correct interpretation - unknown country codes, dates with no holiday, and the idempotentHint=false discrepancy.

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%: date format, default of today (UTC), and country code/name are all documented in the schema. The description's example payload confirms shape but adds no syntax or validation meaning beyond the schema, so 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?

States a specific check (whether a date is a public holiday) with the resource scope (country, nationwide vs regional) and the returned name, so the semantics are clear. It does not name or distinguish itself from the siblings next_public_holidays and public_holidays, which an agent could otherwise confuse with a single-date check.

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 when: deciding if offices, banks or schools are closed' clause gives concrete decision context, including the practical consequence of the answer. It supplies no exclusions or explicit alternative (e.g., 'for a list of holidays, use public_holidays instead'), so the routing against siblings is left to inference.

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

next_public_holidaysNext public holidays of a countryA
Read-only
Inspect

The next public holidays of a country from today, with how many days away. Use when: "when is the next holiday in Japan?", "next long weekend in France". Example: {"country":"Japan","limit":3}

NameRequiredDescriptionDefault
limitNo
countryYesCountry code or name

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, non-destructive) and openWorldHint, and the description adds real value beyond them: results are relative to today and each entry reports how many days away it is. That return-shape disclosure matters since there is no output schema, and the time-relative behavior is consistent with idempotentHint=false. It says nothing about country-code resolution failures 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.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences: what it returns, when to use it, one call example. Front-loaded with the return semantics and free of filler.

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?

For a two-parameter read tool with no output schema, the description covers purpose, triggers, output content (holidays plus days-away), and a sample call. Remaining gaps — limit bounds/default, ordering, and behavior for an invalid country — are modest but real.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is only 50% (limit is bare, country documented only as 'Country code or name'). The example {"country":"Japan","limit":3} usefully demonstrates that a full country name is accepted alongside codes and that limit is a simple result count, partially compensating for the gap. It does not mention limit's default of 5 or its 1-10 cap.

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?

States a specific resource and scope: upcoming public holidays for a country, computed from today, including days-away. The 'from today' scope implicitly separates it from the sibling public_holidays, but it never names or contrasts that sibling explicitly, so differentiation requires inference.

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 when' clause supplies two concrete natural-language triggers (next holiday in Japan, next long weekend in France), which is clear routing context. It stops short of exclusions or naming is_public_holiday / public_holidays as the alternatives for other cases (e.g. checking a specific date or listing a full year).

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

public_holidaysPublic holidays of a country for a yearA
Read-onlyIdempotent
Inspect

Lists the official public holidays of a country for a year (about 200 countries): date, English and local name, nationwide or only some regions. Bank-only holidays are left out unless asked. Use when: "public holidays in Germany 2027", "jours fériés en Belgique", planning deliveries or meetings. Example: {"country":"DE","year":2027}

NameRequiredDescriptionDefault
yearNoYear (default: this year)
countryYesCountry: 2-letter code (DE, JP, BR…) or name in English, French, German, Spanish, Italian, Dutch or Portuguese
include_bank_holidaysNoAlso list bank-only and optional holidays

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, openWorld and non-destructive, so safety needs no restating. The description adds genuinely new behavior: the ~200-country coverage, the default exclusion of bank-only holidays, and the fact that results flag which holidays are nationwide versus regional.

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?

Front-loaded with the core action, then a compact 'Use when:' line, then one example call — no filler sentences. The density is high but every clause (country coverage, return fields, bank-holiday exclusion) carries information.

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?

Three flat parameters, all documented, and the description tells the agent what the response contains (dates, dual-language names, geographic scope). With annotations covering the safety profile and no output schema gap remaining, an agent has everything needed to call this correctly.

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% and all three parameters are already documented with defaults and a country example, so the baseline is 3. The description's worked example {"country":"DE","year":2027} and the 'unless asked' clause reinforce the include_bank_holidays default but add no syntax or format detail the schema lacks.

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?

Specific verb and resource ('Lists the official public holidays of a country for a year') plus scope detail (about 200 countries) and the returned fields (date, English and local name, nationwide or regional). The year-scoped list framing separates it in spirit from 'is_public_holiday' and 'next_public_holidays', but no sibling is named, so the differentiation is implicit rather than explicit.

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?

A dedicated 'Use when:' line with concrete example queries in two languages and a real use case (planning deliveries or meetings) gives a clear trigger context. It stops short of exclusions — nothing says to use next_public_holidays for upcoming-only requests or is_public_holiday for single-date checks.

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

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 3 tool updates
    • First observedis_public_holiday
    • First observednext_public_holidays
    • First observedpublic_holidays

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    C
    maintenance
    Real public/bank/school holiday lookup for 206 countries via a rule-based calendar engine (moveable holidays like Easter computed astronomically, not guessed). Priced per call via x402/USDC on Base.
    MIT
  • A
    license
    Not graded
    quality
    C
    maintenance
    Public holiday data for 30+ countries. Check holidays, working days, and full calendars via AI assistants like Claude and Cursor.
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources