
Mcp Jp Calendar
io.github.skypier-jp-worksPublished by GitHub account skypier-jp-worksv1.1.0Updated Oct 24, 2026
MCP server for Japanese business days, holidays, and fiscal-period calculations.
Overview
Local MCP server that gives an assistant Japanese business-day, holiday, settlement-day and fiscal-period calculations for dates from 2020 to 2030.
- What you can do
- Check whether a date is a Japanese business day, with a reason such as a Saturday
- Add or count business days between dates, with configurable weekend days and custom company closures
- Find the next gotobi settlement day (5th, 10th, 15th, 20th, 25th or month-end) and the actual business day if it falls on a holiday
- Get month-end and effective closing dates, and determine the fiscal year and quarter for a date
- List Japan's national holidays for a given year
- When to use it
- Useful when an assistant handles Japanese scheduling, invoicing, payment due dates or fiscal reporting and needs to account for substitute holidays, citizens' holidays and the April-start fiscal year instead of a naive weekday check.
- Requirements
- Runs locally over stdio, typically via npx or a global npm install, or as a one-click bundle for Claude Desktop; Node.js is needed for the npm route. No API keys, accounts or network calls at runtime.
Installation
In SourceWeft
- Open Mcp Jp Calendar in the dashboard and add it to a workspace.
- Enable the server for the chats that should use its tools.
Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.
Other MCP clients
Follow the launch instructions in the repository.
README
mcp-jp-calendar
[npm version] [license] [MCP Registry]
Give your AI agent correct answers about Japanese business days. An MCP server that tells Claude (or any MCP client) whether a date is a working day in Japan, what date payment is actually due, and which fiscal quarter you're in — accounting for national holidays, substitute holidays, and conventions no simple weekday check gets right. No API keys, no network calls: all holiday data (2020–2030) is embedded in the package.
Contents
- Why this exists
- Install
- Tools
- Supported range & data source
- The
metafield - Versioning policy
- Maintenance policy
- Disclaimer
- Development
- Related tools
Why this exists
A naive "is it a weekday" check gets Japanese business dates wrong more often than you'd expect. A few real examples this server handles correctly:
Get any of these wrong in a scheduling or invoicing agent and you'll pick a bank holiday as a due date, or misreport a quarter. This server encodes the actual rules so your agent doesn't have to guess.
Install
Option 1 — npx (recommended)
No install step required. Add this to your Claude Desktop config (claude_desktop_config.json):
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
Restart Claude Desktop and the tools become available. You can also run it directly:
Or install it globally:
Option 2 — .mcpb bundle (one-click install for Claude Desktop)
MCP Bundles let you install a local MCP server with a single double-click, no terminal required. Build one from source:
Then double-click the resulting mcp-jp-calendar.mcpb file to install it in Claude for macOS/Windows.
Tools
All dates are given and returned in YYYY-MM-DD format (e.g. 2026-08-15). month_end_info takes a YYYY-MM month string (e.g. 2026-08).
All of is_business_day, add_business_days, count_business_days, next_gotobi, and month_end_info accept two optional parameters:
weekendDays: array of weekday numbers to treat as non-working days.0=Sun …6=Sat. Defaults to[0, 6].customHolidays: array ofYYYY-MM-DDstrings for company-specific closures (e.g. a year-end shutdown).
Examples
is_business_day — a Saturday:
add_business_days — 1 business day after a Friday:
count_business_days — a full Mon–Sun week:
next_gotobi — the 15th falls on a Saturday, so it's pushed back:
month_end_info — month-end falls on a Sunday:
fiscal_period — December, under Japan's standard April-start fiscal year:
list_holidays — excerpt showing a citizens' holiday (国民の休日):
(Examples above are abbreviated for readability — every response also includes a meta field; see The meta field.)
Supported range & data source
Only dates from 2020 to 2030 are supported. Dates outside this range return an error.
- Holiday data for 2020–2027 is confirmed, sourced directly from Japan's Cabinet Office (内閣府) official holiday CSV: https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html
- Holiday data for 2028–2030 is a computed estimate: the vernal/autumnal equinox holidays (春分の日 / 秋分の日) aren't officially announced that far ahead, so they're calculated with the standard astronomical approximation formula and may differ from the eventual official announcement by up to a day.
- The 2020/2021 Tokyo Olympics special holiday moves (Marine Day, Sports Day, Mountain Day) are included.
- Substitute holidays (振替休日) and citizens' holidays (国民の休日) are computed automatically and have been cross-checked against the official Cabinet Office data for 2020–2027.
The meta field
Every tool response includes a meta block alongside the actual result:
dataVerifiedOn: the date this server's holiday data was last checked against the primary source.sources: the source(s) backing this response (fiscal_perioddoesn't use holiday data at all, so itssourcesis an empty array).staleWarning: a bilingual (Japanese/English) warning when more than 6 months have passed sincedataVerifiedOn;nullotherwise.
Dates outside the supported range (2020–2030) still return a hard error rather than a warning, since no data exists for those dates at all.
Versioning policy
- Any update to the embedded holiday data bumps the minor version (e.g. 1.1.0 → 1.2.0). Patch versions are reserved for bug fixes and documentation.
- Changes are recorded in CHANGELOG.md, noting when and what was updated.
Maintenance policy
- The maintainer intends to update
src/holidays.tswhenever the Public Holiday Act is amended or the Cabinet Office publishes updated data. Since this server never makes network calls at runtime, reflecting a change requires a manual update. - If you're aware of a holiday change (new/moved/removed holiday), please report it via GitHub Issues: https://github.com/skypier-jp-works/mcp-jp-calendar/issues
- For anything important, check
meta.dataVerifiedOnandmeta.staleWarning, and confirm against the latest Cabinet Office announcement if needed.
Disclaimer
- The accuracy of this tool's calculations is not guaranteed.
- Actual business days and closing dates are governed by each company's own work rules and by agreements with business partners, which always take precedence over this tool's output.
- If you are using this tool for any important business decision, you must independently verify the results yourself.
Development
Clone and build from source if you want to modify the server:
Claude Desktop config for a locally built copy:
Project structure
If a holiday law changes, this server's embedded data will not update automatically — src/holidays.ts needs to be updated manually.
Related tools
Other MCP servers by the same author:
- mcp-jp-paid-leave — calculates Japanese statutory annual paid leave (entitlement grants, attendance-rate checks, proportional grants, carryover, the 5-day mandatory-use rule, and more)
- mcp-jp-corporate-id — validates and normalizes Japanese corporate numbers and qualified invoice registration numbers
License
Source: README.md at commit 92af5d2
Tools
0Version history
1- v1.1.0LatestSep 16, 2026
Score
50% of the applicable checks met
How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.
- Reached in the last 30 days25 pts
Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.
- Auth declared10 pts
Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.
- Tools listed15 pts
Answer tools/list without a credential, or ship a package that starts in a sandbox without one.
- DescriptionRequired15 pts
- Logo10 pts
- Documentation15 pts
- License10 pts