{"serverId":"mcp-registry/io.github.kishida-devil/jp-payroll-mcp","tools":[{"name":"calculate_annual_cost","fixed":{"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 ke","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["prefecture","monthly_salary"],"properties":{"age":{"type":"number","description":"Either this or birth_date is required."},"bonuses":{"type":"array","items":{"type":"number"},"description":"Each bonus in yen, in the order paid. The health cap fills from the first."},"birth_date":{"type":"string","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."},"dependants":{"type":"number"},"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."},"fiscal_year":{"type":"number","description":"Year the 1 April to 31 March window starts. Defaults from the current date."},"resident_tax":{"type":"number","description":"Monthly resident tax, multiplied by twelve as given. It is never derived here."},"business_type":{"enum":["general","agriculture_forestry_fishery_sake","construction"],"type":"string"},"monthly_salary":{"type":"number","description":"Gross monthly pay in yen."},"workers_comp_type":{"type":"string","description":"事業の種類の番号. Charged on bonuses as well, being levied on total wages."},"standard_remuneration":{"type":"number","description":"The 標準報酬月額 fixed by 算定基礎届, if known. Without it the grade is derived from the pay given."}}},"annotations":{"readOnlyHint":true},"title":"年間の労務コスト — 賞与の上限を年度で通した額"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":611,"tokensAfter":611},{"name":"calculate_bonus","fixed":{"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 fisca","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["prefecture","bonus"],"properties":{"age":{"type":"number","description":"Age in years. Either this or birth_date is required. Prefer birth_date."},"as_of":{"type":"string","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."},"bonus":{"type":"number","description":"Gross bonus in yen."},"column":{"enum":["kou","otsu"],"type":"string","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 甲."},"birth_date":{"type":"string","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."},"dependants":{"type":"number"},"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."},"include_tax":{"type":"boolean","description":"Also compute withholding tax. Requires previous_month_pay."},"previous_month_pay":{"type":"number","description":"Gross pay in the month before the bonus. The tax rate is derived from this."},"fiscal_year_to_date":{"type":"number","description":"標準賞与額 already paid since 1 April this fiscal year. Needed for the annual health cap."},"previous_month_insurance":{"type":"number","description":"Social insurance deducted from that previous month's pay."}}},"annotations":{"readOnlyHint":true},"title":"賞与の社会保険料と源泉所得税"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":662,"tokensAfter":662},{"name":"calculate_overtime_pay","fixed":{"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","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["base_monthly_pay","monthly_scheduled_hours"],"properties":{"night_hours":{"type":"number","description":"How many of those hours fell between 22:00 and 05:00."},"holiday_hours":{"type":"number","description":"Hours worked on a statutory holiday."},"overtime_hours":{"type":"number","description":"Statutory overtime hours, excluding work on a statutory holiday."},"base_monthly_pay":{"type":"number","description":"Monthly pay forming the premium base, after removing any of the seven excludable allowances."},"holiday_night_hours":{"type":"number","description":"How many of those fell between 22:00 and 05:00."},"monthly_scheduled_hours":{"type":"number","description":"月平均所定労働時間 — annual scheduled working days times daily hours, divided by twelve."}}},"annotations":{"readOnlyHint":true},"title":"割増賃金(時間外・深夜・休日)の計算"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":390,"tokensAfter":390},{"name":"calculate_payroll_batch","fixed":{"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_ty","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["employees"],"properties":{"compact":{"type":"boolean","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\"."},"defaults":{"type":"object","properties":{"age":{"type":"number"},"column":{"enum":["kou","otsu"],"type":"string"},"dependants":{"type":"number"},"income_tax":{"type":"boolean"},"prefecture":{"type":"string"},"resident_tax":{"type":"number"},"business_type":{"type":"string"},"workers_comp_type":{"type":"string"}},"description":"Applied to any row that leaves the field out."},"employees":{"type":"array","items":{"type":"object","required":["monthly_salary"],"properties":{"id":{"type":"string","description":"Echoed back on the result and on any error."},"age":{"type":"number"},"column":{"enum":["kou","otsu"],"type":"string"},"birth_date":{"type":"string","description":"YYYY-MM-DD. Preferred over age."},"dependants":{"type":"number"},"income_tax":{"type":"boolean"},"prefecture":{"type":"string","description":"Overrides defaults.prefecture for this row."},"resident_tax":{"type":"number"},"business_type":{"type":"string"},"monthly_salary":{"type":"number","description":"Gross monthly pay in yen, before any deduction."},"employment_type":{"enum":["employee","director","director_employee"],"type":"string"},"workers_comp_type":{"type":"string"},"standard_remuneration":{"type":"number","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."}}},"description":"One entry per employee. Up to 500 on a paid plan, 10 on the free tier."}}},"annotations":{"readOnlyHint":true},"title":"給与計算をまとめて — 事業所全員分と合計"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":657,"tokensAfter":657},{"name":"calculate_payslip","fixed":{"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","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["prefecture","monthly_salary"],"properties":{"age":{"type":"number","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."},"as_of":{"type":"string","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."},"column":{"enum":["kou","otsu"],"type":"string","description":"甲 if the employee filed a 扶養控除等申告書 (the normal case), 乙 if not. Defaults to 甲."},"birth_date":{"type":"string","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."},"dependants":{"type":"number","description":"源泉控除対象親族の数. Defaults to 0."},"income_tax":{"type":"boolean","description":"Set false to skip withholding tax. Defaults to true."},"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."},"resident_tax":{"type":"number","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 特別徴収税額通知書."},"business_type":{"enum":["general","agriculture_forestry_fishery_sake","construction"],"type":"string","description":"Employment insurance rate band. Defaults to general."},"commuting_fare":{"type":"number","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."},"monthly_salary":{"type":"number","description":"Gross monthly pay in yen, before any deduction."},"employment_type":{"enum":["employee","director","director_employee"],"type":"string","description":"役員 are not employment-insurance insured (雇用保険法第4条). Pass \"director\" for a company officer, or the premium comes out too high. Defaults to employee."},"commuting_parking":{"type":"number","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."},"workers_comp_type":{"type":"string","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."},"commuting_allowance":{"type":"number","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."},"commuting_distance_km":{"type":"number","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."},"standard_remuneration":{"type":"number","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."}}},"annotations":{"readOnlyHint":true},"title":"給与計算 — 社会保険料・源泉所得税・手取り"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":1312,"tokensAfter":1312},{"name":"calculate_withholding_tax","fixed":{"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["taxable_amount"],"properties":{"column":{"enum":["kou","otsu","hei"],"type":"string","description":"甲/乙, plus 丙 for the daily table only. Defaults to 甲."},"method":{"enum":["table","computer"],"type":"string","description":"\"computer\" selects the statutory formula method. Monthly only. Defaults to table."},"period":{"enum":["monthly","daily"],"type":"string","description":"Defaults to monthly."},"spouse":{"type":"boolean","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."},"dependants":{"type":"number"},"taxable_amount":{"type":"number","description":"Pay after social insurance, in yen."}}},"annotations":{"readOnlyHint":true},"title":"源泉徴収税額(月額表・日額表・電算機計算の特例)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":389,"tokensAfter":389},{"name":"calculate_year_end_adjustment","fixed":{"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 o","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["total_pay","withheld_tax","social_insurance"],"properties":{"flags":{"type":"object","properties":{"widow":{"type":"boolean"},"single_parent":{"type":"boolean"},"working_student":{"type":"boolean"},"self_special_disabled":{"type":"boolean"}}},"spouse":{"anyOf":[{"type":"object","required":["income"],"properties":{"income":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Spouse's 合計所得金額 (not gross pay)."},"age_70_or_over":{"type":"boolean"}}},{"type":"null"}]},"total_pay":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Total pay for the year including bonuses (⑦)."},"dependants":{"type":"object","properties":{"elderly":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"老人扶養親族 (70+) not a cohabiting parent."},"general":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"一般の控除対象扶養親族 (16+ excluding the categories below)."},"under_23":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Dependants under 23. Drives the income-adjustment deduction and the life-insurance special rule."},"specified":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"特定扶養親族 (19-22, income ≤ 620,000)."},"elderly_cohabiting_parent":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"同居老親等."}}},"mutual_aid":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"小規模企業共済等掛金 (⑭)."},"tax_return":{"type":"object","properties":{"donations":{"type":"integer","maximum":9007199254740991,"minimum":0},"casualty_loss":{"type":"integer","maximum":9007199254740991,"minimum":0},"self_medication":{"type":"integer","maximum":9007199254740991,"minimum":0},"medical_expenses":{"type":"integer","maximum":9007199254740991,"minimum":0},"medical_reimbursed":{"type":"integer","maximum":9007199254740991,"minimum":0},"disaster_related_expense":{"type":"integer","maximum":9007199254740991,"minimum":0}},"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."},"disabilities":{"type":"object","properties":{"general":{"type":"integer","maximum":9007199254740991,"minimum":0},"special":{"type":"integer","maximum":9007199254740991,"minimum":0},"special_cohabiting":{"type":"integer","maximum":9007199254740991,"minimum":0}},"description":"Counts of 障害者 / 特別障害者 / 同居特別障害者 among the employee, spouse and dependants."},"other_income":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Income other than this pay, for the basic and spouse deduction bands."},"withheld_tax":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Income tax withheld during the year (⑧)."},"life_insurance":{"type":"object","properties":{"new_general":{"type":"integer","maximum":9007199254740991,"minimum":0},"new_pension":{"type":"integer","maximum":9007199254740991,"minimum":0},"old_general":{"type":"integer","maximum":9007199254740991,"minimum":0},"old_pension":{"type":"integer","maximum":9007199254740991,"minimum":0},"care_medical":{"type":"integer","maximum":9007199254740991,"minimum":0}},"description":"Premiums PAID this year by category (new = contracts from 2012-01-01). The deduction is computed here."},"social_insurance":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Social insurance premiums deducted from pay during the year (⑫)."},"income_adjustment":{"type":"boolean","description":"Force the 所得金額調整控除 on or off. Omit to derive it from pay > 8,500,000 and the under_23 / disability inputs."},"housing_loan_credit":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"住宅借入金等特別控除額 (㉔), from the certificate."},"specified_relatives":{"type":"array","items":{"type":"integer","maximum":9007199254740991,"minimum":0},"description":"特定親族 (19-22 with 合計所得金額 over 620,000): one income figure per person."},"earthquake_insurance":{"type":"object","properties":{"earthquake":{"type":"integer","maximum":9007199254740991,"minimum":0},"old_long_term":{"type":"integer","maximum":9007199254740991,"minimum":0}},"description":"Earthquake insurance and 旧長期損害保険 premiums paid."},"social_insurance_declared":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Social insurance the employee paid themselves and declared, e.g. 国民年金 (⑬)."}}},"annotations":{"readOnlyHint":true},"title":"年末調整(令和8年分)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":1409,"tokensAfter":1409},{"name":"check_data_freshness","fixed":{"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{}},"annotations":{"readOnlyHint":true},"title":"データ鮮度 — 各データの対象期間と次回改定"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":162,"tokensAfter":162},{"name":"check_insurance_eligibility","fixed":{"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"month":{"type":"string","description":"Month to judge, YYYY-MM or a full date. Defaults to today."},"left_on":{"type":"string","description":"Last day actually worked, YYYY-MM-DD — not the day after."},"joined_on":{"type":"string","description":"First day of employment, YYYY-MM-DD."}}},"annotations":{"readOnlyHint":true},"title":"入社月・退社月の保険料の要否"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":262,"tokensAfter":262},{"name":"check_leave_exemption","fixed":{"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. ","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["kind","start","end"],"properties":{"end":{"type":"string","description":"Last day of leave, YYYY-MM-DD."},"kind":{"enum":["maternity","childcare"],"type":"string","description":"産前産後休業 or 育児休業等."},"start":{"type":"string","description":"First day of leave, YYYY-MM-DD."},"worked_days":{"type":"number","description":"出生時育児休業 only: days worked during the leave, which come off the 14-day count."}}},"annotations":{"readOnlyHint":true},"title":"産休・育休の保険料免除月"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":291,"tokensAfter":291},{"name":"estimate_resident_tax","fixed":{"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 ","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["prefecture","income_year"],"properties":{"city":{"type":"string","description":"Municipality in Japanese, e.g. 横浜市. Used for designated-city rates and the three city rules held."},"flags":{"type":"object","properties":{"minor":{"type":"boolean"},"widow":{"type":"boolean"},"single_parent":{"type":"boolean"},"working_student":{"type":"boolean"},"single_parent_father":{"type":"boolean"},"self_special_disabled":{"type":"boolean"}}},"salary":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Gross employment income for the year, bonuses included."},"spouse":{"anyOf":[{"type":"object","required":["income"],"properties":{"income":{"type":"integer","maximum":9007199254740991,"minimum":0},"age_70_or_over":{"type":"boolean"}}},{"type":"null"}],"description":"Spouse's 合計所得金額 for the year (0 if none)."},"dependants":{"type":"object","properties":{"elderly":{"type":"integer","maximum":9007199254740991,"minimum":0},"general":{"type":"integer","maximum":9007199254740991,"minimum":0},"under_16":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Dependants under 16: no deduction, but they count for the exemption thresholds."},"under_23":{"type":"integer","maximum":9007199254740991,"minimum":0},"specified":{"type":"integer","maximum":9007199254740991,"minimum":0},"elderly_cohabiting_parent":{"type":"integer","maximum":9007199254740991,"minimum":0}}},"mutual_aid":{"type":"integer","maximum":9007199254740991,"minimum":0},"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."},"grade_level":{"type":"integer","maximum":3,"minimum":1,"description":"級地 (1, 2 or 3) for the per-capita exemption threshold."},"income_year":{"type":"integer","maximum":9007199254740991,"minimum":-9007199254740991,"description":"Year the income was earned: 2025 (fiscal 2026 tax) or 2026 (fiscal 2027 estimate)."},"disabilities":{"type":"object","properties":{"general":{"type":"integer","maximum":9007199254740991,"minimum":0},"special":{"type":"integer","maximum":9007199254740991,"minimum":0},"special_cohabiting":{"type":"integer","maximum":9007199254740991,"minimum":0}}},"other_income":{"type":"integer","maximum":9007199254740991,"minimum":0},"total_income":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Use instead of salary when the income is not (only) employment income: 合計所得金額 excluding salary."},"casualty_loss":{"type":"integer","maximum":9007199254740991,"minimum":0},"life_insurance":{"type":"object","properties":{"new_general":{"type":"integer","maximum":9007199254740991,"minimum":0},"new_pension":{"type":"integer","maximum":9007199254740991,"minimum":0},"old_general":{"type":"integer","maximum":9007199254740991,"minimum":0},"old_pension":{"type":"integer","maximum":9007199254740991,"minimum":0},"care_medical":{"type":"integer","maximum":9007199254740991,"minimum":0}},"description":"Premiums PAID; the resident-tax deduction (cap 70,000) is computed here."},"designated_city":{"type":"boolean","description":"Set when the city is one of the 20 指定都市 and you did not pass city."},"other_donations":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Other qualifying donations (basic 10% credit only)."},"housing_loan_cap":{"enum":["five_percent","seven_percent"],"type":"string","description":"Cap rule for the resident-tax part: 5% (max 97,500) or 7% (max 136,500)."},"medical_expenses":{"type":"integer","maximum":9007199254740991,"minimum":0},"social_insurance":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Social insurance paid in the year."},"income_adjustment":{"type":"boolean"},"furusato_donations":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"ふるさと納税 paid in the year."},"medical_reimbursed":{"type":"integer","maximum":9007199254740991,"minimum":0},"housing_loan_unused":{"type":"integer","maximum":9007199254740991,"minimum":0,"description":"Housing-loan credit the income tax could not absorb."},"specified_relatives":{"type":"array","items":{"type":"integer","maximum":9007199254740991,"minimum":0}},"earthquake_insurance":{"type":"object","properties":{"earthquake":{"type":"integer","maximum":9007199254740991,"minimum":0},"old_long_term":{"type":"integer","maximum":9007199254740991,"minimum":0}}},"disaster_related_expense":{"type":"integer","maximum":9007199254740991,"minimum":0}}},"annotations":{"readOnlyHint":true},"title":"個人住民税の見込み額"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":1432,"tokensAfter":1432},{"name":"get_age_milestones","fixed":{"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["birth_date"],"properties":{"as_of":{"type":"string","description":"Date to judge against. Defaults to today."},"birth_date":{"type":"string","description":"Date of birth, YYYY-MM-DD."}}},"annotations":{"readOnlyHint":true},"title":"年齢到達日(40/65/70/75)と保険料の変化"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":215,"tokensAfter":215},{"name":"get_insurance_rates","fixed":{"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","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["prefecture"],"properties":{"as_of":{"type":"string","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."},"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":{"enum":["general","agriculture_forestry_fishery_sake","construction"],"type":"string","description":"Include employment insurance rates for this band."}}},"annotations":{"readOnlyHint":true},"title":"社会保険料率・雇用保険料率"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":347,"tokensAfter":347},{"name":"get_minimum_wage","fixed":{"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["prefecture"],"properties":{"date":{"type":"string","description":"YYYY-MM-DD. Defaults to the rate currently in force."},"as_of":{"type":"string","description":"Alias for date. YYYY-MM-DD."},"history":{"type":"boolean","description":"Return the full history instead of one date."},"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."}}},"annotations":{"readOnlyHint":true},"title":"最低賃金(指定日時点)"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":246,"tokensAfter":246},{"name":"get_statute_text","fixed":{"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. Abbreviati","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"ref":{"type":"string","description":"A citation such as \"健康保険法第43条\". Omit to list every provision available."}}},"annotations":{"readOnlyHint":true},"title":"条文の本文を取得"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":212,"tokensAfter":212},{"name":"list_workers_compensation_rates","fixed":{"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"as_of":{"type":"string","description":"ISO date the wages relate to."},"wage_total":{"type":"number","description":"賃金総額 for the period, in yen — the same wage base employment insurance uses, so a commuting allowance counts and a reimbursement does not."},"business_type":{"type":"string","description":"事業の種類の番号 (02-99), e.g. \"35\" for 建築事業 or \"98\" for wholesale and retail."}}},"annotations":{"readOnlyHint":true},"title":"労災保険率 — 事業の種類別"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":260,"tokensAfter":260},{"name":"lookup_standard_remuneration","fixed":{"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"remuneration":{"type":"number","description":"Monthly remuneration in yen. Omit to get the whole grade table instead of one lookup."}}},"annotations":{"readOnlyHint":true},"title":"標準報酬月額の等級照会"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":149,"tokensAfter":149},{"name":"validate_corporate_number","fixed":{"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.","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","properties":{"base":{"type":"string","description":"The 12-digit 会社法人等番号 instead, to compute its check digit and get the 13-digit 法人番号. Use this when registering, not when checking."},"number":{"type":"string","description":"13 digits, or T followed by 13 digits."}}},"annotations":{"readOnlyHint":true},"title":"法人番号・インボイス登録番号の検証"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":249,"tokensAfter":249},{"name":"validate_invoice_numbers_batch","fixed":{"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","inputSchema":{"type":"object","$schema":"http://json-schema.org/draft-07/schema#","required":["numbers"],"properties":{"numbers":{"type":"array","items":{"type":"string"},"description":"Registration numbers as written, including the leading T. Up to 1000 per call."}}},"annotations":{"readOnlyHint":true},"title":"インボイス登録番号をまとめて形式検査"},"changes":[{"kind":"annotations","detail":"Added readOnlyHint: true (inferred from the name).","verify":true}],"tokensBefore":231,"tokensAfter":231}],"toolsChanged":19,"tokensSaved":0,"todo":[{"tool":"calculate_annual_cost","params":["dependants","business_type"]},{"tool":"calculate_bonus","params":["dependants"]},{"tool":"calculate_withholding_tax","params":["dependants"]},{"tool":"calculate_year_end_adjustment","params":["flags","spouse","dependants"]},{"tool":"estimate_resident_tax","params":["flags","dependants","mutual_aid","disabilities","other_income","casualty_loss","medical_expenses","income_adjustment","medical_reimbursed","specified_relatives","earthquake_insurance","disaster_related_expense"]}],"note":"Deterministic fixes. Changes marked verify need a human look before shipping (renames, inferred annotations, inferred types, removed text). Parameter descriptions in `todo` need to be written by someone who knows the API."}