{"name":"io.github.kishida-devil/jp-payroll-mcp","slug":"kishida-devil-jp-payroll-mcp","title":"日本の給与・社会保険・労働法","description":"Japan payroll & social insurance. 日本の給与計算・社会保険。47都道府県の料率、源泉所得税、割増賃金、有給、標準報酬月額の改定、最低賃金。根拠の条文つき。","url":"https://mcp.market/server/kishida-devil-jp-payroll-mcp","rating":null,"grade":"B","score":84,"certified":false,"status":"active","category":"other","tags":[],"presence":{"score":33,"stars":2,"forks":0,"downloads_week":60,"last_push_at":"2026-09-03T23:45:33.000Z","license":"MIT"},"uptime":{"percent":100,"checks":6,"ok":6,"last_checked_at":"2026-09-20T22:26:10.142Z","last_ok_at":"2026-09-20T22:26:10.142Z","latency_ms":335},"claimed":false,"transport":"mixed","callable_via_gateway":true,"default_price_micros":0,"repository":"https://github.com/kishida-devil/jp-payroll-mcp","website":null,"version":"0.4.5","remotes":[{"type":"streamable-http","url":"https://japan-payroll-api.tsumugi.workers.dev/mcp"}],"packages":[{"registryType":"npm","identifier":"jp-payroll-mcp","version":"0.4.5","transport":{"type":"stdio"}}],"tools":[{"name":"business_days","description":"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.\n\nSet calendar to \"bank\" for the statutory banking calendar (銀行法施行令第5条), which is also closed 31 December to 3 January — relevant for payment due dates.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"operation":{"type":"string","enum":["count","shift","check","list"],"description":"count = business days between two dates; shift = move a date by N business days; check = classify one date; list = holidays in a year or range."},"from":{"description":"Start date, YYYY-MM-DD. For count and list.","type":"string"},"to":{"description":"End date, YYYY-MM-DD. For count and list.","type":"string"},"date":{"description":"The date, YYYY-MM-DD. For shift and check.","type":"string"},"days":{"description":"Business days to move; negative goes back. For shift.","type":"number"},"year":{"description":"Year. For list.","type":"number"},"calendar":{"description":"Defaults to standard.","type":"string","enum":["standard","bank"]}},"required":["operation"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"calculate_annual_cost","description":"What one employee costs an employer over a year, bonuses included.\n\nReach 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.\n\nPass 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.\n\nIncome 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"prefecture":{"type":"string","description":"Prefecture of the employer's 適用事業所 — English (\"Tokyo\"), Japanese (\"東京\" or \"東京都\"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not."},"monthly_salary":{"type":"number","description":"Gross monthly pay in yen."},"age":{"description":"Either this or birth_date is required.","type":"number"},"birth_date":{"description":"Date 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 previous month and their premium changes a month earlier than a naive calculation gives.","type":"string"},"bonuses":{"description":"Each bonus in yen, in the order paid. The health cap fills from the first.","type":"array","items":{"type":"number"}},"fiscal_year":{"description":"Year the 1 April to 31 March window starts. Defaults from the current date.","type":"number"},"standard_remuneration":{"description":"The 標準報酬月額 fixed by 算定基礎届, if known. Without it the grade is derived from the pay given.","type":"number"},"workers_comp_type":{"description":"事業の種類の番号. Charged on bonuses as well, being levied on total wages.","type":"string"},"business_type":{"type":"string","enum":["general","agriculture_forestry_fishery_sake","construction"]},"dependants":{"type":"number"},"resident_tax":{"description":"Monthly resident tax, multiplied by twelve as given. It is never derived here.","type":"number"}},"required":["prefecture","monthly_salary"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"calculate_bonus","description":"Premiums and income tax on a 賞与. Both work differently from monthly pay and are routinely got wrong.\n\nPremiums 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.\n\nWithholding tax on a bonus is derived from the PREVIOUS month's pay, not from the bonus itself. Set include_tax to also compute it.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"prefecture":{"type":"string","description":"Prefecture of the employer's 適用事業所 — English (\"Tokyo\"), Japanese (\"東京\" or \"東京都\"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not."},"bonus":{"type":"number","description":"Gross bonus in yen."},"fiscal_year_to_date":{"description":"標準賞与額 already paid since 1 April this fiscal year. Needed for the annual health cap.","type":"number"},"age":{"description":"Age in years. Either this or birth_date is required. Prefer birth_date.","type":"number"},"birth_date":{"description":"Date 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 previous month and their premium changes a month earlier than a naive calculation gives.","type":"string"},"as_of":{"description":"YYYY-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.","type":"string"},"column":{"description":"Withholding column for the tax half: 甲 when a 扶養控除等申告書 was filed (the normal case), 乙 when it was not. 乙 has its own rate table. Defaults to 甲.","type":"string","enum":["kou","otsu"]},"include_tax":{"description":"Also compute withholding tax. Requires previous_month_pay.","type":"boolean"},"previous_month_pay":{"description":"Gross pay in the month before the bonus. The tax rate is derived from this.","type":"number"},"previous_month_insurance":{"description":"Social insurance deducted from that previous month's pay.","type":"number"},"dependants":{"type":"number"}},"required":["prefecture","bonus"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"calculate_overtime_pay","description":"Works out statutory premium pay under 労働基準法第37条 — overtime, night work and work on a statutory holiday.\n\nThe 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.\n\nRounding 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.\n\nbase_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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"base_monthly_pay":{"type":"number","description":"Monthly pay forming the premium base, after removing any of the seven excludable allowances."},"monthly_scheduled_hours":{"type":"number","description":"月平均所定労働時間 — annual scheduled working days times daily hours, divided by twelve."},"overtime_hours":{"description":"Statutory overtime hours, excluding work on a statutory holiday.","type":"number"},"night_hours":{"description":"How many of those hours fell between 22:00 and 05:00.","type":"number"},"holiday_hours":{"description":"Hours worked on a statutory holiday.","type":"number"},"holiday_night_hours":{"description":"How many of those fell between 22:00 and 05:00.","type":"number"}},"required":["base_monthly_pay","monthly_scheduled_hours"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"calculate_payroll_batch","description":"Runs calculate_payslip for many employees in one call and returns the run totals: gross, employee deductions, net, and employer cost.\n\nReach 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.\n\nPut 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.\n\nThe 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"employees":{"type":"array","items":{"type":"object","properties":{"id":{"description":"Echoed back on the result and on any error.","type":"string"},"monthly_salary":{"type":"number","description":"Gross monthly pay in yen, before any deduction."},"prefecture":{"description":"Overrides defaults.prefecture for this row.","type":"string"},"age":{"type":"number"},"birth_date":{"description":"YYYY-MM-DD. Preferred over age.","type":"string"},"business_type":{"type":"string"},"column":{"type":"string","enum":["kou","otsu"]},"dependants":{"type":"number"},"income_tax":{"type":"boolean"},"resident_tax":{"type":"number"},"workers_comp_type":{"type":"string"},"employment_type":{"type":"string","enum":["employee","director","director_employee"]},"standard_remuneration":{"description":"The 標準報酬月額 already fixed for this person. 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.","type":"number"}},"required":["monthly_salary"]},"description":"One entry per employee. Up to 500 on a paid plan, 10 on the free tier."},"defaults":{"description":"Applied to any row that leaves the field out.","type":"object","properties":{"prefecture":{"type":"string"},"age":{"type":"number"},"business_type":{"type":"string"},"column":{"type":"string","enum":["kou","otsu"]},"dependants":{"type":"number"},"income_tax":{"type":"boolean"},"resident_tax":{"type":"number"},"workers_comp_type":{"type":"string"}}},"compact":{"description":"Drop 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\".","type":"boolean"}},"required":["employees"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"calculate_payslip","description":"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.\n\nUse 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"prefecture":{"type":"string","description":"Prefecture of the employer's 適用事業所 — English (\"Tokyo\"), Japanese (\"東京\" or \"東京都\"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not."},"monthly_salary":{"type":"number","description":"Gross monthly pay in yen, before any deduction."},"age":{"description":"Age 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.","type":"number"},"birth_date":{"description":"Date 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 previous month and their premium changes a month earlier than a naive calculation gives.","type":"string"},"dependants":{"description":"源泉控除対象親族の数. Defaults to 0.","type":"number"},"column":{"description":"甲 if the employee filed a 扶養控除等申告書 (the normal case), 乙 if not. Defaults to 甲.","type":"string","enum":["kou","otsu"]},"business_type":{"description":"Employment insurance rate band. Defaults to general.","type":"string","enum":["general","agriculture_forestry_fishery_sake","construction"]},"resident_tax":{"description":"Resident 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 特別徴収税額通知書.","type":"number"},"income_tax":{"description":"Set false to skip withholding tax. Defaults to true.","type":"boolean"},"standard_remuneration":{"description":"The 標準報酬月額 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 369,469 in a busy month is over-deducted by 8,445 yen. decide_regular_determination returns the right figure.","type":"number"},"employment_type":{"description":"役員 are not employment-insurance insured (雇用保険法第4条). Pass \"director\" for a company officer, or the premium comes out too high. Defaults to employee.","type":"string","enum":["employee","director","director_employee"]},"commuting_allowance":{"description":"Commuting 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_salary: doing so taxes it, and leaving it out understates the premiums. The split comes back in earnings.items.","type":"number"},"commuting_distance_km":{"description":"One-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.","type":"number"},"commuting_parking":{"description":"Monthly 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 commutes only by train.","type":"number"},"commuting_fare":{"description":"Reasonable 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.","type":"number"},"workers_comp_type":{"description":"労災保険 事業の種類の番号, 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 and there is no safe default. list_workers_compensation_rates has the table.","type":"string"},"as_of":{"description":"The 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 with next-month deduction pass a date in the month before the pay date. Drives the age milestones and picks the rate table; a date outside the published period returns 422 rather than the current table.","type":"string"}},"required":["prefecture","monthly_salary"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"calculate_withholding_tax","description":"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.\n\nPick 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"taxable_amount":{"type":"number","description":"Pay after social insurance, in yen."},"period":{"description":"Defaults to monthly.","type":"string","enum":["monthly","daily"]},"column":{"description":"甲/乙, plus 丙 for the daily table only. Defaults to 甲.","type":"string","enum":["kou","otsu","hei"]},"spouse":{"description":"Only 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.","type":"boolean"},"dependants":{"type":"number"},"method":{"description":"\"computer\" selects the statutory formula method. Monthly only. Defaults to table.","type":"string","enum":["table","computer"]}},"required":["taxable_amount"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"calculate_year_end_adjustment","description":"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.\n\nPay 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"total_pay":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Total pay for the year including bonuses (⑦)."},"withheld_tax":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Income tax withheld during the year (⑧)."},"social_insurance":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Social insurance premiums deducted from pay during the year (⑫)."},"social_insurance_declared":{"description":"Social insurance the employee paid themselves and declared, e.g. 国民年金 (⑬).","type":"integer","minimum":0,"maximum":9007199254740991},"mutual_aid":{"description":"小規模企業共済等掛金 (⑭).","type":"integer","minimum":0,"maximum":9007199254740991},"life_insurance":{"description":"Premiums PAID this year by category (new = contracts from 2012-01-01). The deduction is computed here.","type":"object","properties":{"new_general":{"type":"integer","minimum":0,"maximum":9007199254740991},"old_general":{"type":"integer","minimum":0,"maximum":9007199254740991},"care_medical":{"type":"integer","minimum":0,"maximum":9007199254740991},"new_pension":{"type":"integer","minimum":0,"maximum":9007199254740991},"old_pension":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"earthquake_insurance":{"description":"Earthquake insurance and 旧長期損害保険 premiums paid.","type":"object","properties":{"earthquake":{"type":"integer","minimum":0,"maximum":9007199254740991},"old_long_term":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"spouse":{"anyOf":[{"type":"object","properties":{"income":{"type":"integer","minimum":0,"maximum":9007199254740991,"description":"Spouse's 合計所得金額 (not gross pay)."},"age_70_or_over":{"type":"boolean"}},"required":["income"]},{"type":"null"}]},"dependants":{"type":"object","properties":{"general":{"description":"一般の控除対象扶養親族 (16+ excluding the categories below).","type":"integer","minimum":0,"maximum":9007199254740991},"specified":{"description":"特定扶養親族 (19-22, income ≤ 620,000).","type":"integer","minimum":0,"maximum":9007199254740991},"elderly":{"description":"老人扶養親族 (70+) not a cohabiting parent.","type":"integer","minimum":0,"maximum":9007199254740991},"elderly_cohabiting_parent":{"description":"同居老親等.","type":"integer","minimum":0,"maximum":9007199254740991},"under_23":{"description":"Dependants under 23. Drives the income-adjustment deduction and the life-insurance special rule.","type":"integer","minimum":0,"maximum":9007199254740991}}},"disabilities":{"description":"Counts of 障害者 / 特別障害者 / 同居特別障害者 among the employee, spouse and dependants.","type":"object","properties":{"general":{"type":"integer","minimum":0,"maximum":9007199254740991},"special":{"type":"integer","minimum":0,"maximum":9007199254740991},"special_cohabiting":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"flags":{"type":"object","properties":{"widow":{"type":"boolean"},"single_parent":{"type":"boolean"},"working_student":{"type":"boolean"},"self_special_disabled":{"type":"boolean"}}},"specified_relatives":{"description":"特定親族 (19-22 with 合計所得金額 over 620,000): one income figure per person.","type":"array","items":{"type":"integer","minimum":0,"maximum":9007199254740991}},"housing_loan_credit":{"description":"住宅借入金等特別控除額 (㉔), from the certificate.","type":"integer","minimum":0,"maximum":9007199254740991},"other_income":{"description":"Income other than this pay, for the basic and spouse deduction bands.","type":"integer","minimum":0,"maximum":9007199254740991},"income_adjustment":{"description":"Force the 所得金額調整控除 on or off. Omit to derive it from pay > 8,500,000 and the under_23 / disability inputs.","type":"boolean"},"tax_return":{"description":"Deductions 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.","type":"object","properties":{"medical_expenses":{"type":"integer","minimum":0,"maximum":9007199254740991},"medical_reimbursed":{"type":"integer","minimum":0,"maximum":9007199254740991},"self_medication":{"type":"integer","minimum":0,"maximum":9007199254740991},"donations":{"type":"integer","minimum":0,"maximum":9007199254740991},"casualty_loss":{"type":"integer","minimum":0,"maximum":9007199254740991},"disaster_related_expense":{"type":"integer","minimum":0,"maximum":9007199254740991}}}},"required":["total_pay","withheld_tax","social_insurance"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"check_data_freshness","description":"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.\n\nWorth calling before relying on a figure for a filing, and whenever a result is being checked against a date near one of those boundaries.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"check_insurance_eligibility","description":"The single most expensive month-end mistake in Japanese payroll, and one an assistant will get wrong from memory.\n\nCoverage 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"month":{"description":"Month to judge, YYYY-MM or a full date. Defaults to today.","type":"string"},"joined_on":{"description":"First day of employment, YYYY-MM-DD.","type":"string"},"left_on":{"description":"Last day actually worked, YYYY-MM-DD — not the day after.","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"check_leave_exemption","description":"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.\n\nTwo 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"kind":{"type":"string","enum":["maternity","childcare"],"description":"産前産後休業 or 育児休業等."},"start":{"type":"string","description":"First day of leave, YYYY-MM-DD."},"end":{"type":"string","description":"Last day of leave, YYYY-MM-DD."},"worked_days":{"description":"出生時育児休業 only: days worked during the leave, which come off the 14-day count.","type":"number"}},"required":["kind","start","end"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"commuting_allowance_exemption","description":"Works out how much of a commuting allowance escapes income tax, and states the amount that still counts as remuneration for social insurance.\n\nThese 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.\n\nThe 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.\n\nDo 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"amount":{"description":"The commuting allowance actually paid, yen per month. Omit to get the whole table.","type":"number"},"distance_km":{"description":"One-way distance for a commute by car or bicycle. Under 2km nothing is exempt.","type":"number"},"fare":{"description":"Reasonable fare or toll paid alongside a vehicle commute.","type":"number"},"parking":{"description":"Monthly parking cost the employee bears. Added to the distance band, up to 5,000. Needs distance_km.","type":"number"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"consumption_tax","description":"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.\n\nJapan 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"as_of":{"description":"Alias for date. YYYY-MM-DD.","type":"string"},"date":{"description":"YYYY-MM-DD. The rate in force on that day. Defaults to today.","type":"string"},"amount":{"description":"Tax-exclusive amount in yen, to compute the tax.","type":"number"},"reduced":{"description":"True for the 8% reduced rate — food and drink excluding alcohol and eating out, and subscribed newspapers issued twice a week or more (平成28年法律第15号).","type":"boolean"},"history":{"description":"Return every rate change since 1989 instead of one date.","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"decide_regular_remuneration","description":"The yearly redetermination of standard remuneration, effective each September through the following August.\n\nMonths 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 随時改定.\n\nPass acquired_month to also learn how long a 資格取得時決定 stays in force.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"months":{"type":"string","description":"April, May and June as \"remuneration:payment_basis_days\" — e.g. \"350000:30,352000:31,349000:30\"."},"worker_type":{"description":"general = 一般の被保険者 (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_insured = 短時間労働者 at a 特定適用事業所 (11 days). Defaults to general.","type":"string","enum":["general","part_time_short_hours","short_time_insured"]},"year":{"description":"The determination year; its 1 July is the reference date. Defaults to the current year.","type":"number"},"acquired_on":{"description":"Date cover began, YYYY-MM-DD. Someone insured between 1 June and 1 July is outside the annual determination (健康保険法第41条).","type":"string"},"left_on":{"description":"Last day worked, YYYY-MM-DD. Gone before 1 July means not employed on the reference date.","type":"string"},"revision_month":{"description":"Month a 随時改定 takes effect. July, August or September displaces the annual determination; any other month does not.","type":"number"},"previous_remuneration":{"description":"The prior 報酬月額, so the response can name the grade that carries over if no month qualifies.","type":"number"},"acquired_month":{"description":"Month of enrolment, 1-12. Returns how long the 資格取得時決定 applies.","type":"number"}},"required":["months"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"decide_regular_remuneration_batch","description":"Runs the annual 定時決定 for a whole payroll in one call, and reports which employees moved grade.\n\n健康保険法第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.\n\nReach 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.\n\nPass 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.","write_action":true,"price_micros":0,"input_schema":{"type":"object","properties":{"employees":{"type":"array","items":{"type":"object","properties":{"id":{"description":"Echoed back on the result and on any error.","type":"string"},"months":{"type":"array","items":{"type":"object","properties":{"remuneration":{"type":"number","description":"Total pay for that month, in yen."},"payment_basis_days":{"type":"number","description":"支払基礎日数 for that month."}},"required":["remuneration","payment_basis_days"]},"description":"Exactly three entries: April, May and June, in that order."},"worker_type":{"type":"string","enum":["general","part_time_short_hours","short_time_insured"]},"previous_remuneration":{"description":"The 標準報酬月額 in force before this determination, so the result can say whether it moved.","type":"number"},"acquired_on":{"description":"Date cover began, YYYY-MM-DD. Between 1 June and 1 July is outside the determination.","type":"string"},"left_on":{"description":"Last day worked, YYYY-MM-DD. Gone before 1 July means not filed.","type":"string"},"revision_month":{"description":"Month a 随時改定 takes effect. July to September displaces the determination.","type":"number"}},"required":["months"]},"description":"One entry per employee."},"defaults":{"description":"Applied to any row that omits the field.","type":"object","properties":{"year":{"description":"The determination year. Defaults to the current year.","type":"number"},"worker_type":{"type":"string","enum":["general","part_time_short_hours","short_time_insured"]},"previous_remuneration":{"type":"number"}}}},"required":["employees"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"estimate_resident_tax","description":"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.\n\nIt 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"prefecture":{"type":"string","description":"Prefecture of the employer's 適用事業所 — English (\"Tokyo\"), Japanese (\"東京\" or \"東京都\"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not."},"city":{"description":"Municipality in Japanese, e.g. 横浜市. Used for designated-city rates and the three city rules held.","type":"string"},"designated_city":{"description":"Set when the city is one of the 20 指定都市 and you did not pass city.","type":"boolean"},"grade_level":{"description":"級地 (1, 2 or 3) for the per-capita exemption threshold.","type":"integer","minimum":1,"maximum":3},"income_year":{"type":"integer","minimum":-9007199254740991,"maximum":9007199254740991,"description":"Year the income was earned: 2025 (fiscal 2026 tax) or 2026 (fiscal 2027 estimate)."},"salary":{"description":"Gross employment income for the year, bonuses included.","type":"integer","minimum":0,"maximum":9007199254740991},"total_income":{"description":"Use instead of salary when the income is not (only) employment income: 合計所得金額 excluding salary.","type":"integer","minimum":0,"maximum":9007199254740991},"other_income":{"type":"integer","minimum":0,"maximum":9007199254740991},"social_insurance":{"description":"Social insurance paid in the year.","type":"integer","minimum":0,"maximum":9007199254740991},"mutual_aid":{"type":"integer","minimum":0,"maximum":9007199254740991},"life_insurance":{"description":"Premiums PAID; the resident-tax deduction (cap 70,000) is computed here.","type":"object","properties":{"new_general":{"type":"integer","minimum":0,"maximum":9007199254740991},"old_general":{"type":"integer","minimum":0,"maximum":9007199254740991},"care_medical":{"type":"integer","minimum":0,"maximum":9007199254740991},"new_pension":{"type":"integer","minimum":0,"maximum":9007199254740991},"old_pension":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"earthquake_insurance":{"type":"object","properties":{"earthquake":{"type":"integer","minimum":0,"maximum":9007199254740991},"old_long_term":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"medical_expenses":{"type":"integer","minimum":0,"maximum":9007199254740991},"medical_reimbursed":{"type":"integer","minimum":0,"maximum":9007199254740991},"casualty_loss":{"type":"integer","minimum":0,"maximum":9007199254740991},"disaster_related_expense":{"type":"integer","minimum":0,"maximum":9007199254740991},"spouse":{"description":"Spouse's 合計所得金額 for the year (0 if none).","anyOf":[{"type":"object","properties":{"income":{"type":"integer","minimum":0,"maximum":9007199254740991},"age_70_or_over":{"type":"boolean"}},"required":["income"]},{"type":"null"}]},"dependants":{"type":"object","properties":{"general":{"type":"integer","minimum":0,"maximum":9007199254740991},"specified":{"type":"integer","minimum":0,"maximum":9007199254740991},"elderly":{"type":"integer","minimum":0,"maximum":9007199254740991},"elderly_cohabiting_parent":{"type":"integer","minimum":0,"maximum":9007199254740991},"under_23":{"type":"integer","minimum":0,"maximum":9007199254740991},"under_16":{"description":"Dependants under 16: no deduction, but they count for the exemption thresholds.","type":"integer","minimum":0,"maximum":9007199254740991}}},"disabilities":{"type":"object","properties":{"general":{"type":"integer","minimum":0,"maximum":9007199254740991},"special":{"type":"integer","minimum":0,"maximum":9007199254740991},"special_cohabiting":{"type":"integer","minimum":0,"maximum":9007199254740991}}},"flags":{"type":"object","properties":{"widow":{"type":"boolean"},"single_parent":{"type":"boolean"},"single_parent_father":{"type":"boolean"},"working_student":{"type":"boolean"},"self_special_disabled":{"type":"boolean"},"minor":{"type":"boolean"}}},"specified_relatives":{"type":"array","items":{"type":"integer","minimum":0,"maximum":9007199254740991}},"income_adjustment":{"type":"boolean"},"furusato_donations":{"description":"ふるさと納税 paid in the year.","type":"integer","minimum":0,"maximum":9007199254740991},"other_donations":{"description":"Other qualifying donations (basic 10% credit only).","type":"integer","minimum":0,"maximum":9007199254740991},"housing_loan_unused":{"description":"Housing-loan credit the income tax could not absorb.","type":"integer","minimum":0,"maximum":9007199254740991},"housing_loan_cap":{"description":"Cap rule for the resident-tax part: 5% (max 97,500) or 7% (max 136,500).","type":"string","enum":["five_percent","seven_percent"]}},"required":["prefecture","income_year"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_age_milestones","description":"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 後期高齢者医療).\n\nCompute 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"birth_date":{"type":"string","description":"Date of birth, YYYY-MM-DD."},"as_of":{"description":"Date to judge against. Defaults to today.","type":"string"}},"required":["birth_date"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_insurance_rates","description":"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).","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"prefecture":{"type":"string","description":"Prefecture of the employer's 適用事業所 — English (\"Tokyo\"), Japanese (\"東京\" or \"東京都\"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not."},"business_type":{"description":"Include employment insurance rates for this band.","type":"string","enum":["general","agriculture_forestry_fishery_sake","construction"]},"as_of":{"description":"ISO date. Selects the employment insurance fiscal year (April to March). A date before the held tables returns out_of_coverage rather than a guess.","type":"string"}},"required":["prefecture"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_minimum_wage","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"prefecture":{"type":"string","description":"Prefecture of the employer's 適用事業所 — English (\"Tokyo\"), Japanese (\"東京\" or \"東京都\"), or JIS code 1-47. Health insurance rates differ by prefecture; pension does not."},"date":{"description":"YYYY-MM-DD. Defaults to the rate currently in force.","type":"string"},"as_of":{"description":"Alias for date. YYYY-MM-DD.","type":"string"},"history":{"description":"Return the full history instead of one date.","type":"boolean"}},"required":["prefecture"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"get_statute_text","description":"Returns the full text of a Japanese statutory provision, as published by e-Gov.\n\nThe 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.\n\nOnly 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"ref":{"description":"A citation such as \"健康保険法第43条\". Omit to list every provision available.","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"judge_annual_average","description":"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).\n\nThe 随時改定 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.\n\nBoth 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"type":{"type":"string","enum":["regular","revision"],"description":"regular = 定時決定の年間平均, revision = 随時改定の年間平均."},"months":{"type":"array","items":{"type":"object","properties":{"month":{"description":"YYYY-MM, for readability.","type":"string"},"remuneration":{"description":"regular only: total pay that month.","type":"number"},"fixed":{"description":"revision only: fixed pay that month.","type":"number"},"non_fixed":{"description":"revision only: overtime and other variable pay.","type":"number"},"payment_basis_days":{"type":"number"}},"required":["payment_basis_days"]},"description":"Exactly 12 entries. For regular: 前年7月 through 当年6月 in order. For revision: the 9 months BEFORE the pay change, then the 3 months after it."},"current_remuneration":{"description":"revision only.","type":"number"},"fixed_pay_change":{"description":"revision only.","type":"string","enum":["increase","decrease"]},"worker_type":{"description":"general = 一般の被保険者 (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_insured = 短時間労働者 at a 特定適用事業所 (11 days). Defaults to general.","type":"string","enum":["general","part_time_short_hours","short_time_insured"]},"recurring_annually":{"type":"boolean","description":"The swing recurs every year for reasons inherent to the work. Mandatory condition."},"employee_consent":{"type":"boolean","description":"The employee has consented. Mandatory condition."}},"required":["type","months","recurring_annually","employee_consent"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"judge_annual_leave","description":"Works out how many days of paid leave someone has been granted, and whether the employer still owes the five days it must direct.\n\n労働基準法第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.\n\nSomeone 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.\n\nWhere 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.\n\nThe 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"hired_on":{"type":"string","description":"Date of hire, YYYY-MM-DD. Grants fall six months later, then annually."},"as_of":{"description":"Date to judge against, YYYY-MM-DD. Defaults to today.","type":"string"},"attendance_rate":{"description":"Attendance as a fraction of all working days, 0 to 1. Eighty per cent or more grants.","type":"number"},"weekly_days":{"description":"週所定労働日数.","type":"number"},"weekly_hours":{"description":"週所定労働時間. Thirty or more takes the ordinary grant whatever the day count.","type":"number"},"annual_days":{"description":"一年間の所定労働日数, in place of weekly_days.","type":"number"},"days_taken":{"description":"Days already taken in the current year, counted against the five the employer must direct.","type":"number"}},"required":["hired_on"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"judge_leave_end_revision","description":"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.\n\nOnly 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"kind":{"type":"string","enum":["maternity","childcare"],"description":"産前産後休業終了時改定 or 育児休業等終了時改定."},"current_remuneration":{"type":"number","description":"報酬月額 before the leave."},"months":{"type":"string","description":"Three months starting with the one containing the day AFTER the leave ended."},"worker_type":{"description":"general = 一般の被保険者 (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_insured = 短時間労働者 at a 特定適用事業所 (11 days). Defaults to general.","type":"string","enum":["general","part_time_short_hours","short_time_insured"]},"next_leave_starts_immediately":{"description":"True if another leave began the day after this one ended, which bars the application.","type":"boolean"}},"required":["kind","current_remuneration","months"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"judge_monthly_revision","description":"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.\n\nDo 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.\n\nWhen 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"current_remuneration":{"type":"number","description":"The 報酬月額 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 the extremes."},"months":{"type":"string","description":"Three 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."},"fixed_pay_change":{"type":"string","enum":["increase","decrease","none"],"description":"Whether 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 why no revision follows."},"worker_type":{"description":"general = 一般の被保険者 (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_insured = 短時間労働者 at a 特定適用事業所 (11 days). Defaults to general.","type":"string","enum":["general","part_time_short_hours","short_time_insured"]}},"required":["current_remuneration","months","fixed_pay_change"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"judge_worker_type","description":"Decides whether someone is covered by health and pension insurance, and on which payment-basis day count their annual determination runs.\n\nCall 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.\n\n健康保険法第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.\n\nThe 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.\n\nWhat 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"weekly_hours":{"type":"number","description":"1週間の所定労働時間."},"normal_weekly_hours":{"description":"The same figure for a comparable full-time worker at that workplace. Defaults to 40.","type":"number"},"monthly_days":{"description":"1月間の所定労働日数. The article tests days as well as hours, so pass both where known.","type":"number"},"normal_monthly_days":{"description":"The same figure for a comparable full-time worker.","type":"number"},"monthly_wage":{"description":"所定内賃金の月額 — excluding overtime, bonuses, commuting and family allowances.","type":"number"},"is_student":{"description":"A student under 学校教育法. Night courses and those with a graduation certificate are exceptions.","type":"boolean"},"workplace_insured_count":{"description":"Pension-insured headcount at the employer, not counting short-time workers.","type":"number"},"employment_months":{"description":"How long the engagement is expected to run, in months.","type":"number"}},"required":["weekly_hours"],"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"list_workers_compensation_rates","description":"Workers compensation (労災保険) rates by business type, and the employer premium on a given 賃金総額.\n\nThe 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"business_type":{"description":"事業の種類の番号 (02-99), e.g. \"35\" for 建築事業 or \"98\" for wholesale and retail.","type":"string"},"wage_total":{"description":"賃金総額 for the period, in yen — the same wage base employment insurance uses, so a commuting allowance counts and a reimbursement does not.","type":"number"},"as_of":{"description":"ISO date the wages relate to.","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"lookup_standard_remuneration","description":"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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"remuneration":{"description":"Monthly remuneration in yen. Omit to get the whole grade table instead of one lookup.","type":"number"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"national_insurance","description":"For anyone outside employee cover: the self-employed, freelancers, people between jobs.\n\nUse 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.\n\nThe 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.\n\n国民健康保険法第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.\n\nExemptions, 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"as_of":{"description":"Date to judge, YYYY-MM-DD. Outside the year carried it refuses rather than quoting a stale figure.","type":"string"},"months":{"description":"Months to total. The contribution is flat, so this multiplies.","type":"number"},"supplementary":{"description":"Add the optional 付加保険料 of 400 a month, which raises the basic old-age pension later.","type":"boolean"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"validate_corporate_number","description":"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).\n\nThis 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"number":{"description":"13 digits, or T followed by 13 digits.","type":"string"},"base":{"description":"The 12-digit 会社法人等番号 instead, to compute its check digit and get the 13-digit 法人番号. Use this when registering, not when checking.","type":"string"}},"$schema":"http://json-schema.org/draft-07/schema#"}},{"name":"validate_invoice_numbers_batch","description":"Checks the National Tax Agency check digit on many qualified-invoice registration numbers in one call.\n\nBe 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.\n\nWhat 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.\n\nDuplicates 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.","write_action":false,"price_micros":0,"input_schema":{"type":"object","properties":{"numbers":{"type":"array","items":{"type":"string"},"description":"Registration numbers as written, including the leading T. Up to 1000 per call."}},"required":["numbers"],"$schema":"http://json-schema.org/draft-07/schema#"}}],"scan":{"score":84,"grade":"B","scanned_at":"2026-09-20T16:18:36.809Z","report":{"scannerVersion":"0.1.9","scannedAt":"2026-09-20T16:18:36.697Z","components":{"code":{"score":25,"max":25,"notes":["2 source files scanned"]},"reliability":{"score":20,"max":20,"notes":["remote reachable in 857ms"]},"poisoning":{"score":15,"max":15,"notes":["30 tool descriptions checked"]},"auth":{"score":3,"max":15,"notes":["open endpoint exposes 3 write-action tools with no auth"]},"maintenance":{"score":15,"max":15,"notes":["last push 17 days ago"]},"identity":{"score":6,"max":10,"notes":["registry namespace matches repository owner"]}},"findings":[{"id":"auth.open-write","severity":"high","component":"auth","title":"Write-action tools reachable without authentication"}],"inputs":{"probes":[{"url":"https://japan-payroll-api.tsumugi.workers.dev/mcp","reachable":true,"authRequired":false,"latencyMs":857,"serverInfo":{"name":"jp-payroll","version":"0.4.5"}}],"packages":[{"registryType":"npm","identifier":"jp-payroll-mcp","version":"0.4.5","found":true,"license":"MIT","hasInstallScripts":false,"dependencyCount":2,"publishedAt":"2026-09-03T11:39:28.671Z","repositoryUrl":"git+https://github.com/kishida-devil/jp-payroll-mcp.git","weeklyDownloads":60}],"repo":{"found":true,"owner":"kishida-devil","repo":"jp-payroll-mcp","archived":false,"pushedAt":"2026-09-03T23:45:33Z","stars":2,"forks":0,"openIssues":0,"ownerType":"User","ownerAvatarUrl":"https://avatars.githubusercontent.com/u/321211100?v=4","ownerCreatedAt":"2026-08-26T00:29:24Z","license":"MIT"},"icon":{"url":null,"source":"none"},"presence":{"stars":2,"forks":0,"downloadsWeek":60,"license":"MIT","lastPushAt":"2026-09-03T23:45:33.000Z","score":33}}}},"grade_history":[],"reviews":[]}