Japan Public Holidays
Server Details
Japanese national holidays from the Cabinet Office data: check dates (holiday / substitute holiday / business day), count business days, find the date N business days later, and list long weekends. Does not guess unannounced years.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 4 tools
Each tool targets a distinct task: interval business-day calculation, per-date status checking, long-weekend discovery, and holiday listing. Although check_dates and list_holidays both involve holidays, one is date-specific status and the other is enumeration, so overlap is minimal.
Three tools follow a clear verb_noun pattern (check_dates, find_long_weekends, list_holidays) and all use snake_case. business_days breaks the verb convention as a noun phrase, but the deviation is minor and readable.
Four tools provide a focused, well-scoped set for holiday and business-day utilities. Each tool covers a distinct common need without redundancy or bloat.
The surface covers the core domain: listing holidays, checking date statuses, counting business days, and finding long weekends, with optional country support. No obvious lifecycle gap exists for a holiday-date utility server.
Available Tools
4 toolsbusiness_daysBusiness daysARead-onlyIdempotentInspect
Count business days between start and end (inclusive), or find the date that is N business days after start (add=N; negative N goes backward; start itself is not counted). Business day = weekday that is not a national holiday. Set year_end_closed to also skip 12/29-1/3. With country, uses that country's weekend days, holidays and make-up workdays.
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | Move this many business days from start. | |
| end | No | Count up to this date (inclusive). | |
| start | Yes | YYYY-MM-DD | |
| region | No | Outside Japan: state/province code (ISO 3166-2 suffix, e.g. CA for California) to include regional holidays. | |
| country | No | ISO 3166-1 alpha-2 country code (e.g. JP, US, CN, GB). Default JP. | JP |
| year_end_closed | No | Japan only. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly, idempotent, non-destructive, non-open-world behavior, so the safety profile is covered. The description adds genuine semantic context: the definition of a business day, the 12/29-1/3 year-end closure, and that country switches weekend days, holidays and make-up workdays.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
One dense paragraph, front-loaded with the two operating modes before the supporting definitions. Every sentence carries information, though the packed clauses make it slightly heavier than ideal.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must imply return values, and it does so reasonably: a count for the end mode and a date for the add mode. It stops short of stating the exact return format (e.g., date string format), a minor gap for a 6-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond the schema: it clarifies that 'add' can be negative, that 'start' is not counted, and that 'country' controls weekend days, holidays and make-up workdays — details the schema hints at only briefly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states two specific operations over a named resource: counting business days between start and end, and finding the date N business days from start. This is unmistakably distinct from list_holidays or find_long_weekends in intent, but no sibling is explicitly named, so it earns a 4 rather than a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly explains how to select each mode: provide 'end' to count, or 'add=N' to shift forward/backward, with negative N going backward and start itself excluded. However, it offers no guidance on when to prefer this tool over check_dates or the other siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
check_datesCheck datesARead-onlyIdempotentInspect
For each date, tell whether it is a Japanese national holiday (with name and kind: 祝日 / 振替休日 / 国民の休日), a weekend, and a business day. Also returns today in Japan time. With country, the same for that country (holiday names, status, make-up workdays such as China's 调休).
| Name | Required | Description | Default |
|---|---|---|---|
| dates | Yes | ||
| region | No | Outside Japan: state/province code (ISO 3166-2 suffix, e.g. CA for California) to include regional holidays. | |
| country | No | ISO 3166-1 alpha-2 country code (e.g. JP, US, CN, GB). Default JP. | JP |
| year_end_closed | No | Japan only: treat 12/29-1/3 as non-business days (common in Japanese companies). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, and closed-world, so the safety profile is covered. The description usefully adds behavioral context beyond that: it returns today in Japan time, classifies holidays into 祝日/振替休日/国民の休日, and notes make-up workdays (调休) for other countries.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the primary behavior (per-date classification plus today in Japan) front-loaded and the country extension second. No filler, though the parenthetical lists of holiday kinds add moderate length.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description carries the burden of explaining returns and does so for the main path (holiday name/kind, weekend, business day, today in JP time, country behavior). It stops short of describing the region parameter's effect, a minor gap against a 4-parameter tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 75%, so the schema already documents the parameters well, and the description only reinforces the country-switching behavior. It adds no detail on region (ISO 3166-2 suffix) or year_end_closed, leaving those entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb (tell whether) and resource (dates), and enumerates exactly what it reports: holiday status with kind, weekend, business day. It is distinguishable in substance from list_holidays and business_days, though it never names those siblings to draw the boundary explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the enumeration of outputs (checking one or more dates for holiday/weekend/business-day status), but there is no explicit when-to-use statement, no when-not, and no pointer to the sibling tools it overlaps with (list_holidays, business_days).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_long_weekendsFind long weekendsBRead-onlyIdempotentInspect
Find 連休 (3+ consecutive days off made of weekends and national holidays), e.g. Golden Week, Silver Week. Give a year, or from (default today) to list upcoming ones. With country, the same for that country.
| Name | Required | Description | Default |
|---|---|---|---|
| from | No | List long weekends ending on or after this date (default: today in Japan). | |
| year | No | ||
| limit | No | ||
| region | No | Outside Japan: state/province code (ISO 3166-2 suffix, e.g. CA for California) to include regional holidays. | |
| country | No | ISO 3166-1 alpha-2 country code (e.g. JP, US, CN, GB). Default JP. | JP |
| min_length | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so the safety profile is covered. The description adds useful context about default behavior (default 'from' is today in Japan, default country JP) and the mode switch, but says nothing about ordering, truncation, or how the limit interacts with results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences that front-load the concept definition before the usage modes. No filler, and the parenthetical definition of 連休 earns its place. Slightly dense but well organized.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and no required parameters, the description should carry more of the invocation burden. It covers the core concept and the year/from/country modes adequately, but leaves limit and min_length semantics unexplained, which matters for how many results an agent should expect.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, and the description compensates partially by explaining 'from' (default today), 'year', and the country-driven behavior. But limit and min_length are undocumented in both the schema and the description, so the coverage gap is not fully closed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb ('Find') and resource ('連休 / long weekends'), and it helpfully defines the concept as '3+ consecutive days off made of weekends and national holidays' with concrete examples (Golden Week, Silver Week). It is clear on its own, though it never names or contrasts the sibling tools (list_holidays, business_days, check_dates), so it misses the explicit differentiation that a 5 would require.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives invocation modes ('Give a year, or from (default today) to list upcoming ones') and a country variant, which implies how to use it. However, it never states when to prefer this tool over list_holidays or how the two relate, so guidance is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_holidaysList holidaysARead-onlyIdempotentInspect
List Japanese national holidays for a year, or between from and to. With no arguments, lists the next 10 holidays from today (Japan time). With country, lists that country's public holidays (and make-up workdays, if any).
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | End date (inclusive). | |
| from | No | Start date (default: today in Japan). | |
| year | No | ||
| limit | No | ||
| region | No | Outside Japan: state/province code (ISO 3166-2 suffix, e.g. CA for California) to include regional holidays. | |
| country | No | ISO 3166-1 alpha-2 country code (e.g. JP, US, CN, GB). Default JP. | JP |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly, idempotent, non-destructive, and closed-world behavior, so the bar is lower. The description still adds real value beyond them: the implicit default of 10 results from today in Japan time, the JP default country, and the fact that make-up workdays may be included.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the primary purpose and then the default/override behaviors. Every sentence carries information an agent needs; nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 6 optional parameters, the description covers the main invocation modes and defaults well. It omits how year interacts with from/to, the limit maximum of 200, and the return shape, but those are minor for a read-only listing tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with from/to/country/region documented but year and limit bare. The description compensates by revealing the implicit default limit ('next 10 holidays') and the default country behavior, which are not stated anywhere in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('List Japanese national holidays') and defines the scope precisely, including the country override. It doesn't explicitly name or differentiate from siblings like business_days or find_long_weekends, so it falls short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly describes the three invocation modes: no arguments (next 10 holidays from today, Japan time), year/from-to ranges, and country selection. That is strong context for choosing how to call it, though it never states when to prefer this over the sibling date tools or any exclusions.
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.
4 tool updates
- Changed
business_days3 fields changed- added
Input schema / properties / countryAdded value: +{ + "default": "JP", + "description": "ISO 3166-1 alpha-2 country code (e.g. JP, US, CN, GB). Default JP.", + "pattern": "^[A-Za-z]{2}$", + "type": "string" +} - added
Input schema / properties / regionAdded value: +{ + "description": "Outside Japan: state/province code (ISO 3166-2 suffix, e.g. CA for California) to include regional holidays.", + "type": "string" +} - added
Input schema / properties / year_end_closed / descriptionAdded value: +"Japan only."
- Changed
check_dates3 fields changed- added
Input schema / properties / countryAdded value: +{ + "default": "JP", + "description": "ISO 3166-1 alpha-2 country code (e.g. JP, US, CN, GB). Default JP.", + "pattern": "^[A-Za-z]{2}$", + "type": "string" +} - added
Input schema / properties / regionAdded value: +{ + "description": "Outside Japan: state/province code (ISO 3166-2 suffix, e.g. CA for California) to include regional holidays.", + "type": "string" +} - changed
Input schema / properties / year_end_closed / descriptionPrevious value: -"Treat 12/29-1/3 as non-business days (common in Japanese companies)."New value: +"Japan only: treat 12/29-1/3 as non-business days (common in Japanese companies)."
- Changed
find_long_weekends2 fields changed- added
Input schema / properties / countryAdded value: +{ + "default": "JP", + "description": "ISO 3166-1 alpha-2 country code (e.g. JP, US, CN, GB). Default JP.", + "pattern": "^[A-Za-z]{2}$", + "type": "string" +} - added
Input schema / properties / regionAdded value: +{ + "description": "Outside Japan: state/province code (ISO 3166-2 suffix, e.g. CA for California) to include regional holidays.", + "type": "string" +}
- Changed
list_holidays2 fields changed- added
Input schema / properties / countryAdded value: +{ + "default": "JP", + "description": "ISO 3166-1 alpha-2 country code (e.g. JP, US, CN, GB). Default JP.", + "pattern": "^[A-Za-z]{2}$", + "type": "string" +} - added
Input schema / properties / regionAdded value: +{ + "description": "Outside Japan: state/province code (ISO 3166-2 suffix, e.g. CA for California) to include regional holidays.", + "type": "string" +}
4 tool updates
- First observed
business_days - First observed
check_dates - First observed
find_long_weekends - First observed
list_holidays
Related MCP Connectors
Japanese holiday and business-day calculations using official Japan Cabinet Office data.
Normalize and romanize Japanese addresses, look up postal codes, count Japanese business days.
Japanese holidays, business days, eras, postal codes, addresses and corporate numbers.
Exact Japanese text & date tools: char count, business days with JP holidays, era, tax, units.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceEnables querying Japanese public holidays and calculating business days, including holiday checks, holiday lists, and business-day arithmetic.MIT
- AlicenseAqualityAmaintenanceProvides Japanese business day calculations: add or subtract business days, count between dates, check whether a date is a business day, and reverse-calculate deadlines. Handles national holidays and year-end periods fully offline with no API keys required.4MIT
- AlicenseNot gradedqualityCmaintenanceEnables Japanese business calendar operations such as holiday checking, business day calculations, payment date calculation, fiscal year determination, and deadline tracking, all locally without external API.MIT
- AlicenseAqualityBmaintenanceProvides Japanese national holidays, wareki (era) conversion, and date information. Works fully offline with no API keys required.4MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.