Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

日本の給与・社会保険・労働法

NPM · JP-PAYROLL-MCP · 2 COMPONENTS · SCANNED SEP 20

Japan payroll & social insurance. 日本の給与計算・社会保険。47都道府県の料率、源泉所得税、割増賃金、有給、標準報酬月額の改定、最低賃金。根拠の条文つき。

+4 this week 75 Trust /100
Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically from public evidence about the published package, including repeated runs of it in an isolated sandbox, and we only credit what we can confirm. How we score → Why this is hard to score →

Supply Chain Security98
  • No malware found by supply-chain analysis.Pass
  • No known CVEs affecting this package version or its production dependencies.Pass
  • No install/post-install scripts declared.Pass
  • 31 of 95 dependencies flagged as unhealthy. View diagnostics → Partial
Provenance & Transparency45
Schema Quality & AI Usability57
  • AI-judged instruction clarity (excellent).Pass
  • Context-footprint check failed: tool/resource definitions use about 11808 tokens (~393/item across 30 items; 30 tools + 0 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management70
  • Stability observed for 21 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage96
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 89% of tool parameters carry a description.Partial
Tool Safety75
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "calculate_overtime_pay" implies "pay" and declares no destructiveHint at all, which the MCP spec reads as destructive by default. See how to fix → Fail
  • An AI judge read all 31 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.Pass
Install

How do I install the 日本の給与・社会保険・労働法 MCP server?

日本の給与・社会保険・労働法 runs locally as an npm package, launched with npx -y jp-payroll-mcp. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

npm · jp-payroll-mcp

# add to Claude Code
claude mcp add kishida-devil-jp-payroll-mcp -- npx -y jp-payroll-mcp
// .cursor/mcp.json
{
  "mcpServers": {
    "kishida-devil-jp-payroll-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "jp-payroll-mcp"
      ]
    }
  }
}
// .vscode/mcp.json
{
  "servers": {
    "kishida-devil-jp-payroll-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "jp-payroll-mcp"
      ]
    }
  }
}
# add to Codex CLI
codex mcp add kishida-devil-jp-payroll-mcp -- npx -y jp-payroll-mcp
// opencode.json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "kishida-devil-jp-payroll-mcp": {
      "type": "local",
      "command": [
        "npx",
        "-y",
        "jp-payroll-mcp"
      ],
      "enabled": true
    }
  }
}
# add to OpenClaw
openclaw mcp add kishida-devil-jp-payroll-mcp --command npx --arg -y --arg jp-payroll-mcp
# ~/.hermes/config.yaml
mcp_servers:
  kishida-devil-jp-payroll-mcp:
    command: "npx"
    args: ["-y", "jp-payroll-mcp"]
// ~/.netclaw/config/netclaw.json
{
  "McpServers": {
    "kishida-devil-jp-payroll-mcp": {
      "Transport": "stdio",
      "Command": "npx",
      "Arguments": [
        "-y",
        "jp-payroll-mcp"
      ]
    }
  }
}
# add to Vellum
assistant mcp add kishida-devil-jp-payroll-mcp -t stdio -c npx -a -y jp-payroll-mcp
// mcp.json
{
  "mcpServers": {
    "kishida-devil-jp-payroll-mcp": {
      "command": "npx",
      "args": [
        "-y",
        "jp-payroll-mcp"
      ]
    }
  }
}
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 20 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 67 to 70. That category is still filling its 30-day observation window: 20 days of observed history at the previous scan, 21 at this one. The score rises as the window fills, whether or not the server changes.

  • 18 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 60 to 63. That category is still filling its 30-day observation window: 18 days of observed history at the previous scan, 19 at this one. The score rises as the window fills, whether or not the server changes.

  • 16 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 53 to 57. That category is still filling its 30-day observation window: 16 days of observed history at the previous scan, 17 at this one. The score rises as the window fills, whether or not the server changes.

  • 14 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 47 to 50. That category is still filling its 30-day observation window: 14 days of observed history at the previous scan, 15 at this one. The score rises as the window fills, whether or not the server changes.

  • 12 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 10 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 7 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

  • 5 Sept 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 20 Sept 2026 · Analysed npm/jp-payroll-mcp@0.4.5

Provenance No attestation

The registry publishes no build provenance for this version, so there is nothing to verify.

Result No attestation
Ecosystem npm

Background: How many MCP packages publish verified provenance →

Dependencies 95 packages
Packages resolved 95
Stale 31
Tree resolution Complete

Background: SBOMs and build attestations, explained →

MCP tools · 30 exposed · ~10,837 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
business_days ~248

Count business days in a range, shift a date by N business days, or check one date. Covers 1955-2027 including substitute holidays, 国民の休日 (a weekday that is a holiday only because it sits between two others) and one-off imperial events, so the awkward years are right and not only the tidy ones. Set calendar to "bank" for the statutory banking calendar (銀行法施行令第5条), which is also closed 31 December to 3 January — relevant for payment due dates.

NameTypeReqDescription
calendarstringDefaults to standard.
datestringThe date, YYYY-MM-DD. For shift and check.
daysnumberBusiness days to move; negative goes back. For shift.
fromstringStart date, YYYY-MM-DD. For count and list.
operationstringyescount = business days between two dates; shift = move a date by N business days; check = classify one date; list = holidays in a year or range.
tostringEnd date, YYYY-MM-DD. For count and list.
yearnumberYear. For list.

No output schema declared.

No examples provided.

calculate_annual_cost ~568

What one employee costs an employer over a year, bonuses included. Reach for this rather than multiplying a payslip by twelve, because the two do not agree once a bonus is paid. 健康保険法第45条 caps the standard bonus cumulatively across the year — 5,730,000 from 1 April to 31 March — so the same bonus costs a different amount depending on where it falls, and once the year is used up later bonuses carry no health premium. 厚生年金保険法第24条の4 caps at 1,500,000 per payment with no yearly total, so pension keeps charging where health has stopped. Pass bonuses in the order they are paid: the health allowance fills from the first one. Each row comes back with what was counted, whether it was cut, and how much of the year remains, so the answer can be explained rather than just quoted. Income tax here is the monthly figure times twelve. Bonus withholding is a separate calculation (calculate_bonus with include_tax) and the year-end adjustment is a separate tool (calculate_year_end_adjustment) — say so rather than presenting this as take-home pay for the year.

NameTypeReqDescription
agenumberEither this or birth_date is required.
birth_datestringDate of birth, YYYY-MM-DD. Strongly preferred over `age`: 年齢計算ニ関スル法律 puts the attainment of an age on the day *before* the birthday, so someone born on the 1st of a month crosses a threshold in the p…
bonusesarrayEach bonus in yen, in the order paid. The health cap fills from the first.
business_typestring
dependantsnumber
fiscal_yearnumberYear the 1 April to 31 March window starts. Defaults from the current date.
monthly_salarynumberyesGross monthly pay in yen.
prefecturestringyesPrefecture of the employer's 適用事業所 — English ("Tokyo"), Japanese ("東京" or "東京都"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not.
resident_taxnumberMonthly resident tax, multiplied by twelve as given. It is never derived here.
standard_remunerationnumberThe 標準報酬月額 fixed by 算定基礎届, if known. Without it the grade is derived from the pay given.
workers_comp_typestring事業の種類の番号. Charged on bonuses as well, being levied on total wages.

No output schema declared.

No examples provided.

calculate_bonus ~527

Premiums and income tax on a 賞与. Both work differently from monthly pay and are routinely got wrong. Premiums are charged on 標準賞与額 (the bonus truncated to the thousand yen) under two caps that behave differently: health, long-term care and child support cap at 5,730,000 yen CUMULATIVELY across the fiscal year from 1 April, while pension caps at 1,500,000 yen PER PAYMENT. The annual cap cannot be applied without fiscal_year_to_date, so pass it whenever an earlier bonus was paid in the same fiscal year. Withholding tax on a bonus is derived from the PREVIOUS month's pay, not from the bonus itself. Set include_tax to also compute it.

NameTypeReqDescription
agenumberAge in years. Either this or birth_date is required. Prefer birth_date.
as_ofstringYYYY-MM-DD. Which rate table to use. Rates change every March, so a bonus paid in a previous year needs the table that was in force then; the call is refused rather than answered with today's rates.
birth_datestringDate of birth, YYYY-MM-DD. Strongly preferred over `age`: 年齢計算ニ関スル法律 puts the attainment of an age on the day *before* the birthday, so someone born on the 1st of a month crosses a threshold in the p…
bonusnumberyesGross bonus in yen.
columnstringWithholding column for the tax half: 甲 when a 扶養控除等申告書 was filed (the normal case), 乙 when it was not. 乙 has its own rate table. Defaults to 甲.
dependantsnumber
fiscal_year_to_datenumber標準賞与額 already paid since 1 April this fiscal year. Needed for the annual health cap.
include_taxbooleanAlso compute withholding tax. Requires previous_month_pay.
prefecturestringyesPrefecture of the employer's 適用事業所 — English ("Tokyo"), Japanese ("東京" or "東京都"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not.
previous_month_insurancenumberSocial insurance deducted from that previous month's pay.
previous_month_paynumberGross pay in the month before the bonus. The tax rate is derived from this.

No output schema declared.

No examples provided.

calculate_overtime_pay ~466

Works out statutory premium pay under 労働基準法第37条 — overtime, night work and work on a statutory holiday. The rates do not simply add up, and getting this wrong under-pays wages. A night premium stacks on top: overtime at night is 1.25 + 0.25 = 1.5, holiday work at night is 1.35 + 0.25 = 1.6. But a statutory holiday carries no overtime premium at all — a day with no duty to work has nothing to exceed — so holiday hours are 1.35, never 1.6 by adding overtime. Overtime beyond sixty hours in a month is 50%, and the deferral that exempted small employers ended on 1 April 2023, so headcount no longer matters. Rounding follows 昭和63年基発第150号, which rounds each category separately rather than once at the end, so the total will not always match a single multiplication. Rounding the hours themselves down is a breach of 労基法第24条 and this tool will not do it. base_monthly_pay must exclude the seven allowances that 労基法37条5項 and 施行規則21条 enumerate exhaustively, and only those. Exclusion turns on substance, not the name: a 「家族手当」 paid at a flat rate regardless of dependants cannot be excluded. The response lists all seven. Do not guess at whether an allowance qualifies — ask which way it is paid.

NameTypeReqDescription
base_monthly_paynumberyesMonthly pay forming the premium base, after removing any of the seven excludable allowances.
holiday_hoursnumberHours worked on a statutory holiday.
holiday_night_hoursnumberHow many of those fell between 22:00 and 05:00.
monthly_scheduled_hoursnumberyes月平均所定労働時間 — annual scheduled working days times daily hours, divided by twelve.
night_hoursnumberHow many of those hours fell between 22:00 and 05:00.
overtime_hoursnumberStatutory overtime hours, excluding work on a statutory holiday.

No output schema declared.

No examples provided.

calculate_payroll_batch ~291

Runs calculate_payslip for many employees in one call and returns the run totals: gross, employee deductions, net, and employer cost. Reach for this the moment more than two or three people are in play. A monthly payroll is not a sequence of unrelated questions — the employer share, the totals and the run id only mean anything across the whole run. Asking one employee at a time gives no total and no way to tell a retry from a second run. Put anything shared in defaults (prefecture, business_type, column) and let each row carry only what differs, which is usually pay and age. A row that cannot be computed comes back in errors with its index and id while the rest of the run completes — do not discard a whole payroll over one bad row. The reply carries a run_id derived from the route and the exact input, so sending the same payroll twice gives the same id. Nothing is stored, so a retry cannot double-count.

NameTypeReqDescription
compactbooleanDrop the per-employee breakdown and keep the payout figures — about a tenth the size on a large run. Use it when the question is "what do we pay", not "why".
defaultsobjectApplied to any row that leaves the field out.
employeesarrayyesOne entry per employee. Up to 500 on a paid plan, 10 on the free tier.

No output schema declared.

No examples provided.

calculate_payslip ~1,036

Full monthly deduction breakdown for one employee: health insurance, long-term care, pension, child support, employment insurance, withholding income tax and net pay, with the employer share as well. Use this rather than computing it yourself. Premiums are charged on 標準報酬月額 — a 50-grade step function — and not on actual salary, while employment insurance IS charged on actual salary; the employee share rounds half DOWN; pension stops at grade 32; long-term care applies only from 40 to 64. Income tax is computed on pay after social insurance, which the tool derives internally, so do not pre-deduct it.

NameTypeReqDescription
agenumberAge in years. Either this or birth_date is required — long-term care is charged only from 40 to 64, so the premium cannot be settled without it. Prefer birth_date.
as_ofstringThe premium month: an ISO date in the month the person is insured for, NOT the pay date. Employers may deduct the previous month's premium from this month's pay (Health Insurance Act art. 167), so wi…
birth_datestringDate of birth, YYYY-MM-DD. Strongly preferred over `age`: 年齢計算ニ関スル法律 puts the attainment of an age on the day *before* the birthday, so someone born on the 1st of a month crosses a threshold in the p…
business_typestringEmployment insurance rate band. Defaults to general.
columnstring甲 if the employee filed a 扶養控除等申告書 (the normal case), 乙 if not. Defaults to 甲.
commuting_allowancenumberCommuting allowance in yen per month. Social insurance counts it as remuneration in full, income tax exempts it up to a ceiling — 150,000 a month by public transport. Do NOT fold it into monthly_sala…
commuting_distance_kmnumberOne-way distance for a car or bicycle commute. The exempt ceiling then comes from the distance table (国税庁 No.2585) rather than the 150,000 transit ceiling; under 2 km nothing is exempt.
commuting_farenumberReasonable fare or toll paid on top of a car or bicycle commute. With commuting_distance_km the ceiling is the distance band plus this, capped at 150,000.
commuting_parkingnumberMonthly parking the employee pays for a car or bicycle commute, in yen. Added to the distance band up to 5,000 a month. Needs commuting_distance_km — there is no band to add it to for someone who com…
dependantsnumber源泉控除対象親族の数. Defaults to 0.
employment_typestring役員 are not employment-insurance insured (雇用保険法第4条). Pass "director" for a company officer, or the premium comes out too high. Defaults to employee.
income_taxbooleanSet false to skip withholding tax. Defaults to true.
monthly_salarynumberyesGross monthly pay in yen, before any deduction.
prefecturestringyesPrefecture of the employer's 適用事業所 — English ("Tokyo"), Japanese ("東京" or "東京都"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not.
resident_taxnumberResident tax to deduct, in yen. It is levied by the municipality on the previous year's income and is never derived here — pass the figure from the 特別徴収税額通知書.
standard_remunerationnumberThe 標準報酬月額 fixed by 算定基礎届 or 月額変更届. Pass it whenever it is known. Without it the grade is re-derived from the pay you send, which is wrong in any month with overtime — a 300,000 yen earner who made 3…
workers_comp_typestring労災保険 事業の種類の番号, e.g. "98" for wholesale/retail/restaurants/hotels. Workers compensation falls entirely on the employer and is left out unless you pass this, because rates run from 2.5/1000 to 88/1000…

No output schema declared.

No examples provided.

calculate_withholding_tax ~265

Income tax to withhold from a payment, from the National Tax Agency tables. The taxable amount is pay AFTER social insurance has been deducted, not gross. Pick the table with `period`: "monthly" for 月額表, "daily" for 日額表. The daily table has a third column, 丙, which applies to work engaged by the day and takes no dependant adjustment at all. Use `method: "computer"` for the 電算機計算の特例 formula, which payroll software may use instead of the table and can differ by a few yen.

NameTypeReqDescription
columnstring甲/乙, plus 丙 for the daily table only. Defaults to 甲.
dependantsnumber
methodstring"computer" selects the statutory formula method. Monthly only. Defaults to table.
periodstringDefaults to monthly.
spousebooleanOnly for method "computer": whether a 源泉控除対象配偶者 is claimed. The formula method deducts 31,667 yen a month for one, which the monthly table folds into its columns instead. Ignored by the table methods.
taxable_amountnumberyesPay after social insurance, in yen.

No output schema declared.

No examples provided.

calculate_year_end_adjustment ~646

Year-end adjustment (年末調整) for 2026 from the National Tax Agency's 令和8年分 booklet: the printed 給与所得控除後の給与等の金額 table (1,103 rows), the income-adjustment deduction, social/life/earthquake insurance deductions, spouse, specified-relative (19-22 with income), dependant, disability, widow/single-parent/student and basic deductions, the year-end tax bracket table, the housing-loan credit and the 2.1% reconstruction surtax. Returns every box of the 源泉徴収簿 (⑦ to ㉗) and whether the difference is a refund or a collection. Pay figures are for the whole calendar year, bonuses included. Pass only what the employee declared on their forms; the tool does not assume a spouse, dependants or insurance. Anyone paid 20,000,000 yen or more is outside 年末調整 and the tool says so. Medical, donation and casualty-loss deductions are not part of 年末調整 (they need a tax return) and resident tax is never involved.

NameTypeReqDescription
dependantsobject
disabilitiesobjectCounts of 障害者 / 特別障害者 / 同居特別障害者 among the employee, spouse and dependants.
earthquake_insuranceobjectEarthquake insurance and 旧長期損害保険 premiums paid.
flagsobject
housing_loan_creditinteger住宅借入金等特別控除額 (㉔), from the certificate.
income_adjustmentbooleanForce the 所得金額調整控除 on or off. Omit to derive it from pay > 8,500,000 and the under_23 / disability inputs.
life_insuranceobjectPremiums PAID this year by category (new = contracts from 2012-01-01). The deduction is computed here.
mutual_aidinteger小規模企業共済等掛金 (⑭).
other_incomeintegerIncome other than this pay, for the basic and spouse deduction bands.
social_insuranceintegeryesSocial insurance premiums deducted from pay during the year (⑫).
social_insurance_declaredintegerSocial insurance the employee paid themselves and declared, e.g. 国民年金 (⑬).
specified_relativesarray特定親族 (19-22 with 合計所得金額 over 620,000): one income figure per person.
spouse
tax_returnobjectDeductions that only a tax return can take (medical, self-medication, donations, casualty loss). They are NOT part of 年末調整; pass them to get a separate "if the employee files a return" estimate.
total_payintegeryesTotal pay for the year including bonuses (⑦).
withheld_taxintegeryesIncome tax withheld during the year (⑧).

No output schema declared.

No examples provided.

check_data_freshness ~89

Japanese statutory figures change on fixed dates — insurance rates each March, employment insurance each April, minimum wage each October — and a stale table produces numbers that look plausible and are wrong. This reports what every dataset currently covers and when its next revision is due. Worth calling before relying on a figure for a filing, and whenever a result is being checked against a date near one of those boundaries.

Input schema present but exposes no named parameters.

No output schema declared.

No examples provided.

check_insurance_eligibility ~173

The single most expensive month-end mistake in Japanese payroll, and one an assistant will get wrong from memory. Coverage ends the day AFTER the last day worked, not on it. So an employee leaving on the LAST day of a month loses coverage on the 1st of the next month, and still owes that month's premium — while leaving one day earlier means no premium for the month at all. A full month of both employee and employer premium turns on a single day. Always check here rather than reasoning it out.

NameTypeReqDescription
joined_onstringFirst day of employment, YYYY-MM-DD.
left_onstringLast day actually worked, YYYY-MM-DD — not the day after.
monthstringMonth to judge, YYYY-MM or a full date. Defaults to today.

No output schema declared.

No examples provided.

check_leave_exemption ~207

Maternity and childcare leave look alike and behave differently. Maternity leave has no day-count test and exempts bonus premiums unconditionally; childcare leave gained a 14-day rule in October 2022 and exempts bonus premiums only when the leave exceeds one month. Two results catch people out and are worth checking rather than assuming: a leave that starts and ends inside one month exempts nothing by itself under the main rule, while a SINGLE day of leave on the last day of a month is exempt. Employment insurance is never exempt — it is charged on wages actually paid.

NameTypeReqDescription
endstringyesLast day of leave, YYYY-MM-DD.
kindstringyes産前産後休業 or 育児休業等.
startstringyesFirst day of leave, YYYY-MM-DD.
worked_daysnumber出生時育児休業 only: days worked during the leave, which come off the 14-day count.

No output schema declared.

No examples provided.

commuting_allowance_exemption ~412

Works out how much of a commuting allowance escapes income tax, and states the amount that still counts as remuneration for social insurance. These are two different bases, and that asymmetry is the part people get wrong. Social insurance counts a commuting allowance in full — it is 報酬 under 健康保険法第3条第5項 regardless of the tax treatment — while income tax is charged only on what exceeds the ceiling. So a 15,000 yen allowance on a 300,000 yen salary makes the standard-remuneration basis 315,000 and the taxable pay 300,000. Never answer with a single figure that is meant to serve both. The ceiling is 150,000 a month for public transport. For a car or bicycle it is set by one-way distance, with nothing exempt under two kilometres, and up to 5,000 more a month when the employee pays for parking. Using both adds them together, still capped at 150,000. Do not answer this from memory. The table moved twice in twelve months: a cabinet order promulgated 19 November 2025 raised every band over ten kilometres and applied retroactively to allowances payable from 1 April 2025, and 1 April 2026 added four bands above 65km along with the parking addition. Figures learnt before those dates are wrong, and wrong in a direction that under-states the exempt amount. Call with no arguments to read the current table and both revisions.

NameTypeReqDescription
amountnumberThe commuting allowance actually paid, yen per month. Omit to get the whole table.
distance_kmnumberOne-way distance for a commute by car or bicycle. Under 2km nothing is exempt.
farenumberReasonable fare or toll paid alongside a vehicle commute.
parkingnumberMonthly parking cost the employee bears. Added to the distance band, up to 5,000. Needs distance_km.

No output schema declared.

No examples provided.

consumption_tax ~248

The consumption tax rate in force on a date, with the national and local parts, and the reduced 8% rate for food and newspapers. Pass amount to have the tax worked out. Japan changed the rate four times since 1989 (3% → 5% → 8% → 10%), and the reduced rate has existed only since 2019-10-01. A back-dated invoice or a credit note against an old sale is charged at the rate of the original transaction, not today's, so the date matters more often than people expect. Set history to see every change with its statute.

NameTypeReqDescription
amountnumberTax-exclusive amount in yen, to compute the tax.
as_ofstringAlias for date. YYYY-MM-DD.
datestringYYYY-MM-DD. The rate in force on that day. Defaults to today.
historybooleanReturn every rate change since 1989 instead of one date.
reducedbooleanTrue for the 8% reduced rate — food and drink excluding alcohol and eating out, and subscribed newspapers issued twice a week or more (平成28年法律第15号).

No output schema declared.

No examples provided.

decide_regular_remuneration ~453

The yearly redetermination of standard remuneration, effective each September through the following August. Months below the payment-basis-day threshold drop OUT of the average entirely — they are not counted as zero, which is the usual mistake. If no month qualifies, the previous grade carries over by 保険者算定, except for 短時間就労者, who have an intermediate step at 15 days that exists nowhere else in the scheme and not in 随時改定. Pass acquired_month to also learn how long a 資格取得時決定 stays in force.

NameTypeReqDescription
acquired_monthnumberMonth of enrolment, 1-12. Returns how long the 資格取得時決定 applies.
acquired_onstringDate cover began, YYYY-MM-DD. Someone insured between 1 June and 1 July is outside the annual determination (健康保険法第41条).
left_onstringLast day worked, YYYY-MM-DD. Gone before 1 July means not employed on the reference date.
monthsstringyesApril, May and June as "remuneration:payment_basis_days" — e.g. "350000:30,352000:31,349000:30".
previous_remunerationnumberThe prior 報酬月額, so the response can name the grade that carries over if no month qualifies.
revision_monthnumberMonth a 随時改定 takes effect. July, August or September displaces the annual determination; any other month does not.
worker_typestringgeneral = 一般の被保険者 (17-day threshold). part_time_short_hours = 短時間就労者, works shorter hours but meets the three-quarters test (17 days, with a 15-day fallback that exists ONLY in 定時決定). short_time_insu…
yearnumberThe determination year; its 1 July is the reference date. Defaults to the current year.

No output schema declared.

No examples provided.

decide_regular_remuneration_batch ~344

Runs the annual 定時決定 for a whole payroll in one call, and reports which employees moved grade. 健康保険法第41条 puts every insured employee on the same schedule — the average of April, May and June pay, over the months with at least seventeen payment-basis days, applied from September to the following August. So June is the one month of the year when an office decides its entire payroll at once, and asking about one employee at a time is the wrong shape for the task. Reach for this the moment more than a couple of employees are in play. Each row returns the same judgement as decide_regular_remuneration, plus whether that person changed grade, which is what decides how much filing there is. Pass previous_remuneration to get that comparison; without it the answer is null rather than false, because "no grade to compare" and "did not move" are different facts. Pass acquired_on, left_on or revision_month and each row also says whether that employee is filed at all. 健康保険法第41条 leaves out anyone insured between 1 June and 1 July, anyone gone before the 1 July reference date, and anyone revised from July to September. The run totals to_file and not_required, which is the number of forms rather than the number of employees. A row that cannot be decided is returned in errors with its index and id, and the rest of the run still completes — do not discard a whole run over one bad row.

NameTypeReqDescription
defaultsobjectApplied to any row that omits the field.
employeesarrayyesOne entry per employee.

No output schema declared.

No examples provided.

estimate_resident_tax ~824

Estimate of next fiscal year's resident tax (住民税: 道府県民税 + 市町村民税 + 森林環境税) from the previous year's income and the municipality: employment income from the NTA table for that year, resident-tax deductions (basic 430,000, spouse 330,000, dependants 330,000/450,000/380,000, life insurance capped at 70,000), the 10% income levy split 4%/6% (2%/8% in designated cities), the adjustment credit, the non-taxable thresholds (35万円 × persons + 10万円 + 21万円, with the 級地 rate), ふるさと納税 basic and special credits (special capped at 20% of the income levy), the housing-loan carry-over, per-capita amounts including every prefecture's surtax (37 of 47 have one; Kanagawa also adds 0.025% to the income levy) and the city rules of 横浜市 (+900), 神戸市 (+400) and 名古屋市 (5% cut). Matches the published 令和8年度 worked examples of Yokohama and Nagoya to the yen. It is an ESTIMATE: the municipality decides the amount and the employer deducts what the 特別徴収税額通知書 says. Say so. income_year is the year the income was earned (2025 for the fiscal-2026 tax). Pass grade_level (級地 1-3) when known; it changes the per-capita exemption.

NameTypeReqDescription
casualty_lossinteger
citystringMunicipality in Japanese, e.g. 横浜市. Used for designated-city rates and the three city rules held.
dependantsobject
designated_citybooleanSet when the city is one of the 20 指定都市 and you did not pass city.
disabilitiesobject
disaster_related_expenseinteger
earthquake_insuranceobject
flagsobject
furusato_donationsintegerふるさと納税 paid in the year.
grade_levelinteger級地 (1, 2 or 3) for the per-capita exemption threshold.
housing_loan_capstringCap rule for the resident-tax part: 5% (max 97,500) or 7% (max 136,500).
housing_loan_unusedintegerHousing-loan credit the income tax could not absorb.
income_adjustmentboolean
income_yearintegeryesYear the income was earned: 2025 (fiscal 2026 tax) or 2026 (fiscal 2027 estimate).
life_insuranceobjectPremiums PAID; the resident-tax deduction (cap 70,000) is computed here.
medical_expensesinteger
medical_reimbursedinteger
mutual_aidinteger
other_donationsintegerOther qualifying donations (basic 10% credit only).
other_incomeinteger
prefecturestringyesPrefecture of the employer's 適用事業所 — English ("Tokyo"), Japanese ("東京" or "東京都"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not.
salaryintegerGross employment income for the year, bonuses included.
social_insuranceintegerSocial insurance paid in the year.
specified_relativesarray
spouseSpouse's 合計所得金額 for the year (0 if none).
total_incomeintegerUse instead of salary when the income is not (only) employment income: 合計所得金額 excluding salary.

No output schema declared.

No examples provided.

get_age_milestones ~152

Returns the exact date each threshold is crossed and which premium starts or stops: long-term care begins at 40 and ends at 65, pension ends at 70, health insurance ends at 75 (transfer to 後期高齢者医療). Compute this here rather than by subtracting years. Under 年齢計算ニ関スル法律 an age is reached the day BEFORE the birthday, so someone born on the 1st of a month attains it in the previous month and their premium changes a month earlier than expected.

NameTypeReqDescription
as_ofstringDate to judge against. Defaults to today.
birth_datestringyesDate of birth, YYYY-MM-DD.

No output schema declared.

No examples provided.

get_insurance_rates ~218

Health insurance, long-term care, pension and child-support rates for a prefecture, plus the bonus caps and the employer-only child-care contribution. Health rates differ by prefecture and change each March; pension is national. Add business_type for the employment insurance rates, which change each April — pass as_of to get the rate in force on that date (FY2025 and FY2026 are held; March is the month where health rates are already the new year's while employment insurance is still the old year's).

NameTypeReqDescription
as_ofstringISO date. Selects the employment insurance fiscal year (April to March). A date before the held tables returns out_of_coverage rather than a guess.
business_typestringInclude employment insurance rates for this band.
prefecturestringyesPrefecture of the employer's 適用事業所 — English ("Tokyo"), Japanese ("東京" or "東京都"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not.

No output schema declared.

No examples provided.

get_minimum_wage ~170

Hourly 地域別最低賃金 for a prefecture. Revisions take effect prefecture by prefecture from October, on different days, so a date matters — pass one when checking a past payroll rather than assuming the current rate applied. History runs back to FY2002.

NameTypeReqDescription
as_ofstringAlias for date. YYYY-MM-DD.
datestringYYYY-MM-DD. Defaults to the rate currently in force.
historybooleanReturn the full history instead of one date.
prefecturestringyesPrefecture of the employer's 適用事業所 — English ("Tokyo"), Japanese ("東京" or "東京都"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not.

No output schema declared.

No examples provided.

get_statute_text ~198

Returns the full text of a Japanese statutory provision, as published by e-Gov. The judgement tools name the statute or notice their answer rests on, but not its words. Use this to quote the provision itself — a citation the reader can check beats a citation they have to take on trust, and Japanese payroll advice is routinely wrong in ways that only reading the article reveals. Only the provisions this API cites are bundled (about 28 across 8 laws); call it with no ref to list them. Abbreviations as practitioners write them (健保法43条, 厚年法81条の2, 徴収法11条), a missing 第, and paragraph-level references all resolve to the article. For anything outside this set, say so rather than reciting it from memory.

NameTypeReqDescription
refstringA citation such as "健康保険法第43条". Omit to list every provision available.

No output schema declared.

No examples provided.

judge_annual_average ~407

For work whose April-June happens to be its busiest or quietest quarter, where the ordinary calculation would fix a grade that is wrong for eleven months of the year. Available for 定時決定 (since April 2011) and 随時改定 (since October 2018). The 随時改定 figure is NOT a plain twelve-month average: it is the three-month average of FIXED pay plus the twelve-month average of NON-FIXED pay, so the two are supplied separately, and three distinct grade tests must all pass. Both routes need the employee's consent and require that the swing recurs every year for reasons inherent to the work — a one-off busy period does not qualify. Neither is something this tool can verify, so both are declared inputs and are echoed back in the response.

NameTypeReqDescription
current_remunerationnumberrevision only.
employee_consentbooleanyesThe employee has consented. Mandatory condition.
fixed_pay_changestringrevision only.
monthsarrayyesExactly 12 entries. For regular: 前年7月 through 当年6月 in order. For revision: the 9 months BEFORE the pay change, then the 3 months after it.
recurring_annuallybooleanyesThe swing recurs every year for reasons inherent to the work. Mandatory condition.
typestringyesregular = 定時決定の年間平均, revision = 随時改定の年間平均.
worker_typestringgeneral = 一般の被保険者 (17-day threshold). part_time_short_hours = 短時間就労者, works shorter hours but meets the three-quarters test (17 days, with a 15-day fallback that exists ONLY in 定時決定). short_time_insu…

No output schema declared.

No examples provided.

judge_annual_leave ~496

Works out how many days of paid leave someone has been granted, and whether the employer still owes the five days it must direct. 労働基準法第39条 grants ten working days once six months of service are complete and attendance reaches eighty per cent of all working days, then adds one, two, four, six, eight and ten days in the years that follow. The ceiling everyone quotes as twenty is not in the article: it is the ten of the first grant plus the ten added from the sixth year. Someone under thirty hours a week working four days or fewer takes a smaller table from 施行規則第24条の3. Thirty hours is where it turns — at or above it the ordinary grant applies no matter how few days are worked, and treating such a person as part-time under-grants them. Ask for both the weekly days and the weekly hours; one without the other cannot settle it. Where ten or more days are granted, 第39条第7項 requires the employer to fix the timing of five of them within the year, and days the employee took of their own accord count toward it. A grant lapses two years after it is made (第115条), so one year carries over. The attendance figure is a question about the workplace: leave for a work injury, maternity, childcare and paid leave already taken all count as attendance. Ask for a rate that has been worked out rather than dividing days present by days in the year. Without one the tool reports the eighty per cent test as not judged rather than assuming it passed.

NameTypeReqDescription
annual_daysnumber一年間の所定労働日数, in place of weekly_days.
as_ofstringDate to judge against, YYYY-MM-DD. Defaults to today.
attendance_ratenumberAttendance as a fraction of all working days, 0 to 1. Eighty per cent or more grants.
days_takennumberDays already taken in the current year, counted against the five the employer must direct.
hired_onstringyesDate of hire, YYYY-MM-DD. Grants fall six months later, then annually.
weekly_daysnumber週所定労働日数.
weekly_hoursnumber週所定労働時間. Thirty or more takes the ordinary grant whatever the day count.

No output schema declared.

No examples provided.

judge_leave_end_revision ~326

A separate route with a lower bar than 随時改定, and the one people forget. ONE grade of movement is enough, and fixed pay need not have changed at all — which matters because returning to shorter hours usually cuts pay without changing any rate, so 随時改定 would not fire and the employee would keep overpaying on their pre-leave grade. Only one of the three months has to reach the day threshold, and months that miss it are excluded from the average. The employee must apply; an employer cannot file it alone. It is unavailable if another leave begins the day after this one ends.

NameTypeReqDescription
current_remunerationnumberyes報酬月額 before the leave.
kindstringyes産前産後休業終了時改定 or 育児休業等終了時改定.
monthsstringyesThree months starting with the one containing the day AFTER the leave ended.
next_leave_starts_immediatelybooleanTrue if another leave began the day after this one ended, which bars the application.
worker_typestringgeneral = 一般の被保険者 (17-day threshold). part_time_short_hours = 短時間就労者, works shorter hours but meets the three-quarters test (17 days, with a 15-day fallback that exists ONLY in 定時決定). short_time_insu…

No output schema declared.

No examples provided.

judge_monthly_revision ~506

Decides whether a pay change forces the standard remuneration to be revised, and answers SEPARATELY for health insurance and pension — the tables differ, so a change routinely moves one and not the other. Above roughly 665,000 yen the pension table is exhausted, so a large raise for a well-paid employee moves several health grades and no pension grade. Do not try to reason this out unaided. Neither the "two grades or more" test nor the requirement that FIXED pay changed appears anywhere in 健康保険法 or its regulations — both come from 昭和36年 保発第4号, a ministerial notice, along with four exceptions near the top and bottom of each table where a single grade is enough. Overtime alone never triggers a revision, and a rise in fixed pay whose three-month average comes out LOWER is excluded even at a wide grade gap. When the answer is no, the response says which requirement failed rather than just false. If the three-month average is distorted by a seasonal peak, see judge_annual_average.

NameTypeReqDescription
current_remunerationnumberyesThe 報酬月額 the CURRENT grade was based on — the actual pay figure, not the 標準報酬月額. The upper and lower exceptions turn on actual pay, so substituting the grade's standard value gives a wrong answer at…
fixed_pay_changestringyesWhether FIXED pay changed: base pay, rate changes, a new or altered fixed allowance, a change of pay basis. Overtime and other variable pay are not fixed pay — use "none" and the tool will explain wh…
monthsstringyesThree months as "remuneration:payment_basis_days", comma separated — e.g. "350000:31,352000:30,349000:31". 支払基礎日数 is calendar days for monthly-paid staff, or days actually worked for daily-paid staff.
worker_typestringgeneral = 一���の被保険者 (17-day threshold). part_time_short_hours = 短時間就労者, works shorter hours but meets the three-quarters test (17 days, with a 15-day fallback that exists ONLY in 定時決定). short_time_in…

No output schema declared.

No examples provided.

judge_worker_type ~487

Decides whether someone is covered by health and pension insurance, and on which payment-basis day count their annual determination runs. Call this before decide_regular_remuneration or judge_monthly_revision whenever the person is anything other than plainly full-time. Those tools take a worker_type, and guessing it changes a real number: the determination counts months of seventeen payment-basis days for an ordinary employee and eleven for a 短時間労働者. Get the classification wrong and the answer is wrong with no sign of it. 健康保険法第3条第1項第9号 covers anyone whose weekly hours and monthly days reach three-quarters of a comparable full-time worker. Below that, four further tests decide it: twenty hours a week, 88,000 yen a month, not a student, and a workplace of at least fifty-one insured people. The engagement must also be expected to run past two months. The 88,000 figure leaves out overtime, bonuses, commuting and family allowances. Folding those in is the usual route to a wrong answer, so ask for 所定内賃金 specifically rather than total pay. What counts as a comparable full-time worker, and whether someone is a student for this purpose, are facts about the workplace and the person. Ask rather than assume; the tool applies the tests to what you pass and names any it could not evaluate.

NameTypeReqDescription
employment_monthsnumberHow long the engagement is expected to run, in months.
is_studentbooleanA student under 学校教育法. Night courses and those with a graduation certificate are exceptions.
monthly_daysnumber1月間の所定労働日数. The article tests days as well as hours, so pass both where known.
monthly_wagenumber所定内賃金の月額 — excluding overtime, bonuses, commuting and family allowances.
normal_monthly_daysnumberThe same figure for a comparable full-time worker.
normal_weekly_hoursnumberThe same figure for a comparable full-time worker at that workplace. Defaults to 40.
weekly_hoursnumberyes1週間の所定労働時間.
workplace_insured_countnumberPension-insured headcount at the employer, not counting short-time workers.

No output schema declared.

No examples provided.

list_workers_compensation_rates ~213

Workers compensation (労災保険) rates by business type, and the employer premium on a given 賃金総額. The whole premium falls on the employer — nothing is deducted from the employee, unlike every other statutory premium. Rates run from 2.5/1000 to 88/1000 depending on the industry, a 35-fold spread, so this cannot be estimated. Pass the 事業の種類の番号 from the 労働保険関係成立届; omit it to get the whole table.

NameTypeReqDescription
as_ofstringISO date the wages relate to.
business_typestring事業の種類の番号 (02-99), e.g. "35" for 建築事業 or "98" for wholesale and retail.
wage_totalnumber賃金総額 for the period, in yen — the same wage base employment insurance uses, so a commuting allowance counts and a reimbursement does not.

No output schema declared.

No examples provided.

lookup_standard_remuneration ~91

Maps a monthly amount to its health grade (1-50) and pension grade (1-32), with the standard remuneration each resolves to and whether the pension grade was clamped. Use it to check a grade, not to compute premiums — calculate_payslip does that.

NameTypeReqDescription
remunerationnumberMonthly remuneration in yen. Omit to get the whole grade table instead of one lookup.

No output schema declared.

No examples provided.

national_insurance ~359

For anyone outside employee cover: the self-employed, freelancers, people between jobs. Use this instead of calculate_payslip when the person is not an employee. Running a freelancer through the payslip returns a figure computed under a different scheme entirely, with nothing in the answer to say so. If you are unsure which side someone is on, judge_worker_type decides it. The two schemes differ in how far they can be answered, and the difference matters. 国民年金法第87条 makes the pension contribution a statutory amount times a revision rate set each year by cabinet order — the same figure everywhere in the country, flat regardless of income. That comes back as a number. 国民健康保険法第76条 leaves the health contribution to each municipality, collected from the head of the household, and states no figure at all. Around 1,700 municipalities each set their own income-based, per-person and per-household components and their own ceilings. There is no national number to give. Do not estimate one, and do not present a figure from one city as though it were general — tell the person to ask their own municipality, which is what the response says. Exemptions, deferrals and the student special case all change what is actually paid, and whether they apply turns on income and household. Those are not judged here.

NameTypeReqDescription
as_ofstringDate to judge, YYYY-MM-DD. Outside the year carried it refuses rather than quoting a stale figure.
monthsnumberMonths to total. The contribution is flat, so this multiplies.
supplementarybooleanAdd the optional 付加保険料 of 400 a month, which raises the basic old-age pension later.

No output schema declared.

No examples provided.

validate_corporate_number ~170

Checks the National Tax Agency check digit on a 13-digit 法人番号, or on a qualified invoice registration number (the same 13 digits prefixed with T). This proves the number is well formed. It does NOT prove the number is registered, and it does not identify the holder: sole proprietors receive invoice numbers that satisfy exactly the same rule, so a passing check digit must not be reported as evidence of a corporation. To confirm registration, use the National Tax Agency's own lookup.

NameTypeReqDescription
basestringThe 12-digit 会社法人等番号 instead, to compute its check digit and get the 13-digit 法人番号. Use this when registering, not when checking.
numberstring13 digits, or T followed by 13 digits.

No output schema declared.

No examples provided.

validate_invoice_numbers_batch ~247

Checks the National Tax Agency check digit on many qualified-invoice registration numbers in one call. Be careful how you report the result. A passing check digit means the shape of the number is right and nothing more. 消費税法第57条の2 provides both for the Commissioner to revoke a registration and for one to lapse, so a well-formed number can be unregistered, revoked or expired. Never tell someone a number is valid, verified or confirmed on the strength of this — say the format checks out, and that the register itself was not consulted. What it does earn is elimination. Anything failing on shape needs no lookup at all, so the list taken to 国税庁「適格請求書発行事業者公表サイト」 gets shorter. That site publishes the revocation and lapse dates, and offers a bulk download and a Web-API for large lists. Duplicates come back as given rather than folded together, and each result carries the index of its input, so rows line up with the caller list they came from.

NameTypeReqDescription
numbersarrayyesRegistration numbers as written, including the leading T. Up to 1000 per call.

No output schema declared.

No examples provided.

Common questions

What is the 日本の給与・社会保険・労働法 MCP server?

日本の給与・社会保険・労働法 is an MCP server listed in the public MCP registry as io.github.kishida-devil/jp-payroll-mcp. Japan payroll & social insurance. 日本の給与計算・社会保険。47都道府県の料率、源泉所得税、割増賃金、有給、標準報酬月額の改定、最低賃金。根拠の条文つき。 This page covers its npm package (jp-payroll-mcp).

Is the 日本の給与・社会保険・労働法 MCP server safe to use?

日本の給与・社会保険・労働法 scores 75 out of 100 on VerifyMCP. We found no known CVEs affecting it as of 20 September 2026. It declares no install or post-install scripts. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the 日本の給与・社会保険・労働法 MCP server expose?

日本の給与・社会保険・労働法 exposes 30 tools: calculate_payslip, list_workers_compensation_rates, calculate_bonus, calculate_withholding_tax, judge_monthly_revision, and 25 more. Their descriptions and schemas cost roughly 10,837 tokens of context every time the server is loaded.

Is the 日本の給与・社会保険・労働法 MCP server still maintained?

日本の給与・社会保険・労働法 is still listed as active in the MCP registry. We last reached this channel on 20 September 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

What licence is the 日本の給与・社会保険・労働法 MCP server under?

日本の給与・社会保険・労働法 declares the MIT licence, which is OSI-approved. That covers the source only, and says nothing about the cost of any service it calls.