給与計算に必要な「法定の数字」を、表から引くのではなく計算して返すサービスを公開しています。
HTTP API と MCP サーバーの2つの入口があり、どちらも同じ計算をします。
この記事は道具の全体像です。何ができて、何ができなくて、どう使うかを一通り書きます。
- 本番: https://japan-payroll-api.tsumugi.workers.dev
- GitHub: https://github.com/kishida-devil/jp-payroll-mcp
- npm: https://www.npmjs.com/package/jp-payroll-mcp
何をするものか
給与計算の実装で詰まるのは、計算式ではなくその前提です。
- 健康保険料率は47都道府県で違い、毎年3月分から変わる
- 保険料は月給ではなく「標準報酬月額」(50等級の階段)にかかる。厚生年金は32等級で頭打ち
- 源泉所得税は国税庁の税額表(2,079セル)で決まり、法令の別表とは値が違う(復興特別所得税ぶん)
- 資格喪失は退職日の翌日なので、3月30日退職と3月31日退職で1か月分の保険料が動く
- 年齢は誕生日の前日に上がるので、4月1日生まれは3月分から介護保険料がかかる
- 随時改定の「2等級差」は健康保険法に無く、昭和36年の通達にある
どれも「それらしい数字が出て、間違っている」種類のものです。このAPIは公表されている
料額表・税額表・通達から計算し、答えに根拠の条文または通知を添えて返します。
誰向けか
| 立場 | 使いどころ |
|---|---|
| 給与・勤怠 SaaS の開発者 | 料率・等級・税額表を自前で保守しない。OpenAPI 3.0 からクライアントを生成 |
| 社労士事務所・給与担当 | AIアシスタントに日本語で聞く(MCP)。「3月31日退職の3月分は?」に条文つきで答える |
| AI エージェントの開発者 | 労務 QA ボットの計算部分。推測させず、判定できないときは「判定できない」と返る |
できること(45エンドポイント / MCP 30ツール)
| 領域 | 内容 |
|---|---|
| 月次給与 | 健康保険・介護保険・厚生年金・子ども子育て拠出金・雇用保険・労災・源泉所得税・手取り・事業主負担を1回で。通勤手当は社保では算入、所得税では非課税限度まで不課税 |
| 賞与 | 保険料(健保は年度累計573万円、厚年は1回150万円の上限)と源泉税 |
| 割増賃金 | 時間外25%・60時間超50%・休日35%・深夜25%(労基法37条、端数は基発150号) |
| 源泉所得税 | 月額表・日額表(丙欄含む)・電算機計算の特例 |
| 年末調整(令和8年分) | 国税庁の「年末調整のしかた」の表(1,103行)と各控除額から、源泉徴収簿の⑦〜㉗を全部返す |
| 住民税(見込み額) | 前年所得と自治体から、所得割・均等割・調整控除・ふるさと納税・非課税判定まで。横浜市・名古屋市の公表計算例と1円まで一致 |
| 標準報酬月額 | 定時決定・随時改定(1等級差の例外4つ含む)・産休育休の復帰時改定・年間平均 |
| 資格・休業・年齢 | 入退社月の保険料の要否、産休育休の免除月、40・65・70・75歳の到達日、短時間労働者の被保険者判定 |
| 年次有給休暇 | 付与日数、短時間労働者の比例付与 |
| 参照 | 47都道府県の料率、労災保険率(55区分)、最低賃金(24年分・発効日つき)、祝日と営業日計算、消費税、法人番号・インボイス番号の検査、引用した条文の本文 |
使いかた1: HTTP API
鍵もアカウントも要りません。
curl "https://japan-payroll-api.tsumugi.workers.dev/v1/payroll?prefecture=Tokyo&monthly_salary=300000&birth_date=1986-09-04&as_of=2026-09-25"
東京・月給30万円・40歳になった月の明細です。従業員負担の社会保険料は 46,500円、
事業主負担は 48,630円。応答には等級、料率、どの年度の表を当てたか、端数処理の規則、
そして「as_of は保険料の対象月であって支給日ではない(健康保険法第167条)」といった
読み違えを防ぐ注記が入っています。
年末調整はこうです。国税庁の冊子の設例をそのまま渡すと、冊子と同じ答えが返ります。
curl -X POST "https://japan-payroll-api.tsumugi.workers.dev/v1/year-end-adjustment" \
-H "content-type: application/json" \
-d '{"total_pay":8970000,"withheld_tax":156670,"social_insurance":1386102,
"life_insurance":{"new_general":80000,"old_general":35000,"care_medical":80000,"new_pension":30000,"old_pension":90000},
"earthquake_insurance":{"earthquake":42000,"old_long_term":14800},
"spouse":{"income":500000},
"dependants":{"general":1,"specified":1,"elderly_cohabiting_parent":1,"under_23":1},
"disabilities":{"general":1},"specified_relatives":[1000000],"housing_loan_credit":76500}'
年調年税額 41,400円、超過額(還付)115,270円。途中の欄(給与所得控除後の金額、
所得金額調整控除、各控除額、課税給与所得金額、算出所得税額)も全部返るので、
源泉徴収簿にそのまま転記できます。医療費控除など確定申告でしか引けない控除は、渡すと「申告したらこうなる」を別枠で返します。
住民税の見込み額も同じ形です。前年の給与と自治体を渡すと、横浜市の公表計算例(給与550万円・配偶者と子供2人)なら 247,900円が、均等割の内訳(神奈川の水源環境保全税、横浜みどり税)と一緒に返ります。
収録範囲の外の日付は、古い数字を返さずに 422 で断ります。「持っている料率表は
2025-04-01 から 2027-03-31 まで」のように範囲を言い、/v1/data-freshness で各データの
次の改定時期が分かります。
OpenAPI 3.0 の仕様書は /openapi.json です。
使いかた2: MCP サーバー(AIアシスタントから)
URL を貼るだけです。Claude.ai のカスタムコネクタ、ChatGPT、Cursor、Claude Code のどれからでも。インストールは要りません。
https://japan-payroll-api.tsumugi.workers.dev/mcp
claude mcp add --transport http jp-payroll https://japan-payroll-api.tsumugi.workers.dev/mcp
手元で動かすなら npx でも同じです。
claude mcp add jp-payroll -- npx -y jp-payroll-mcp
Claude Desktop なら設定ファイルに1行です。
{ "mcpServers": { "jp-payroll": { "command": "npx", "args": ["-y", "jp-payroll-mcp"] } } }
聞き方の例です。
3月31日で退職する社員の、3月分の社会保険料はどうなりますか。
4月に基本給を28万から32万に上げました。月額変更届は必要ですか。
週25時間、月給10万円のパートは社会保険に入りますか。
3つ目は、事業所の規模や雇用期間、学生かどうかを渡していなければ
**「判定できません。workplace_insured_count と is_student が渡されていません」**と返ります。
黙って「入らない」と決めつけません。ここは意図して作ってあります。
数字の出どころと検証
| データ | 出典 |
|---|---|
| 社会保険料率・等級表 | 全国健康保険協会 保険料額表 |
| 源泉徴収税額表 | 国税庁 源泉徴収税額表 |
| 年末調整 | 国税庁 令和8年分 年末調整のしかた |
| 住民税 | 地方税法、総務省「超過課税の状況」、各自治体の公表額 |
| 雇用保険料率 | 厚生労働省(令和7年度・8年度を履歴で保持) |
| 最低賃金 | 厚生労働省 地域別最低賃金 |
| 祝日 | 内閣府 |
| 改定の規則 | e-Gov 法令検索、日本年金機構 |
すべて公式資料から機械的に抽出し、印刷されている値と突き合わせています。
協会けんぽの料額表と250通り、国税庁の月額表2,079セル全部、年末調整は冊子の設例を
全欄、住民税は横浜市・名古屋市の計算例。変更のたびに 4,689件 の検証を実行します。計算式を解説文から書き直したものでは
ありません。
できないこと(正直に)
- **届出の要否を判定するものであって、届出ではありません。**保険者算定は年金機構の判断で異なることがあります。
- 住民税は「見込み額」です(
/v1/resident-tax)。決定額は市区町村の通知書で、給与からはその額を控除します。国民健康保険の額は返しません。 - 医療費控除・寄附金控除・雑損控除は法律上は年末調整で引けないので、渡されたときは「確定申告をした場合の見込み」として別枠で返します。
- 二以上の事業所に勤める人の按分は対象外です。
- 政府機関の承認・関与・保証を受けたものではありません。届出に使う前に出典と照合してください。
料金
この URL は無料です。上限は1分300回の目安と、一括処理の人数(1回10人まで)の2つ。
対話的な利用で当たることはまずありません。500人を1回で処理するなら
RapidAPI の Pro プラン(月4ドル)です。
関連記事
- 退職日・年齢・随時改定の罠: https://zenn.dev/kishida_devil/articles/9d5a645a105c0b
間違いを見つけたら GitHub に issue をください。条文や通達の読み違いが一番ありがたいです。