0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

日本の給与計算・社会保険・年末調整を、計算して返すAPIとMCPサーバーを作った

0
Last updated at Posted at 2026-09-03

給与計算に必要な「法定の数字」を、表から引くのではなく計算して返すサービスを公開しています。
HTTP API と MCP サーバーの2つの入口があり、どちらも同じ計算をします。
この記事は道具の全体像です。何ができて、何ができなくて、どう使うかを一通り書きます。

何をするものか

給与計算の実装で詰まるのは、計算式ではなくその前提です。

  • 健康保険料率は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ドル)です。

関連記事

間違いを見つけたら GitHub に issue をください。条文や通達の読み違いが一番ありがたいです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?