MCP server providing Japanese business day calculations (holidays/weekends aware) to Claude / 日本の営業日計算(祝日・土日を除く)をClaudeに提供するMCPサーバー
Four well-defined tools with complete schemas, clear descriptions, and proper parameter validation. All tools have explicit input schemas with type constraints (regex patterns, min/max bounds). Descriptions are detailed and domain-specific (Japanese business day calculations). Tool names follow verb_noun convention (jp_is_business_day, jp_add_business_days). All parameters have descriptions and type constraints. Structured output with both text and structuredContent fields. Main gaps: no error recovery guidance in descriptions, no pagination (not applicable here), and descriptions could be more concise (avg ~180 chars, slightly above baseline 194 but acceptable for domain specificity).
指定日からN営業日後(daysが正の数)、またはN営業日前(daysが負の数)の日付を計算します。土日・祝日はカウントしません。起点日自体はカウントに含みません。daysに0は指定できません。日付を省略すると今日(日本時間)が起点になります。
開始日から終了日まで(両端を含む)の営業日数をカウントします。開始日は終了日以前である必要があります。
有効期限・締切日などの基準日から、指定した営業日数だけ前の「対応期限日」を計算します。「基準日のX営業日前までに提出・対応する」という管理(更新期限のリマインダー設定など)に使えます。土日・祝日は数えず、実際に動ける営業日ベースで逆算します。
指定した日付が営業日(平日かつ祝日でない日)かどうかを判定します。土日・祝日の場合は、その理由(曜日名または祝日名)も返します。日付を省略すると今日(日本時間)を判定します。対応範囲: 2020〜2099年。
Error messages lack recovery guidance. When validDate() throws 'Invalid date' or assertInRange() throws 'Out of range', descriptions do not tell LLMs what to do next (e.g., 'Try a date between 2020-2099').
Tool descriptions do not explicitly state that tools are read-only and safe to retry. While annotations include readOnlyHint=true, descriptions should reinforce this for LLM planning.
Parameter descriptions include Japanese text only. While domain-appropriate, descriptions should be in English for broader LLM compatibility and international use.
| Scored | Grade | Overall | Spec posture | Rubric |
|---|---|---|---|---|
| 2026-09-23 | B | 74 | 2025-06-18+ | v2 |
jp_add_business_days uses refine() for zero-check validation, which is correct, but error message 'daysに0は指定できません' is in Japanese. Should be English for LLM clarity.
jp_business_days_between does not validate that start <= end in the schema; validation happens at runtime. Schema should include a constraint or description should explicitly state the requirement.