mcp-jp-calendar
Click on "Install Server".
Wait a few minutes for the server to deploy. Once ready, it will show a "Started" state.
In the chat, type
@followed by the MCP server name and your instructions, e.g., "@mcp-jp-calendarIs 2026-05-06 a business day?"
That's it! The server will respond to your query, and you can continue using it as needed.
Here is a step-by-step guide with screenshots.
mcp-jp-calendar
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
Related MCP server: JP Business Calendar MCP
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:
Situation | Naive weekday check | What actually happens |
Substitute holiday (振替休日) | Children's Day, May 5 2026, falls on a Sunday → looks like the next day (Mon May 6) is a normal business day | May 6 2026 is also a public holiday — Japanese law shifts the holiday to the next non-holiday day |
Citizens' holiday (国民の休日) | Sep 22 2026 is a Tuesday, sandwiched between two holidays → looks like a business day | It's a holiday too: when a weekday falls between two national holidays, it automatically becomes one |
Gotobi settlement days (五十日) | Japanese invoices and payments conventionally settle on the 5th/10th/15th/20th/25th/month-end — irrelevant in most other countries |
|
Fiscal year (年度) | December looks like Q4 if you assume a January-start year | Most Japanese companies run an April–March fiscal year, so December is actually Q3 |
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.jsonmacOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"jp-calendar": {
"command": "npx",
"args": ["-y", "mcp-jp-calendar"]
}
}
}Restart Claude Desktop and the tools become available. You can also run it directly:
npx mcp-jp-calendarOr install it globally:
npm install -g mcp-jp-calendarOption 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:
git clone https://github.com/skypier-jp-works/mcp-jp-calendar.git
cd mcp-jp-calendar
npm install
npm run build
mkdir -p mcpb-dist/server && cp build/*.js mcpb-dist/server/
cd mcpb-dist
npm install --omit=dev
npm install -g @anthropic-ai/mcpb
mcpb pack . mcp-jp-calendar.mcpbThen 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).
Tool | Description |
| Check whether a given date is a business day |
| Get the date N business days after/before a given date |
| Count business days between two dates (inclusive) |
| Get the next "gotobi" settlement day (5th, 10th, 15th, 20th, 25th, or last day of month), plus the actual business day if that date is a holiday |
| Get the last day of a given month, and the effective closing date if that day is a holiday |
| Determine which fiscal year and quarter a date falls in (fiscal year start month is configurable; defaults to April) |
| List Japan's national holidays for a given year |
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:
// Request: { "date": "2026-08-15" }
{ "date": "2026-08-15", "isBusinessDay": false, "reason": "土曜日" }add_business_days — 1 business day after a Friday:
// Request: { "date": "2026-07-24", "businessDays": 1 }
{ "startDate": "2026-07-24", "businessDays": 1, "resultDate": "2026-07-27" }count_business_days — a full Mon–Sun week:
// Request: { "startDate": "2026-07-27", "endDate": "2026-08-02" }
{ "startDate": "2026-07-27", "endDate": "2026-08-02", "businessDays": 5 }next_gotobi — the 15th falls on a Saturday, so it's pushed back:
// Request: { "date": "2026-08-11" }
{ "gotobiDate": "2026-08-15", "isBusinessDay": false, "actualDate": "2026-08-14" }month_end_info — month-end falls on a Sunday:
// Request: { "yearMonth": "2027-01" }
{ "yearMonth": "2027-01", "monthEndDate": "2027-01-31", "isBusinessDay": false, "actualClosingDate": "2027-01-29" }fiscal_period — December, under Japan's standard April-start fiscal year:
// Request: { "date": "2026-12-01" }
{ "date": "2026-12-01", "fiscalYearStartMonth": 4, "fiscalYear": 2026, "quarter": 3 }list_holidays — excerpt showing a citizens' holiday (国民の休日):
// Request: { "year": 2026 }
{
"year": 2026,
"holidays": [
{ "date": "2026-09-21", "name": "敬老の日" },
{ "date": "2026-09-22", "name": "国民の休日" },
{ "date": "2026-09-23", "name": "秋分の日" }
]
}(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:
"meta": {
"dataVerifiedOn": "2026-07-28",
"sources": [{ "label": "Cabinet Office official holiday CSV", "url": "https://..." }],
"staleWarning": null
}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:
git clone https://github.com/skypier-jp-works/mcp-jp-calendar.git
cd mcp-jp-calendar
npm install
npm run build # compiles src/ -> build/
npm test # 38 tests covering all 7 toolsClaude Desktop config for a locally built copy:
{
"mcpServers": {
"jp-calendar": {
"command": "node",
"args": ["/absolute/path/to/mcp-jp-calendar/build/index.js"]
}
}
}Project structure
mcp-jp-calendar/
├── src/
│ ├── holidays.ts # Embedded holiday data for 2020-2030 (Cabinet Office data + estimates)
│ ├── dataMeta.ts # Data-verification date, sources, and staleness-warning helpers
│ ├── dateUtils.ts # Core logic: business days, closing dates, fiscal periods, etc.
│ └── index.ts # MCP server entry point (exposes the 7 tools)
├── tests/
│ ├── dateUtils.test.ts
│ └── dataMeta.test.ts
├── mcpb-dist/
│ └── manifest.json # MCP Bundle (.mcpb) manifest — see Install, Option 2
├── package.json
├── tsconfig.json
├── CHANGELOG.md # Record of holiday-data updates and spec changes
├── LICENSE
├── README.md # this file
└── README.ja.md # Japanese versionIf 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
Available Tools
7 toolsadd_business_daysN営業日後/前の日付を計算A
指定日から N 営業日後(Nが負の場合はN営業日前)の日付を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | 日付 (YYYY-MM-DD形式、例: 2026-08-15) | |
| weekendDays | No | 休みとする曜日の配列 (0=日,1=月,2=火,3=水,4=木,5=金,6=土)。省略時は土日([0,6]) | |
| businessDays | Yes | 加算する営業日数。負の数を指定するとN営業日前になります | |
| customHolidays | No | 会社独自の休業日 (YYYY-MM-DD形式の配列)。例: 年末年始 ["2026-12-29","2026-12-30","2026-12-31","2027-01-01","2027-01-02","2027-01-03"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the main behavior (adding/subtracting business days) and the negative-N handling. However, it does not explain how weekendDays and customHolidays affect the calculation, or how the start date is treated if it itself falls on a non-business day. These are notable gaps, but the core behavior is adequately disclosed for a simple calculation tool.
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?
The description is a single concise sentence, front-loaded with the verb and resource, and contains no redundant or irrelevant content. It efficiently communicates the essential purpose.
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?
The description covers the primary function but is sparse for a tool with 4 parameters, no output schema, and no annotations. It does not explicitly specify the return format (though 'date' is mentioned) or explain the effect of optional parameters in the description. However, the schema thoroughly documents parameters, so the core missing piece is the absence of edge-case behavior and explicit return type details.
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 description coverage is 100%, so the baseline is 3. The description adds no parameter semantics beyond what the schema already provides; it restates the negative-N behavior that is already documented in the businessDays parameter description. No additional meaning is contributed.
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 clearly states the verb '返します' (returns) with a specific resource: the date N business days after the specified date. It also clarifies the negative-N case (N business days before), distinguishing this tool from siblings like count_business_days and is_business_day which serve different purposes.
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 implies usage for calculating business-day offsets by stating the core function, but it does not explicitly mention when to prefer this tool over alternatives or provide exclusions. The context is clear but lacks explicit guidance on selecting this tool versus siblings such as count_business_days or list_holidays.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
count_business_days営業日数カウントA
2つの日付の間(両端を含む)の営業日数を数えます。
| Name | Required | Description | Default |
|---|---|---|---|
| endDate | Yes | ||
| startDate | Yes | 日付 (YYYY-MM-DD形式、例: 2026-08-15) | |
| weekendDays | No | 休みとする曜日の配列 (0=日,1=月,2=火,3=水,4=木,5=金,6=土)。省略時は土日([0,6]) | |
| customHolidays | No | 会社独自の休業日 (YYYY-MM-DD形式の配列)。例: 年末年始 ["2026-12-29","2026-12-30","2026-12-31","2027-01-01","2027-01-02","2027-01-03"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the inclusive endpoint behavior, which is a key behavioral trait. However, it does not mention how weekendDays and customHolidays affect the count, default weekend behavior, or edge cases like reversed dates. With no annotations provided, the description carries the burden but leaves these details to the schema.
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?
The description is a single, concise sentence that front-loads the primary action and scope. Every word contributes to understanding the tool's purpose with no redundancy or filler.
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?
For a simple counting tool with a rich schema (75% parameter coverage), the description adequately covers the core functionality and inclusivity. It does not explain edge cases, but the schema and the tool's straightforward nature make it sufficiently complete for an agent to select and invoke it correctly.
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?
The description clarifies that both startDate and endDate are included in the count, which adds meaning beyond the schema's basic date string descriptions. Since schema coverage is 75% (endDate lacks a direct description), this compensation is valuable. The other parameters (weekendDays, customHolidays) are already well-described 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 uses a specific verb '数えます' (counts) and clearly identifies the resource: '2つの日付の間' (between two dates) of business days. It also specifies inclusivity with '(両端を含む)' which distinguishes it from sibling tools like is_business_day (single date check) and add_business_days (adding days).
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 implies the usage scenario (counting business days between dates) but does not explicitly mention when to use this tool over alternatives like is_business_day or add_business_days. There are no exclusions or prerequisites stated, so the guidance is adequate but not fully explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
fiscal_period年度・四半期判定A
指定日が何年度の第何四半期かを返します。年度の開始月は指定可能(省略時は4月)。
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | 日付 (YYYY-MM-DD形式、例: 2026-08-15) | |
| fiscalYearStartMonth | No | 年度の開始月 (1〜12)。省略時は4(4月始まり) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations are provided, so the description carries the burden. It discloses that the fiscal-year start month is configurable and defaults to April, and the verb '返します' implies a side-effect-free computation. It does not specify the output format or edge-case behavior, but for a pure date calculation this is adequate.
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?
The description is two short sentences, front-loads the primary purpose, and avoids redundancy. Every clause adds value, making it concise and well-structured.
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?
For a simple two-parameter computation with a fully documented schema, the description covers the essential behavior and configuration. The absence of an output schema is a minor gap because the return value (fiscal year and quarter) is not explicitly formatted, but the tool's simplicity makes this acceptable.
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 description coverage is 100%, so the baseline is 3. The description's mention of a configurable start month with April default mirrors the parameter descriptions and adds no new meaning beyond 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 clearly states the tool returns the fiscal year and quarter for a given date, using the specific verb '返します' (returns). It distinguishes itself from sibling tools focused on business days, holidays, and month-end info.
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 purpose implicitly signals use for fiscal-period classification, and sibling names make alternatives clear. There is no explicit 'when not to use' guidance, but the context is sufficient for an agent to select it over the business-day/holiday tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
is_business_day営業日判定A
指定した日が営業日かどうかを判定します。土日・日本の祝日・振替休日・国民の休日・会社独自の休業日を考慮します。
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | 日付 (YYYY-MM-DD形式、例: 2026-08-15) | |
| weekendDays | No | 休みとする曜日の配列 (0=日,1=月,2=火,3=水,4=木,5=金,6=土)。省略時は土日([0,6]) | |
| customHolidays | No | 会社独自の休業日 (YYYY-MM-DD形式の配列)。例: 年末年始 ["2026-12-29","2026-12-30","2026-12-31","2027-01-01","2027-01-02","2027-01-03"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses consideration of weekends, Japanese holidays, substitute holidays, and custom company holidays, but omits that the weekendDays parameter can override the default Saturday/Sunday definition and does not state the return type or invalid-date behavior.
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?
The description is a single, focused sentence that front-loads the core action and lists the holiday types without redundancy. It is appropriately concise for the tool's simplicity.
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?
For a simple boolean check tool, the description is largely complete: it specifies the input (a date) and the business-day criteria. However, because there is no output schema, it would be beneficial to explicitly state that the result is a boolean; the current phrasing '判定します' is slightly ambiguous about the return value.
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?
The schema provides 100% coverage with descriptions for all three parameters, including formats and defaults. The description adds only a general mention of holiday types, not specific parameter semantics beyond 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 explicitly states the tool determines whether a specified date is a business day, using the specific verb '判定します' and clearly scoping to a single date. It also enumerates the holiday categories considered, distinguishing it from sibling tools that perform date arithmetic or list holidays.
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?
No explicit guidance is given for when to prefer this tool over alternatives; the intended use is only implied by the tool's purpose. There are no exclusions or references to sibling tools like add_business_days, so the agent must infer usage from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_holidays祝日一覧A
指定年の日本の祝日を一覧で返します。対応期間: 2020年〜2030年。
| Name | Required | Description | Default |
|---|---|---|---|
| year | Yes | 対象の年 (西暦4桁、例: 2026) |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full burden. It discloses the supported date range (2020-2030), which is useful, but it does not explain behavior for out-of-range years (e.g., error vs. empty list) or whether the list includes substitute holidays. This leaves some behavioral ambiguity.
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?
The description is one short sentence plus a concise range statement. It is front-loaded with the core purpose and contains no filler or redundant details, earning top marks for efficiency.
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?
For a simple list tool with one well-documented parameter and no output schema, the description is largely sufficient. It explains purpose and supported range, but could be more complete by addressing edge cases (e.g., out-of-range years) and the exact scope of holidays (e.g., national holidays only).
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% for the single 'year' parameter, so the baseline is 3. The description adds extra meaning by specifying the valid range (2020-2030), which is not present in the schema's property description. This is a valuable addition for correct parameter use.
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 clearly states the tool returns a list of Japanese holidays for a specified year. The verb '返します' plus the resource '日本の祝日' and scope '指定年' make it specific and distinguishable from sibling tools that handle business-day calculations.
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 provides clear context: it lists holidays for a given year, within a supported period of 2020-2030. However, it does not explicitly state when to use this tool over siblings or when not to use it, so it stops short of full usage-exclusion guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
month_end_info月末締め日情報B
指定月の月末日と、月末が休日の場合に前倒しした実質的な締め日を返します。
| Name | Required | Description | Default |
|---|---|---|---|
| yearMonth | Yes | 対象の年月 (YYYY-MM形式、例: 2026-08) | |
| weekendDays | No | 休みとする曜日の配列 (0=日,1=月,2=火,3=水,4=木,5=金,6=土)。省略時は土日([0,6]) | |
| customHolidays | No | 会社独自の休業日 (YYYY-MM-DD形式の配列)。例: 年末年始 ["2026-12-29","2026-12-30","2026-12-31","2027-01-01","2027-01-02","2027-01-03"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses the key logic of moving the closing date forward if the month-end is a holiday. However, with no annotations, it leaves important behavioral details unclear: how holidays are determined (weekendDays vs customHolidays), whether the effective date is always returned or only when a holiday occurs, and what happens if the moved date also falls on a holiday. This is a moderate transparency gap.
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?
The description is a single, concise sentence that conveys the core functionality immediately. There is no filler or redundant phrasing; it is appropriately sized for the tool's complexity.
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?
Without an output schema, the description should clarify the return structure, but it does not. The conditional wording makes it ambiguous whether the output always includes both the month-end date and the effective date, and there is no mention of edge cases like consecutive holidays. Combined with no annotations, the description is not fully self-sufficient for an agent to predict the tool's behavior.
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 description coverage is 100% for all three parameters (yearMonth, weekendDays, customHolidays), so the baseline is 3. The description adds no information about parameter usage or formats beyond what the schema already provides, so no score adjustment is warranted.
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 clearly states the tool's function: it returns the last day of the specified month and, if that day is a holiday, the adjusted closing date moved earlier. The verb '返します' is specific and the resource is distinct from siblings like is_business_day or list_holidays, which focus on other date calculations.
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?
No guidance is provided on when to use this tool over alternatives. There is no mention of scenarios where this is preferred, no exclusion criteria, and no comparison with sibling tools. The description only explains what it does, not when to invoke it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
next_gotobi次の五十日を計算A
指定日以降で最も近い五十日(ごとおび。5日・10日・15日・20日・25日・月末)を返します。その日が休日の場合は、直前の営業日に前倒しした実際の日付も一緒に返します。
| Name | Required | Description | Default |
|---|---|---|---|
| date | Yes | 日付 (YYYY-MM-DD形式、例: 2026-08-15) | |
| weekendDays | No | 休みとする曜日の配列 (0=日,1=月,2=火,3=水,4=木,5=金,6=土)。省略時は土日([0,6]) | |
| customHolidays | No | 会社独自の休業日 (YYYY-MM-DD形式の配列)。例: 年末年始 ["2026-12-29","2026-12-30","2026-12-31","2027-01-01","2027-01-02","2027-01-03"] |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses a key behavior: if the calculated date is a holiday, it also returns the date adjusted to the previous business day. However, it does not specify the return structure, recursion of adjustments, or edge cases. With no annotations provided, this is moderate but incomplete transparency.
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?
The description is two concise sentences, front-loading the core functionality followed by the adjustment behavior. No redundant or ambiguous wording, making it appropriately sized.
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 moderate complexity, the description does not fully explain the return value format, which is critical for agent usage. It also omits how weekendDays and customHolidays parameters affect the calculation, though the schema covers these. The core concept is clear, but operational details are missing.
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?
The input schema already provides 100% coverage of all three parameters with descriptions and examples. The tool description adds no additional parameter semantics, so the baseline score of 3 applies.
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 clearly states the tool's function: returns the nearest Go-tobi (5th, 10th, 15th, 20th, 25th, month-end) on or after a specified date. It distinguishes this from sibling tools by introducing the specific Go-tobi concept and the holiday adjustment behavior.
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 does not explicitly state when to use this tool versus alternatives. It implies usage for Go-tobi calculations but provides no guidance on choosing it over siblings like month_end_info or is_business_day, nor does it mention 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. Dates show when Glama detected each change.
7 tool updates
v1.1.0- First observed
add_business_days - First observed
count_business_days - First observed
fiscal_period - First observed
is_business_day - First observed
list_holidays - First observed
month_end_info - First observed
next_gotobi
TDQS
Each tool targets a distinct calendar concept: checking business days, adding/counting them, finding gotobi dates, month-end info, fiscal periods, and holiday lists. No two tools have overlapping purposes, and descriptions clearly distinguish edge cases.
Most tools use a verb_noun pattern (is_business_day, add_business_days, list_holidays), but a few deviate into noun phrases (month_end_info, fiscal_period) or adjective_noun (next_gotobi). All names are lowercase snake_case, so the inconsistency is minor and readability is preserved.
Seven tools is well within the ideal 3-15 range and matches the server's focused scope. Each tool serves a distinct core function for Japanese business calendar operations, with no redundant or unnecessary additions.
The surface covers primary business-day calculations, holiday listing, gotobi dates, month-end adjustments, and fiscal periods. Minor gaps include explicit next/previous business-day convenience functions and management of company-specific holidays, but existing tools can work around these.
Maintenance
Resources
Unclaimed servers have limited discoverability.
Looking for Admin?
If you are the server author, to access and configure the admin panel.
Related MCP Connectors
Japanese holiday and business-day calculations using official Japan Cabinet Office data.
Deterministic date arithmetic with auditable receipts: business days, due dates, holidays.
Japan data tools for AI agents: calendar (rokuyo), address, name splitting, corporate number lookup
Reliable Australian business-day, public-holiday and deadline tools for AI agents.
Related MCP Servers
- AlicenseAqualityBmaintenanceProvides correct trading day and settlement date calculations for multiple exchanges, with no external API calls.66MIT
- 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
- AlicenseAqualityCmaintenanceEnables AI assistants to perform Japanese business calendar calculations including holiday detection, business day arithmetic, payment date settlement, and deadline management using local data.6MIT
- AlicenseAqualityAmaintenanceProvides Japanese national holidays, wareki (era) conversion, and date information. Works fully offline with no API keys required.4MIT
Latest Blog Posts
- Who's Calling? MCP Hosts Are an Identity Blind Spot (And the Spec Knows It)By Om-Shree-0709 on .mcpAgent IdentityOAuth 2.1
- Your AI Chatbot Just Exposed Your CEO's Salary to an InternBy Om-Shree-0709 on .Agent IdentityMCP SecurityOAuth Delegation
- Why MCP Servers Need Execution Sandboxing (And Why Your Current Stack Isn't Enough)By Om-Shree-0709 on .Agentic AiPrompt InjectionWebAssembly
MCP directory API
We provide all the information about MCP servers via our MCP API.
curl -X GET 'https://glama.ai/api/mcp/v1/servers/skypier-jp-works/mcp-jp-calendar'
If you have feedback or need assistance with the MCP directory API, please join our Discord server