Skip to main content
Glama

The Korean Today (코리안투데이)

Public holidays (20 countries) and exchange closures

holidays
Read-onlyIdempotent

National public holidays for 20 countries (KR US JP CN VN TH PH ID IN DE GB FR AU CA BR MX AE SG HK TW) and closures of 9 stock exchanges (XKRX XNYS XNAS XJPX XHKG XSHG XLON XTAI XSES), computed from official calendars with python-holidays. Default window: today to +7 days (KST). Max 60 days.

Tool call template

This tool declares no required parameters. Add optional parameters from the input schema as needed.

{
  "id": 1,
  "jsonrpc": "2.0",
  "method": "tools/call",
  "params": {
    "arguments": {},
    "name": "holidays"
  }
}

Input Schema

NameRequiredDescriptionDefault
toNoYYYY-MM-DD (default from+7)
fromNoYYYY-MM-DD (default today, KST)
countryNoISO 3166-1 alpha-2, e.g. KR, US. Omit for all 20.
marketsNoInclude stock-exchange closures (default true)

Schema Changelog

Changes observed during successful MCP inspections.

  1. Added

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the description's added value is the provenance (official calendars, python-holidays), the KST timezone basis for 'today', and the hard 60-day cap — a real constraint that is not expressed anywhere in the schema. It stops short of describing what a record looks like, but the behavioral constraints that matter are disclosed.

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?

Two sentences, front-loaded with scope and followed by the windowing rules; no filler. The long country and exchange code lists are dense but they carry unique information (no enums exist in the schema), so every token earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness3/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

There is no output schema, so the description carries the burden of explaining the return shape — and it never says whether results are a flat list of dates, per-country groupings, or how exchange closures are represented alongside national holidays. The input side is fully covered, but an agent cannot predict the response structure before calling.

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 100%, so the baseline is 3, and the description earns above that by enumerating the valid country codes (acting as a de-facto enum where the schema has none) and restating the default window and 60-day ceiling that the schema only partially conveys. It does not clarify what `markets=false` suppresses relative to the country filter, which is the one genuinely ambiguous parameter interaction.

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 concrete verb+resource pair (national public holidays) with explicit scope: 20 named countries and closures for 9 named exchanges, plus the data source (official calendars via python-holidays). An agent can immediately tell this is a calendar/closure lookup and not an article, rate, or language tool.

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 operational context: default window is today to +7 days in KST and the maximum span is 60 days, which tells the agent how to call it without extra parameters. It does not name exclusions or alternatives, but the sibling set (exchange rates, articles, languages, sections) has no overlapping tool, so the missing routing sentence is a minor gap rather than a real ambiguity.

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