taiwan-payroll-mcp
A community-driven Model Context Protocol server that provides a stateless Streamable HTTP endpoint for calculating Taiwan statutory payroll costs, including Labor Insurance, National Health Insurance, Labor Pension, and occupational injury insurance. It supports calculations for salary deductions, broken months, and second-generation health insurance supplementary premiums, verifying results against official government examples.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://taiwan-payroll.simoko.workers.dev/mcpWhat its tools do
9 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Calculate statutory labor insurance premiums based on insured salary and year data.
- Compute National Health Insurance supplementary premiums for bonuses and rental income.
- Estimate old-age pension benefits using official formulas for monthly annuity or lump sum.
- Generate data files for uploading to official government portals with Big5 encoding.
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- taiwan-payroll-mcp 1.4.1
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 9 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": true
}
}Tools
9 advertised
calculate_payroll — 計算台灣勞健保勞退
計算台灣某月薪資的勞保(含就保)、健保、勞退、職災各方(員工/雇主/政府)負擔。支援不同身份別、眷屬、自提、部分工時。結果僅供參考,以勞保局、健保署核發之繳款單為準,不構成法律或會計建議。
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"monthlySalary"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "年度(西元,如 2026)。省略則使用最新可用年度;可先用 list_years 查可用年度。"
},
"identity": {
"enum": [
"category1",
"migrantGeneral",
"migrantDomestic"
],
"type": "string",
"description": "身份別(預設 category1):category1=本國勞工或外籍配偶;migrantGeneral=一般移工(勞保僅普通事故 11.5%、無就保/勞退);migrantDomestic=家事移工(僅健保+職災,職災費率請以 occupationalRate 傳 0.0018)。不適用的險種回傳 0。"
},
"partTime": {
"type": "boolean",
"description": "是否為部分工時:true 時未達基本工資者勞保/健保對到官方低級距(職保仍歸第 1 級)。預設 false。"
},
"rounding": {
"enum": [
"round",
"ceil",
"aggregate-then-round"
],
"type": "string",
"description": "進位策略:round=四捨五入(預設)、ceil=無條件進位、aggregate-then-round=合計後分配(政府方吸收進位差)。"
},
"dependents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "健保眷屬人數(計費上限 3 口),預設 0。"
},
"monthlySalary": {
"type": "number",
"description": "月薪資總額(經常性薪資),新臺幣元/月。"
},
"occupationalRate": {
"type": "number",
"description": "職災行業別費率,小數比例(如 0.0021 表 0.21%;家事移工 0.0018),範圍 [0, 0.02)。省略則用該年度平均費率。"
},
"employmentInsurance": {
"type": "boolean",
"description": "是否參加就業保險(勞保費率 12.5% 或 11.5%),預設 true。一般移工/家事移工一律視為不參加。"
},
"pensionSelfContribution": {
"type": "number",
"description": "勞工自願提繳率,小數(0~0.06,如 0.06 表 6%),預設 0。"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brackets",
"employee",
"employer",
"government",
"meta"
],
"properties": {
"meta": {
"type": "object",
"required": [
"year",
"dataVersion"
],
"properties": {
"year": {
"type": "number"
},
"dataVersion": {
"type": "string"
}
},
"additionalProperties": false
},
"brackets": {
"type": "object",
"required": [
"labor",
"health",
"pension",
"occupational"
],
"properties": {
"labor": {
"type": "number"
},
"health": {
"type": "number"
},
"pension": {
"type": "number"
},
"occupational": {
"type": "number"
}
},
"additionalProperties": false
},
"employee": {
"type": "object",
"required": [
"labor",
"health",
"pensionSelf",
"total"
],
"properties": {
"labor": {
"type": "number"
},
"total": {
"type": "number"
},
"health": {
"type": "number"
},
"pensionSelf": {
"type": "number"
}
},
"additionalProperties": false
},
"employer": {
"type": "object",
"required": [
"labor",
"health",
"pension",
"occupational",
"total"
],
"properties": {
"labor": {
"type": "number"
},
"total": {
"type": "number"
},
"health": {
"type": "number"
},
"pension": {
"type": "number"
},
"occupational": {
"type": "number"
}
},
"additionalProperties": false
},
"government": {
"type": "object",
"required": [
"labor",
"health"
],
"properties": {
"labor": {
"type": "number"
},
"health": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_supplementary_premium — 二代健保補充保費
計算二代健保補充保費(費率 2.11%)。bonus 課徵年度累計超過當月投保額 4 倍部分;其餘五類單次達門檻全額課(單次上限 1,000 萬)。結果僅供參考,以勞保局、健保署核發之繳款單為準,不構成法律或會計建議。
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"type",
"amount"
],
"properties": {
"type": {
"enum": [
"bonus",
"parttime",
"professional",
"dividend",
"interest",
"rent"
],
"type": "string",
"description": "所得類別:bonus=高額獎金、parttime=兼職薪資、professional=執行業務、dividend=股利、interest=利息、rent=租金。"
},
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "年度(西元,如 2026)。省略則使用最新可用年度;可先用 list_years 查可用年度。"
},
"amount": {
"type": "number",
"description": "單次給付金額,新臺幣元。"
},
"rounding": {
"enum": [
"round",
"ceil",
"aggregate-then-round"
],
"type": "string",
"description": "進位策略:round=四捨五入(預設)、ceil=無條件進位、aggregate-then-round=合計後分配(政府方吸收進位差)。"
},
"ytdBonus": {
"type": "number",
"description": "(僅 bonus)本次給付前、同雇主同年度已累計之獎金,預設 0。"
},
"monthlyInsuredSalary": {
"type": "number",
"description": "(僅 bonus 必填)給付當月之投保金額,新臺幣元/月;門檻為其 4 倍。"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"type",
"chargeable",
"rate",
"premium"
],
"properties": {
"rate": {
"type": "string"
},
"type": {
"type": "string"
},
"premium": {
"type": "number"
},
"chargeable": {
"type": "number"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_employer_supplementary_premium — 投保單位(雇主)補充保費
計算雇主端二代健保補充保費(費率 2.11%):(每月支付薪資總額 − 受僱者當月健保投保金額總額) × 費率,無上限。結果僅供參考,以勞保局、健保署核發之繳款單為準,不構成法律或會計建議。
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"monthlyPaidTotal",
"monthlyInsuredTotal"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "年度(西元,如 2026)。省略則使用最新可用年度;可先用 list_years 查可用年度。"
},
"rounding": {
"enum": [
"round",
"ceil",
"aggregate-then-round"
],
"type": "string",
"description": "進位策略:round=四捨五入(預設)、ceil=無條件進位、aggregate-then-round=合計後分配(政府方吸收進位差)。"
},
"monthlyPaidTotal": {
"type": "number",
"description": "每月支付薪資所得總額 A,新臺幣元(含薪資、獎金、兼職、車馬費、承攬等)。"
},
"monthlyInsuredTotal": {
"type": "number",
"description": "受僱者當月健保投保金額總額 B,新臺幣元(全體受僱者投保金額合計)。"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"base",
"rate",
"premium"
],
"properties": {
"base": {
"type": "number"
},
"rate": {
"type": "string"
},
"premium": {
"type": "number"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_income_tax_withholding — 薪資所得扣繳稅額
計算薪資所得扣繳稅額:居住者固定月薪(公式法)、非每月給付獎金(5%,未達起扣標準免扣)、非居住者(18%;月薪≤1.5倍基本工資為6%)。結果僅供參考,以勞保局、健保署核發之繳款單為準,不構成法律或會計建議。
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"type"
],
"properties": {
"type": {
"enum": [
"resident",
"residentBonus",
"nonResident"
],
"type": "string",
"description": "扣繳類型:resident=居住者固定月薪(公式法)、residentBonus=居住者非每月給付(獎金)5%、nonResident=非居住者18%/6%。"
},
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "年度(西元,如 2026)。省略則使用最新可用年度;可先用 list_years 查可用年度。"
},
"amount": {
"type": "number",
"description": "該筆給付金額,新臺幣元(僅 residentBonus)。"
},
"dependents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "配偶及受扶養親屬人數(僅 resident),預設 0。"
},
"monthlySalary": {
"type": "number",
"description": "月薪資,新臺幣元(resident/nonResident 用)。"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"withholding",
"rate"
],
"properties": {
"rate": {
"type": "string"
},
"withholding": {
"type": "number"
},
"taxableAnnual": {
"type": "number"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_old_age_pension — 計算勞保老年年金(月領)
依勞保老年年金法定公式(擇優兩式、提前/延後增減給每年 ±4%,上限 ±5 年(±20%))試算月領金額;年資未滿 15 年不符年金請領資格。結果僅供參考,以勞保局、健保署核發之繳款單為準,不構成法律或會計建議。
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"avgInsuredSalary",
"years"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "年度(西元,如 2026)。省略則使用最新可用年度;可先用 list_years 查可用年度。"
},
"years": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "保險年資:年。"
},
"months": {
"type": "integer",
"maximum": 11,
"minimum": 0,
"description": "保險年資:月(0–11),預設 0。"
},
"avgInsuredSalary": {
"type": "number",
"description": "平均月投保薪資(最高 60 個月平均),新臺幣元。"
},
"claimOffsetMonths": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "提前(負)/延後(正)請領月數,相對法定請領年齡;每年 ±4%,上限 ±5 年(±20%)。預設 0。"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"formulaA",
"formulaB",
"monthly",
"adjustmentMonths",
"eligible"
],
"properties": {
"monthly": {
"type": "number"
},
"eligible": {
"type": "boolean"
},
"formulaA": {
"type": "number"
},
"formulaB": {
"type": "number"
},
"adjustmentMonths": {
"type": "number"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_old_age_lump_sum — 計算勞保老年一次金
依勞保老年一次金法定公式(平均月投保薪資 × 給付月數;年資每滿 1 年給 1 個月、逾 60 歲後之年資最多計入 5 年)試算給付金額。結果僅供參考,以勞保局、健保署核發之繳款單為準,不構成法律或會計建議。
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"avgInsuredSalary",
"years"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "年度(西元,如 2026)。省略則使用最新可用年度;可先用 list_years 查可用年度。"
},
"years": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "保險年資:年。"
},
"months": {
"type": "integer",
"maximum": 11,
"minimum": 0,
"description": "保險年資:月(0–11),預設 0。"
},
"postSixtyMonths": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "逾 60 歲以後之保險年資(月),最多計入 5 年(60 個月),超過部分不計。不得超過總保險月數。預設 0。"
},
"avgInsuredSalary": {
"type": "number",
"description": "平均月投保薪資(最高 60 個月平均),新臺幣元。"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"payment",
"insuredMonthsCounted"
],
"properties": {
"payment": {
"type": "number"
},
"insuredMonthsCounted": {
"type": "number"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_old_age_single_payment — 計算勞保一次請領老年給付
依勞保一次請領老年給付法定公式(基數制:前 15 年每年 1 個基數、第 16 年起每年 2 個基數、60 歲前最高 45 個基數、逾 60 歲後年資每年 2 個基數最多計 5 年、合併最高 50 個基數)試算給付金額。適用 98 年前已有保險年資者。結果僅供參考,以勞保局、健保署核發之繳款單為準,不構成法律或會計建議。
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"avgInsuredSalary",
"preSixtyYears"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "年度(西元,如 2026)。省略則使用最新可用年度;可先用 list_years 查可用年度。"
},
"preSixtyYears": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "60 歲(含)以前之保險年資:年。"
},
"postSixtyYears": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": 0,
"description": "逾 60 歲以後之保險年資:年。逾 60 歲後最多計入 5 年,超過部分不計。預設 0。"
},
"preSixtyMonths": {
"type": "integer",
"maximum": 11,
"minimum": 0,
"description": "60 歲(含)以前之保險年資:月(0–11),預設 0。"
},
"postSixtyMonths": {
"type": "integer",
"maximum": 11,
"minimum": 0,
"description": "逾 60 歲以後之保險年資:月(0–11),預設 0。"
},
"avgInsuredSalary": {
"type": "number",
"description": "平均月投保薪資(採退保前 3 年內最高 36 個月平均),新臺幣元。"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"payment",
"basisTwelfths"
],
"properties": {
"payment": {
"type": "number"
},
"basisTwelfths": {
"type": "number"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}calculate_prorated — 月中到職/離職破月計算
計算月中到職或離職當月的破月保費。勞保/職保/勞退按日(30 日基準);健保採官方「月底歸屬」——到職當月計整月、離職當月不計。結果僅供參考,以勞保局、健保署核發之繳款單為準,不構成法律或會計建議。
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"monthlySalary"
],
"properties": {
"year": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "年度(西元,如 2026)。省略則使用最新可用年度;可先用 list_years 查可用年度。"
},
"endDate": {
"type": "string",
"description": "離職日(YYYY-MM-DD)。"
},
"identity": {
"enum": [
"category1",
"migrantGeneral",
"migrantDomestic"
],
"type": "string",
"description": "身份別(預設 category1):category1=本國勞工或外籍配偶;migrantGeneral=一般移工(勞保僅普通事故 11.5%、無就保/勞退);migrantDomestic=家事移工(僅健保+職災,職災費率請以 occupationalRate 傳 0.0018)。不適用的險種回傳 0。"
},
"partTime": {
"type": "boolean",
"description": "是否為部分工時:true 時未達基本工資者勞保/健保對到官方低級距(職保仍歸第 1 級)。預設 false。"
},
"rounding": {
"enum": [
"round",
"ceil",
"aggregate-then-round"
],
"type": "string",
"description": "進位策略:round=四捨五入(預設)、ceil=無條件進位、aggregate-then-round=合計後分配(政府方吸收進位差)。"
},
"startDate": {
"type": "string",
"description": "到職日(YYYY-MM-DD)。startDate 與 endDate 至少擇一,且兩者須為同一月份。"
},
"dependents": {
"type": "integer",
"maximum": 9007199254740991,
"minimum": -9007199254740991,
"description": "健保眷屬人數(計費上限 3 口),預設 0。"
},
"monthlySalary": {
"type": "number",
"description": "月薪資總額(經常性薪資),新臺幣元/月。"
},
"occupationalRate": {
"type": "number",
"description": "職災行業別費率,小數比例(如 0.0021 表 0.21%;家事移工 0.0018),範圍 [0, 0.02)。省略則用該年度平均費率。"
},
"employmentInsurance": {
"type": "boolean",
"description": "是否參加就業保險(勞保費率 12.5% 或 11.5%),預設 true。一般移工/家事移工一律視為不參加。"
},
"pensionSelfContribution": {
"type": "number",
"description": "勞工自願提繳率,小數(0~0.06,如 0.06 表 6%),預設 0。"
}
}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"brackets",
"employee",
"employer",
"government",
"meta",
"days",
"healthCharged"
],
"properties": {
"days": {
"type": "object",
"required": [
"insured"
],
"properties": {
"insured": {
"type": "number"
}
},
"additionalProperties": false
},
"meta": {
"type": "object",
"required": [
"year",
"dataVersion"
],
"properties": {
"year": {
"type": "number"
},
"dataVersion": {
"type": "string"
}
},
"additionalProperties": false
},
"brackets": {
"type": "object",
"required": [
"labor",
"health",
"pension",
"occupational"
],
"properties": {
"labor": {
"type": "number"
},
"health": {
"type": "number"
},
"pension": {
"type": "number"
},
"occupational": {
"type": "number"
}
},
"additionalProperties": false
},
"employee": {
"type": "object",
"required": [
"labor",
"health",
"pensionSelf",
"total"
],
"properties": {
"labor": {
"type": "number"
},
"total": {
"type": "number"
},
"health": {
"type": "number"
},
"pensionSelf": {
"type": "number"
}
},
"additionalProperties": false
},
"employer": {
"type": "object",
"required": [
"labor",
"health",
"pension",
"occupational",
"total"
],
"properties": {
"labor": {
"type": "number"
},
"total": {
"type": "number"
},
"health": {
"type": "number"
},
"pension": {
"type": "number"
},
"occupational": {
"type": "number"
}
},
"additionalProperties": false
},
"government": {
"type": "object",
"required": [
"labor",
"health"
],
"properties": {
"labor": {
"type": "number"
},
"health": {
"type": "number"
}
},
"additionalProperties": false
},
"healthCharged": {
"type": "boolean"
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}list_years — 列出可用年度
列出目前支援的年度、資料版本與基本工資(月薪/時薪)。計算前可先用本工具確認有效的 year 值。
{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"properties": {}
}{
"type": "object",
"$schema": "http://json-schema.org/draft-07/schema#",
"required": [
"years"
],
"properties": {
"years": {
"type": "array",
"items": {
"type": "object",
"required": [
"year",
"dataVersion",
"minimumWage"
],
"properties": {
"year": {
"type": "number"
},
"dataVersion": {
"type": "string"
},
"minimumWage": {
"type": "object",
"required": [
"monthly",
"hourly"
],
"properties": {
"hourly": {
"type": "number"
},
"monthly": {
"type": "number"
}
},
"additionalProperties": false
}
},
"additionalProperties": false
}
}
},
"additionalProperties": false
}{
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
90-day uptime
A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.
- 2026-11-07: 2 of 2 checks answered
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 289 ms
- 95th percentile latency
- 289 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 289 ms · metadata changed · 9 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http taiwan-payroll-mcp-workers https://taiwan-payroll.simoko.workers.dev/mcpCodex
codex mcp add taiwan-payroll-mcp-workers --url https://taiwan-payroll.simoko.workers.dev/mcpCursor
{
"mcpServers": {
"taiwan-payroll-mcp-workers": {
"url": "https://taiwan-payroll.simoko.workers.dev/mcp"
}
}
}Cline
{
"mcpServers": {
"taiwan-payroll-mcp-workers": {
"type": "streamableHttp",
"url": "https://taiwan-payroll.simoko.workers.dev/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"taiwan-payroll-mcp-workers": {
"type": "http",
"url": "https://taiwan-payroll.simoko.workers.dev/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http taiwan-payroll-mcp-workers https://taiwan-payroll.simoko.workers.dev/mcpClaude Desktop
https://taiwan-payroll.simoko.workers.dev/mcpWindsurf
{
"mcpServers": {
"taiwan-payroll-mcp-workers": {
"serverUrl": "https://taiwan-payroll.simoko.workers.dev/mcp"
}
}
}Let your agent find its tools
Find servers like taiwan-payroll-mcp from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.