mcp-jp-calendar について
mcp-jp-calendarは、日本の営業日、決済日、会計期間を計算するエージェント向けのMCPサーバーです。2020~2030年の祝日データを内蔵し、APIキーやネットワーク接続なしで計算できます。
主な機能
- 01日本の営業日を判定
- 02営業日の加算と日数集計
- 03五十日の決済日を特定
- 04月末の締め日を調整
- 05会計年度と四半期を計算
- 06国民の祝日を一覧表示
活用シーン
- 01日本の日付が営業日か確認
- 02請求や支払の期日を算出
- 03日本の会計四半期を判定
- 04会社独自の休日を反映
MCP 対応
営業日、五十日、月末、会計期間、祝日などを扱う7つのカレンダーツールをMCPクライアントに提供します。祝日データは内蔵され、実行時にネットワークへ接続しません。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
7掲載時のツール一覧 · 2 週間前に更新
| パラメーター | 型 | 必須 | 説明 |
|---|---|---|---|
| date | string | はい | 日付 (YYYY-MM-DD形式、例: 2026-08-15) |
| weekendDays | array | いいえ | 休みとする曜日の配列 (0=日,1=月,2=火,3=水,4=木,5=金,6=土)。省略時は土日([0,6]) |
| customHolidays | array | いいえ | 会社独自の休業日 (YYYY-MM-DD形式の配列)。例: 年末年始 ["2026-12-29","2026-12-30","2026-12-31","2027-01-01","2027-01-02","2027-01-03"] |
詳細
mcp-jp-calendar
AI エージェントに、日本の営業日に関する正確な回答をさせましょう。 Claude(または任意の MCP クライアント)に、ある日付が日本の営業日か、支払期日が実際にはいつか、現在どの会計四半期にあたるのかを教える MCP サーバーです。国民の祝日、振替休日、単純な曜日チェックでは判断できない慣習も考慮します。API キーもネットワーク通信も不要です。祝日データ(2020~2030 年)はすべてパッケージに組み込まれています。
目次
このツールが作られた理由
単純に「平日かどうか」を確認するだけでは、思った以上に日本の営業日を誤って判断します。このサーバーが正しく処理する実例をいくつか紹介します。
| 状況 | 単純な曜日チェック | 実際には |
|---|---|---|
| 振替休日 | 2026 年 5 月 5 日のこどもの日は日曜日です。翌日(5 月 6 日の月曜日)は通常の営業日に見えます | 2026 年 5 月 6 日も祝日です。日本の法律では、祝日が次の祝日でない日に移動します |
| 国民の休日 | 2026 年 9 月 22 日は火曜日で、祝日に挟まれていますが、営業日に見えます | この日も祝日です。平日が 2 つの国民の祝日に挟まれると、自動的に祝日になります |
| 五十日の決済 | 日本の請求書や支払いは慣例的に 5 日・10 日・15 日・20 日・25 日・月末に決済されます。他の多くの国では一般的ではありません | next_gotobi は次の五十日を見つけ、その日が祝日の場合は、実際に支払いが決済される繰り延べ後の営業日を教えます |
| 会計年度 | 年度の開始を 1 月と想定すると、12 月は第 4 四半期に見えます | 日本企業の多くは 4 月~3 月の会計年度を採用しているため、12 月は実際には 第 3 四半期 です |
スケジュール管理や請求処理を行うエージェントがこれらを誤ると、銀行休業日を支払期日に選んだり、四半期を間違えて報告したりすることになります。このサーバーは実際のルールを組み込んでいるため、エージェントが推測する必要はありません。
インストール
オプション 1 — npx(推奨)
インストールは不要です。Claude Desktop の設定(claude_desktop_config.json)に次の内容を追加してください。
- Windows:
%APPDATA%\Claude\claude_desktop_config.json - macOS:
~/Library/Application Support/Claude/claude_desktop_config.json
{
"mcpServers": {
"jp-calendar": {
"command": "npx",
"args": ["-y", "mcp-jp-calendar"]
}
}
}
Claude Desktop を再起動すると、ツールを利用できるようになります。直接実行することもできます。
npx mcp-jp-calendar
または、グローバルにインストールします。
npm install -g mcp-jp-calendar
オプション 2 — .mcpb バンドル(Claude Desktop にワンクリックでインストール)
MCP Bundles を使うと、ターミナルを使わず、ダブルクリック 1 回でローカルの MCP サーバーをインストールできます。ソースからビルドするには、次のコマンドを実行します。
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.mcpb
その後、生成された mcp-jp-calendar.mcpb ファイルをダブルクリックすると、Claude for macOS/Windows にインストールできます。
ツール
すべての日付は YYYY-MM-DD 形式で指定および返却されます(例:2026-08-15)。month_end_info には YYYY-MM 形式の月文字列を指定します(例:2026-08)。
| ツール | 説明 |
|---|---|
is_business_day | 指定した日付が営業日かどうかを確認します |
add_business_days | 指定した日付から N 営業日後/前の日付を取得します |
count_business_days | 2 つの日付の間(両端を含む)の営業日数を数えます |
next_gotobi | 次の「ごと日」(5 日、10 日、15 日、20 日、25 日、または月末日)と、その日が祝日の場合は実際の営業日を取得します |
month_end_info | 指定した月の最終日と、その日が祝日の場合は有効な締め日を取得します |
fiscal_period | 日付が属する会計年度と四半期を判定します(会計年度の開始月は設定可能で、デフォルトは 4 月です) |
list_holidays | 指定した年の日本の国民の祝日を一覧表示します |
is_business_day、add_business_days、count_business_days、next_gotobi、month_end_info は、次の 2 つのオプションパラメーターを受け付けます。
weekendDays:非営業日として扱う曜日番号の配列です。0=日 …6=土。デフォルトは[0, 6]です。customHolidays:会社独自の休業日(年末年始の休業など)を表すYYYY-MM-DD文字列の配列です。
例
is_business_day — 土曜日の場合:
// Request: { "date": "2026-08-15" }
{ "date": "2026-08-15", "isBusinessDay": false, "reason": "土曜日" }
add_business_days — 金曜日の 1 営業日後:
// Request: { "date": "2026-07-24", "businessDays": 1 }
{ "startDate": "2026-07-24", "businessDays": 1, "resultDate": "2026-07-27" }
count_business_days — 月曜日から日曜日までの 1 週間:
// Request: { "startDate": "2026-07-27", "endDate": "2026-08-02" }
{ "startDate": "2026-07-27", "endDate": "2026-08-02", "businessDays": 5 }
next_gotobi — 15 日が土曜日のため、前倒しされます:
// Request: { "date": "2026-08-11" }
{ "gotobiDate": "2026-08-15", "isBusinessDay": false, "actualDate": "2026-08-14" }
month_end_info — 月末が日曜日の場合:
// Request: { "yearMonth": "2027-01" }
{ "yearMonth": "2027-01", "monthEndDate": "2027-01-31", "isBusinessDay": false, "actualClosingDate": "2027-01-29" }
fiscal_period — 日本の標準的な 4 月開始の会計年度における 12 月:
// Request: { "date": "2026-12-01" }
{ "date": "2026-12-01", "fiscalYearStartMonth": 4, "fiscalYear": 2026, "quarter": 3 }
list_holidays — 国民の休日を含む抜粋:
// Request: { "year": 2026 }
{
"year": 2026,
"holidays": [
{ "date": "2026-09-21", "name": "敬老の日" },
{ "date": "2026-09-22", "name": "国民の休日" },
{ "date": "2026-09-23", "name": "秋分の日" }
]
}
(上記の例は読みやすさのために省略されています。すべてのレスポンスには meta フィールドも含まれます。meta フィールドを参照してください。)
対応範囲とデータソース
対応しているのは 2020 年から 2030 年までの日付のみです。この範囲外の日付を指定するとエラーが返されます。
- 2020~2027 年の祝日データは確認済みで、内閣府の公式祝日 CSV(https://www8.cao.go.jp/chosei/shukujitsu/gaiyou.html)を直接参照しています。
- 2028~2030 年の祝日データは計算による推定値です。春分の日/秋分の日は、かなり先の予定までは公式発表されないため、標準的な天文計算の近似式で算出しており、最終的な公式発表と最大 1 日ずれる可能性があります。
- 2020 年と 2021 年の東京オリンピックに伴う祝日の特例移動(海の日、スポーツの日、山の日)を含みます。
- 振替休日と国民の休日は自動的に計算され、2020~2027 年について内閣府の公式データと照合済みです。
meta フィールド
すべてのツールレスポンスには、実際の結果とともに meta ブロックが含まれます。
"meta": {
"dataVerifiedOn": "2026-07-28",
"sources": [{ "label": "Cabinet Office official holiday CSV", "url": "https://..." }],
"staleWarning": null
}
dataVerifiedOn:このサーバーの祝日データを一次ソースと最後に照合した日付です。sources:このレスポンスの根拠となるソースです(fiscal_periodは祝日データをまったく使用しないため、空の配列です)。staleWarning:dataVerifiedOnから 6 か月以上経過している場合に表示される、日本語と英語の警告です。それ以外の場合はnullです。
対応範囲外(2020~2030 年)の日付については、該当する日付のデータが存在しないため、警告ではなく引き続き明確なエラーが返されます。
バージョン管理ポリシー
- 埋め込み祝日データを更新するたびにマイナーバージョンを上げます(例:1.1.0 → 1.2.0)。パッチバージョンはバグ修正とドキュメント更新用です。
- 更新内容と日時は CHANGELOG.md に記録します。
メンテナンスポリシー
- メンテナーは、祝日法の改正時、または内閣府がデータを更新した際に、
src/holidays.tsを更新する予定です。このサーバーは実行時にネットワーク通信を行わないため、変更を反映するには手動での更新が必要です。 - 祝日の変更(新設・移動・廃止)をご存じの場合は、GitHub Issues からお知らせください: https://github.com/skypier-jp-works/mcp-jp-calendar/issues
- 重要な用途では、
meta.dataVerifiedOnとmeta.staleWarningを確認し、必要に応じて内閣府の最新発表と照合してください。
免責事項
- このツールの計算の正確性は保証されません。
- 実際の営業日や休業日は、各社の就業規則および取引先との合意によって定められ、常にこのツールの出力より優先されます。
- 重要な業務上の判断にこのツールを使用する場合は、必ずご自身で結果を確認してください。
開発
サーバーを変更する場合は、ソースからクローンしてビルドしてください:
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 tools
ローカルでビルドしたコピー用の Claude Desktop 設定:
{
"mcpServers": {
"jp-calendar": {
"command": "node",
"args": ["/absolute/path/to/mcp-jp-calendar/build/index.js"]
}
}
}
プロジェクト構成
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 version
祝日に関する法律が改正されても、このサーバーに組み込まれたデータは自動的には更新されません。src/holidays.ts を手動で更新する必要があります。
関連ツール
同じ作者によるその他の MCP サーバー:
- mcp-jp-paid-leave — 日本の法定年次有給休暇(付与日数、出勤率の確認、比例付与、繰越、年5日の取得義務など)を計算します
- mcp-jp-corporate-id — 日本の法人番号および適格請求書発行事業者登録番号を検証・正規化します
ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。