Gross-to-Net Salary Calculator (Germany & UK)

Net pay to the cent, every deduction and the employer's cost for Germany and the UK, computed with…

我該用這個嗎

品質與安全性

A
說明品質
96%
結構描述完整度
83%
命名品質
96%
汙染風險
100%
權限相符程度
100%
協定合規性
100%

根據工具定義與協定合規性的自動化分析。

上下文成本

~6,732Token(工具定義)
~14.9 KB典型回應大小
顯著的注意力影響(128k 上下文的 5.26%)

這是每次將伺服器的工具載入模型上下文時所消耗的約略 token 數量。數量越高,可用於其他工作的注意力就越少。

安裝

一鍵安裝

將以下內容加入你的 `claude_desktop_config.json` 檔案:

{
  "mcpServers": {
    "salary-net": {
      "url": "https://syntropicapi.com/mcp/salary-net/mcp"
    }
  }
}

遠端端點

https://syntropicapi.com/mcp/salary-net/mcpstreamable-http

它能做什麼

工具清單

工具(5)

🟢 唯讀🟡 寫入🔴 刪除⚪ 未知
🟢calculate_net_salary(country, year, period, de, uk, ...)

Computes net pay from gross pay for one pay period with the country's official payroll algorithm. Returns every employee deduction and employer contribution as a line with the rule applied and its source, the employer's total cost, annualised figures and the assumptions made.

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "DE",
        "UK",
        "GB"
      ],
      "title": "Country",
      "description": "DE or UK (GB is accepted as UK)"
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 2000,
      "title": "Year",
      "description": "Tax year. UK: the year the tax year starts in (2026 = 2026-27)",
      "default": 2026
    },
    "period": {
      "type": "string",
      "enum": [
        "year",
        "month",
        "week",
        "day",
        "fortnight",
        "four_weeks"
      ],
      "title": "Period",
      "description": "Pay period of the amount: year, month, week, day (DE only), fortnight or four_weeks (UK only)",
      "default": "month"
    },
    "de": {
      "anyOf": [
        {
          "properties": {
            "tax_class": {
              "type": "integer",
              "maximum": 6,
              "minimum": 1,
              "title": "Tax Class",
              "description": "Steuerklasse 1-6 (I single, II single parent, III/V married split, IV married, VI second job)",
              "default": 1
            },
            "state": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2,
              "title": "State",
              "description": "Bundesland code of the workplace: BW, BY, BE, BB, HB, HH, HE, MV, NI, NW, RP, SL, SN, ST, SH, TH (church-tax rate; SN = Saxony care-insurance split)",
              "default": "NW"
            },
            "church": {
              "type": "boolean",
              "title": "Church",
              "description": "Member of a church that levies church tax",
              "default": false
            },
            "children": {
              "type": "integer",
              "maximum": 20,
              "minimum": 0,
              "title": "Children",
              "description": "Children under 25: care-insurance discounts from the 2nd child and, by default, the child allowances",
              "default": 0
            },
            "child_allowances": {
              "anyOf": [
                {
                  "type": "number",
                  "maximum": 20,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Child Allowances",
              "description": "Kinderfreibeträge on the tax card in 0.5 steps (default: children); 0.5 per child when the parents split them"
            },
            "parent": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Parent",
              "description": "Has ever had a child, so no childless surcharge in care insurance (default: children > 0)"
            },
            "birth_year": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2015,
                  "minimum": 1900
                },
                {
                  "type": "null"
                }
              ],
              "title": "Birth Year",
              "description": "Year of birth: childless surcharge only from 23, age relief from 65; 67+ is rejected"
            },
            "health_insurance": {
              "type": "string",
              "enum": [
                "statutory",
                "private"
              ],
              "title": "Health Insurance",
              "description": "Only statutory health insurance is supported so far",
              "default": "statutory"
            },
            "health_insurance_addon_rate": {
              "anyOf": [
                {
                  "type": "number",
                  "maximum": 10,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Health Insurance Addon Rate",
              "description": "The fund's add-on rate (Zusatzbeitrag) in %, e.g. 2.9; default the official average of the year"
            },
            "factor": {
              "anyOf": [
                {
                  "type": "number",
                  "exclusiveMaximum": 1,
                  "exclusiveMinimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Factor",
              "description": "Faktorverfahren factor for tax class IV, three decimals (e.g. 0.912)"
            },
            "annual_tax_allowance": {
              "type": "number",
              "maximum": 1000000,
              "minimum": 0,
              "title": "Annual Tax Allowance",
              "description": "Tax allowance (Freibetrag) on the tax card, EUR per year",
              "default": 0
            }
          },
          "additionalProperties": false,
          "type": "object",
          "title": "DEProfileIn"
        },
        {
          "type": "null"
        }
      ],
      "description": "German profile (used when country is DE)"
    },
    "uk": {
      "anyOf": [
        {
          "properties": {
            "region": {
              "type": "string",
              "enum": [
                "england",
                "northern-ireland",
                "scotland",
                "wales"
              ],
              "title": "Region",
              "description": "Where the employee lives for income tax (Scotland and Wales set their own rates)",
              "default": "england"
            },
            "tax_code": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 12
                },
                {
                  "type": "null"
                }
              ],
              "title": "Tax Code",
              "description": "PAYE tax code, e.g. 1257L, S1257L, C1257L, K475, BR, D0, NT, 0T, '1257L M1' (default: 1257L with the region's prefix)"
            },
            "ni_category": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "H",
                "J",
                "M",
                "V",
                "Z"
              ],
              "title": "Ni Category",
              "description": "National Insurance category letter (A standard, B reduced, C over State Pension age, H apprentice <25, J deferred, M under 21, V veteran, Z under 21 deferred)",
              "default": "A"
            },
            "period_number": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 52,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "title": "Period Number",
              "description": "Tax week or month number for the cumulative basis; omit for a stand-alone (week 1/month 1) period"
            },
            "previous_pay": {
              "anyOf": [
                {
                  "type": "number",
                  "maximum": 100000000,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Previous Pay",
              "description": "Taxable pay in this tax year before this period (cumulative basis)"
            },
            "previous_tax": {
              "anyOf": [
                {
                  "type": "number",
                  "maximum": 100000000,
                  "minimum": -10000000
                },
                {
                  "type": "null"
                }
              ],
              "title": "Previous Tax",
              "description": "Tax deducted in this tax year before this period (cumulative basis)"
            }
          },
          "additionalProperties": false,
          "type": "object",
          "title": "UKProfileIn"
        },
        {
          "type": "null"
        }
      ],
      "description": "UK profile (used when country is UK)"
    },
    "gross": {
      "type": "number",
      "maximum": 10000000,
      "exclusiveMinimum": 0,
      "title": "Gross",
      "description": "Gross pay for the period, in EUR (DE) or GBP (UK)",
      "examples": [
        4500
      ]
    }
  },
  "required": [
    "country",
    "gross"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "title": "Country",
      "description": "DE or UK"
    },
    "year": {
      "type": "integer",
      "title": "Year",
      "description": "Tax year (UK: year the tax year starts)"
    },
    "tax_year": {
      "type": "string",
      "title": "Tax Year",
      "description": "Tax year label, e.g. 2026 or 2026-27"
    },
    "period": {
      "type": "string",
      "title": "Period",
      "description": "Pay period of all amounts"
    },
    "currency": {
      "type": "string",
      "title": "Currency",
      "description": "EUR or GBP"
    },
    "gross": {
      "type": "number",
      "title": "Gross",
      "description": "Gross pay for the period"
    },
    "net": {
      "type": "number",
      "title": "Net",
      "description": "Net pay: gross minus all employee deductions"
    },
    "employee_deductions": {
      "type": "number",
      "title": "Employee Deductions",
      "description": "Sum of the employee lines"
    },
    "employer_contributions": {
      "type": "number",
      "title": "Employer Contributions",
      "description": "Sum of the employer lines"
    },
    "employer_cost": {
      "type": "number",
      "title": "Employer Cost",
      "description": "Gross plus employer contributions"
    },
    "deduction_rate": {
      "type": "number",
      "title": "Deduction Rate",
      "description": "Employee deductions in % of gross"
    },
    "annual": {
      "properties": {
        "gross": {
          "type": "number",
          "title": "Gross",
          "description": "Gross × periods per year"
        },
        "net": {
          "type": "number",
          "title": "Net",
          "description": "Net × periods per year"
        },
        "employer_cost": {
          "type": "number",
          "title": "Employer Cost",
          "description": "Employer cost × periods per year"
        }
      },
      "type": "object",
      "required": [
        "gross",
        "net",
        "employer_cost"
      ],
      "title": "Annual",
      "description": "The period's figures scaled to a year (periods per year × amount)"
    },
    "lines": {
      "items": {
        "properties": {
          "key": {
            "type": "string",
            "title": "Key",
            "description": "income_tax, solidarity_surcharge, church_tax, health_insurance, care_insurance, pension_insurance, unemployment_insurance, insolvency_levy, national_insurance"
          },
          "label": {
            "type": "string",
            "title": "Label",
            "description": "Name of the deduction in the country's terms"
          },
          "amount": {
            "type": "number",
            "title": "Amount",
            "description": "Amount for the period (negative = refund on the UK cumulative basis)"
          },
          "payer": {
            "type": "string",
            "enum": [
              "employee",
              "employer"
            ],
            "title": "Payer",
            "description": "Who bears it: employee (deducted from gross) or employer (on top)"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate",
            "description": "Rate in % of base, where a single rate applies"
          },
          "base": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Base",
            "description": "Amount the rate applies to (after contribution ceilings) or taxable pay"
          },
          "rule": {
            "type": "string",
            "title": "Rule",
            "description": "The rule applied, in words"
          },
          "source": {
            "type": "string",
            "title": "Source",
            "description": "Official source of the rule and rate"
          }
        },
        "type": "object",
        "required": [
          "key",
          "label",
          "amount",
          "payer",
          "rule",
          "source"
        ],
        "title": "Line"
      },
      "type": "array",
      "title": "Lines",
      "description": "Every deduction and contribution with rule and source"
    },
    "profile": {
      "additionalProperties": true,
      "type": "object",
      "title": "Profile",
      "description": "The profile as applied, including defaults that were filled in"
    },
    "notes": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Notes",
      "description": "Assumptions and what is not included"
    },
    "sources": {
      "items": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "license": {
            "type": "string",
            "title": "License"
          }
        },
        "type": "object",
        "required": [
          "name",
          "url",
          "license"
        ],
        "title": "Source"
      },
      "type": "array",
      "title": "Sources",
      "description": "Official publications used"
    },
    "disclaimer": {
      "type": "string",
      "title": "Disclaimer"
    }
  },
  "required": [
    "country",
    "year",
    "tax_year",
    "period",
    "currency",
    "gross",
    "net",
    "employee_deductions",
    "employer_contributions",
    "employer_cost",
    "deduction_rate",
    "annual",
    "lines",
    "profile",
    "notes",
    "sources",
    "disclaimer"
  ],
  "title": "NetOut",
  "x-fastmcp-top-level-schema": "NetOut"
}
🟢calculate_gross_salary(country, year, period, de, uk, ...)

Finds the smallest gross pay (to the cent) whose net pay reaches the target, by bisection over the same engine as /net. Returns the full breakdown for that gross pay and the remaining difference to the target.

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "DE",
        "UK",
        "GB"
      ],
      "title": "Country",
      "description": "DE or UK (GB is accepted as UK)"
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 2000,
      "title": "Year",
      "description": "Tax year. UK: the year the tax year starts in (2026 = 2026-27)",
      "default": 2026
    },
    "period": {
      "type": "string",
      "enum": [
        "year",
        "month",
        "week",
        "day",
        "fortnight",
        "four_weeks"
      ],
      "title": "Period",
      "description": "Pay period of the amount: year, month, week, day (DE only), fortnight or four_weeks (UK only)",
      "default": "month"
    },
    "de": {
      "anyOf": [
        {
          "properties": {
            "tax_class": {
              "type": "integer",
              "maximum": 6,
              "minimum": 1,
              "title": "Tax Class",
              "description": "Steuerklasse 1-6 (I single, II single parent, III/V married split, IV married, VI second job)",
              "default": 1
            },
            "state": {
              "type": "string",
              "maxLength": 2,
              "minLength": 2,
              "title": "State",
              "description": "Bundesland code of the workplace: BW, BY, BE, BB, HB, HH, HE, MV, NI, NW, RP, SL, SN, ST, SH, TH (church-tax rate; SN = Saxony care-insurance split)",
              "default": "NW"
            },
            "church": {
              "type": "boolean",
              "title": "Church",
              "description": "Member of a church that levies church tax",
              "default": false
            },
            "children": {
              "type": "integer",
              "maximum": 20,
              "minimum": 0,
              "title": "Children",
              "description": "Children under 25: care-insurance discounts from the 2nd child and, by default, the child allowances",
              "default": 0
            },
            "child_allowances": {
              "anyOf": [
                {
                  "type": "number",
                  "maximum": 20,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Child Allowances",
              "description": "Kinderfreibeträge on the tax card in 0.5 steps (default: children); 0.5 per child when the parents split them"
            },
            "parent": {
              "anyOf": [
                {
                  "type": "boolean"
                },
                {
                  "type": "null"
                }
              ],
              "title": "Parent",
              "description": "Has ever had a child, so no childless surcharge in care insurance (default: children > 0)"
            },
            "birth_year": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 2015,
                  "minimum": 1900
                },
                {
                  "type": "null"
                }
              ],
              "title": "Birth Year",
              "description": "Year of birth: childless surcharge only from 23, age relief from 65; 67+ is rejected"
            },
            "health_insurance": {
              "type": "string",
              "enum": [
                "statutory",
                "private"
              ],
              "title": "Health Insurance",
              "description": "Only statutory health insurance is supported so far",
              "default": "statutory"
            },
            "health_insurance_addon_rate": {
              "anyOf": [
                {
                  "type": "number",
                  "maximum": 10,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Health Insurance Addon Rate",
              "description": "The fund's add-on rate (Zusatzbeitrag) in %, e.g. 2.9; default the official average of the year"
            },
            "factor": {
              "anyOf": [
                {
                  "type": "number",
                  "exclusiveMaximum": 1,
                  "exclusiveMinimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Factor",
              "description": "Faktorverfahren factor for tax class IV, three decimals (e.g. 0.912)"
            },
            "annual_tax_allowance": {
              "type": "number",
              "maximum": 1000000,
              "minimum": 0,
              "title": "Annual Tax Allowance",
              "description": "Tax allowance (Freibetrag) on the tax card, EUR per year",
              "default": 0
            }
          },
          "additionalProperties": false,
          "type": "object",
          "title": "DEProfileIn"
        },
        {
          "type": "null"
        }
      ],
      "description": "German profile (used when country is DE)"
    },
    "uk": {
      "anyOf": [
        {
          "properties": {
            "region": {
              "type": "string",
              "enum": [
                "england",
                "northern-ireland",
                "scotland",
                "wales"
              ],
              "title": "Region",
              "description": "Where the employee lives for income tax (Scotland and Wales set their own rates)",
              "default": "england"
            },
            "tax_code": {
              "anyOf": [
                {
                  "type": "string",
                  "maxLength": 12
                },
                {
                  "type": "null"
                }
              ],
              "title": "Tax Code",
              "description": "PAYE tax code, e.g. 1257L, S1257L, C1257L, K475, BR, D0, NT, 0T, '1257L M1' (default: 1257L with the region's prefix)"
            },
            "ni_category": {
              "type": "string",
              "enum": [
                "A",
                "B",
                "C",
                "H",
                "J",
                "M",
                "V",
                "Z"
              ],
              "title": "Ni Category",
              "description": "National Insurance category letter (A standard, B reduced, C over State Pension age, H apprentice <25, J deferred, M under 21, V veteran, Z under 21 deferred)",
              "default": "A"
            },
            "period_number": {
              "anyOf": [
                {
                  "type": "integer",
                  "maximum": 52,
                  "minimum": 1
                },
                {
                  "type": "null"
                }
              ],
              "title": "Period Number",
              "description": "Tax week or month number for the cumulative basis; omit for a stand-alone (week 1/month 1) period"
            },
            "previous_pay": {
              "anyOf": [
                {
                  "type": "number",
                  "maximum": 100000000,
                  "minimum": 0
                },
                {
                  "type": "null"
                }
              ],
              "title": "Previous Pay",
              "description": "Taxable pay in this tax year before this period (cumulative basis)"
            },
            "previous_tax": {
              "anyOf": [
                {
                  "type": "number",
                  "maximum": 100000000,
                  "minimum": -10000000
                },
                {
                  "type": "null"
                }
              ],
              "title": "Previous Tax",
              "description": "Tax deducted in this tax year before this period (cumulative basis)"
            }
          },
          "additionalProperties": false,
          "type": "object",
          "title": "UKProfileIn"
        },
        {
          "type": "null"
        }
      ],
      "description": "UK profile (used when country is UK)"
    },
    "net": {
      "type": "number",
      "maximum": 5000000,
      "exclusiveMinimum": 0,
      "title": "Net",
      "description": "Target net pay for the period, in EUR (DE) or GBP (UK)",
      "examples": [
        3000
      ]
    }
  },
  "required": [
    "country",
    "net"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "title": "Country",
      "description": "DE or UK"
    },
    "year": {
      "type": "integer",
      "title": "Year",
      "description": "Tax year (UK: year the tax year starts)"
    },
    "tax_year": {
      "type": "string",
      "title": "Tax Year",
      "description": "Tax year label, e.g. 2026 or 2026-27"
    },
    "period": {
      "type": "string",
      "title": "Period",
      "description": "Pay period of all amounts"
    },
    "currency": {
      "type": "string",
      "title": "Currency",
      "description": "EUR or GBP"
    },
    "gross": {
      "type": "number",
      "title": "Gross",
      "description": "Gross pay for the period"
    },
    "net": {
      "type": "number",
      "title": "Net",
      "description": "Net pay: gross minus all employee deductions"
    },
    "employee_deductions": {
      "type": "number",
      "title": "Employee Deductions",
      "description": "Sum of the employee lines"
    },
    "employer_contributions": {
      "type": "number",
      "title": "Employer Contributions",
      "description": "Sum of the employer lines"
    },
    "employer_cost": {
      "type": "number",
      "title": "Employer Cost",
      "description": "Gross plus employer contributions"
    },
    "deduction_rate": {
      "type": "number",
      "title": "Deduction Rate",
      "description": "Employee deductions in % of gross"
    },
    "annual": {
      "properties": {
        "gross": {
          "type": "number",
          "title": "Gross",
          "description": "Gross × periods per year"
        },
        "net": {
          "type": "number",
          "title": "Net",
          "description": "Net × periods per year"
        },
        "employer_cost": {
          "type": "number",
          "title": "Employer Cost",
          "description": "Employer cost × periods per year"
        }
      },
      "type": "object",
      "required": [
        "gross",
        "net",
        "employer_cost"
      ],
      "title": "Annual",
      "description": "The period's figures scaled to a year (periods per year × amount)"
    },
    "lines": {
      "items": {
        "properties": {
          "key": {
            "type": "string",
            "title": "Key",
            "description": "income_tax, solidarity_surcharge, church_tax, health_insurance, care_insurance, pension_insurance, unemployment_insurance, insolvency_levy, national_insurance"
          },
          "label": {
            "type": "string",
            "title": "Label",
            "description": "Name of the deduction in the country's terms"
          },
          "amount": {
            "type": "number",
            "title": "Amount",
            "description": "Amount for the period (negative = refund on the UK cumulative basis)"
          },
          "payer": {
            "type": "string",
            "enum": [
              "employee",
              "employer"
            ],
            "title": "Payer",
            "description": "Who bears it: employee (deducted from gross) or employer (on top)"
          },
          "rate": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Rate",
            "description": "Rate in % of base, where a single rate applies"
          },
          "base": {
            "anyOf": [
              {
                "type": "number"
              },
              {
                "type": "null"
              }
            ],
            "title": "Base",
            "description": "Amount the rate applies to (after contribution ceilings) or taxable pay"
          },
          "rule": {
            "type": "string",
            "title": "Rule",
            "description": "The rule applied, in words"
          },
          "source": {
            "type": "string",
            "title": "Source",
            "description": "Official source of the rule and rate"
          }
        },
        "type": "object",
        "required": [
          "key",
          "label",
          "amount",
          "payer",
          "rule",
          "source"
        ],
        "title": "Line"
      },
      "type": "array",
      "title": "Lines",
      "description": "Every deduction and contribution with rule and source"
    },
    "profile": {
      "additionalProperties": true,
      "type": "object",
      "title": "Profile",
      "description": "The profile as applied, including defaults that were filled in"
    },
    "notes": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Notes",
      "description": "Assumptions and what is not included"
    },
    "sources": {
      "items": {
        "properties": {
          "name": {
            "type": "string",
            "title": "Name"
          },
          "url": {
            "type": "string",
            "title": "Url"
          },
          "license": {
            "type": "string",
            "title": "License"
          }
        },
        "type": "object",
        "required": [
          "name",
          "url",
          "license"
        ],
        "title": "Source"
      },
      "type": "array",
      "title": "Sources",
      "description": "Official publications used"
    },
    "disclaimer": {
      "type": "string",
      "title": "Disclaimer"
    },
    "target_net": {
      "type": "number",
      "title": "Target Net",
      "description": "The net pay that was asked for"
    },
    "difference": {
      "type": "number",
      "title": "Difference",
      "description": "net - target_net (0 when the target is reachable to the cent)"
    }
  },
  "required": [
    "country",
    "year",
    "tax_year",
    "period",
    "currency",
    "gross",
    "net",
    "employee_deductions",
    "employer_contributions",
    "employer_cost",
    "deduction_rate",
    "annual",
    "lines",
    "profile",
    "notes",
    "sources",
    "disclaimer",
    "target_net",
    "difference"
  ],
  "title": "GrossOut",
  "x-fastmcp-top-level-schema": "GrossOut"
}
🟢compare_net_salaries(scenarios)

Runs up to 8 gross-to-net scenarios and returns them side by side: net, deductions, employer cost and the split into income tax and social contributions. Amounts stay in each country's currency (no FX conversion).

輸入結構描述

{
  "type": "object",
  "properties": {
    "scenarios": {
      "items": {
        "properties": {
          "country": {
            "type": "string",
            "enum": [
              "DE",
              "UK",
              "GB"
            ],
            "title": "Country",
            "description": "DE or UK (GB is accepted as UK)"
          },
          "year": {
            "type": "integer",
            "maximum": 2100,
            "minimum": 2000,
            "title": "Year",
            "description": "Tax year. UK: the year the tax year starts in (2026 = 2026-27)",
            "default": 2026
          },
          "period": {
            "type": "string",
            "enum": [
              "year",
              "month",
              "week",
              "day",
              "fortnight",
              "four_weeks"
            ],
            "title": "Period",
            "description": "Pay period of the amount: year, month, week, day (DE only), fortnight or four_weeks (UK only)",
            "default": "month"
          },
          "de": {
            "anyOf": [
              {
                "properties": {
                  "tax_class": {
                    "type": "integer",
                    "maximum": 6,
                    "minimum": 1,
                    "title": "Tax Class",
                    "description": "Steuerklasse 1-6 (I single, II single parent, III/V married split, IV married, VI second job)",
                    "default": 1
                  },
                  "state": {
                    "type": "string",
                    "maxLength": 2,
                    "minLength": 2,
                    "title": "State",
                    "description": "Bundesland code of the workplace: BW, BY, BE, BB, HB, HH, HE, MV, NI, NW, RP, SL, SN, ST, SH, TH (church-tax rate; SN = Saxony care-insurance split)",
                    "default": "NW"
                  },
                  "church": {
                    "type": "boolean",
                    "title": "Church",
                    "description": "Member of a church that levies church tax",
                    "default": false
                  },
                  "children": {
                    "type": "integer",
                    "maximum": 20,
                    "minimum": 0,
                    "title": "Children",
                    "description": "Children under 25: care-insurance discounts from the 2nd child and, by default, the child allowances",
                    "default": 0
                  },
                  "child_allowances": {
                    "anyOf": [
                      {
                        "type": "number",
                        "maximum": 20,
                        "minimum": 0
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Child Allowances",
                    "description": "Kinderfreibeträge on the tax card in 0.5 steps (default: children); 0.5 per child when the parents split them"
                  },
                  "parent": {
                    "anyOf": [
                      {
                        "type": "boolean"
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Parent",
                    "description": "Has ever had a child, so no childless surcharge in care insurance (default: children > 0)"
                  },
                  "birth_year": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "maximum": 2015,
                        "minimum": 1900
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Birth Year",
                    "description": "Year of birth: childless surcharge only from 23, age relief from 65; 67+ is rejected"
                  },
                  "health_insurance": {
                    "type": "string",
                    "enum": [
                      "statutory",
                      "private"
                    ],
                    "title": "Health Insurance",
                    "description": "Only statutory health insurance is supported so far",
                    "default": "statutory"
                  },
                  "health_insurance_addon_rate": {
                    "anyOf": [
                      {
                        "type": "number",
                        "maximum": 10,
                        "minimum": 0
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Health Insurance Addon Rate",
                    "description": "The fund's add-on rate (Zusatzbeitrag) in %, e.g. 2.9; default the official average of the year"
                  },
                  "factor": {
                    "anyOf": [
                      {
                        "type": "number",
                        "exclusiveMaximum": 1,
                        "exclusiveMinimum": 0
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Factor",
                    "description": "Faktorverfahren factor for tax class IV, three decimals (e.g. 0.912)"
                  },
                  "annual_tax_allowance": {
                    "type": "number",
                    "maximum": 1000000,
                    "minimum": 0,
                    "title": "Annual Tax Allowance",
                    "description": "Tax allowance (Freibetrag) on the tax card, EUR per year",
                    "default": 0
                  }
                },
                "additionalProperties": false,
                "type": "object",
                "title": "DEProfileIn"
              },
              {
                "type": "null"
              }
            ],
            "description": "German profile (used when country is DE)"
          },
          "uk": {
            "anyOf": [
              {
                "properties": {
                  "region": {
                    "type": "string",
                    "enum": [
                      "england",
                      "northern-ireland",
                      "scotland",
                      "wales"
                    ],
                    "title": "Region",
                    "description": "Where the employee lives for income tax (Scotland and Wales set their own rates)",
                    "default": "england"
                  },
                  "tax_code": {
                    "anyOf": [
                      {
                        "type": "string",
                        "maxLength": 12
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Tax Code",
                    "description": "PAYE tax code, e.g. 1257L, S1257L, C1257L, K475, BR, D0, NT, 0T, '1257L M1' (default: 1257L with the region's prefix)"
                  },
                  "ni_category": {
                    "type": "string",
                    "enum": [
                      "A",
                      "B",
                      "C",
                      "H",
                      "J",
                      "M",
                      "V",
                      "Z"
                    ],
                    "title": "Ni Category",
                    "description": "National Insurance category letter (A standard, B reduced, C over State Pension age, H apprentice <25, J deferred, M under 21, V veteran, Z under 21 deferred)",
                    "default": "A"
                  },
                  "period_number": {
                    "anyOf": [
                      {
                        "type": "integer",
                        "maximum": 52,
                        "minimum": 1
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Period Number",
                    "description": "Tax week or month number for the cumulative basis; omit for a stand-alone (week 1/month 1) period"
                  },
                  "previous_pay": {
                    "anyOf": [
                      {
                        "type": "number",
                        "maximum": 100000000,
                        "minimum": 0
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Previous Pay",
                    "description": "Taxable pay in this tax year before this period (cumulative basis)"
                  },
                  "previous_tax": {
                    "anyOf": [
                      {
                        "type": "number",
                        "maximum": 100000000,
                        "minimum": -10000000
                      },
                      {
                        "type": "null"
                      }
                    ],
                    "title": "Previous Tax",
                    "description": "Tax deducted in this tax year before this period (cumulative basis)"
                  }
                },
                "additionalProperties": false,
                "type": "object",
                "title": "UKProfileIn"
              },
              {
                "type": "null"
              }
            ],
            "description": "UK profile (used when country is UK)"
          },
          "gross": {
            "type": "number",
            "maximum": 10000000,
            "exclusiveMinimum": 0,
            "title": "Gross",
            "description": "Gross pay for the period, in EUR (DE) or GBP (UK)",
            "examples": [
              4500
            ]
          }
        },
        "additionalProperties": false,
        "type": "object",
        "required": [
          "country",
          "gross"
        ],
        "title": "NetIn"
      },
      "type": "array",
      "maxItems": 8,
      "minItems": 1,
      "title": "Scenarios",
      "description": "Up to 8 gross-to-net scenarios"
    }
  },
  "required": [
    "scenarios"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "rows": {
      "items": {
        "properties": {
          "label": {
            "type": "string",
            "title": "Label",
            "description": "Country, tax year and main profile setting"
          },
          "country": {
            "type": "string",
            "title": "Country"
          },
          "tax_year": {
            "type": "string",
            "title": "Tax Year"
          },
          "currency": {
            "type": "string",
            "title": "Currency"
          },
          "period": {
            "type": "string",
            "title": "Period"
          },
          "gross": {
            "type": "number",
            "title": "Gross"
          },
          "net": {
            "type": "number",
            "title": "Net"
          },
          "employee_deductions": {
            "type": "number",
            "title": "Employee Deductions"
          },
          "employer_cost": {
            "type": "number",
            "title": "Employer Cost"
          },
          "deduction_rate": {
            "type": "number",
            "title": "Deduction Rate"
          },
          "annual_net": {
            "type": "number",
            "title": "Annual Net"
          },
          "income_tax": {
            "type": "number",
            "title": "Income Tax",
            "description": "Income/wage tax plus surcharges (solidarity, church)"
          },
          "social_contributions": {
            "type": "number",
            "title": "Social Contributions",
            "description": "Employee social insurance or National Insurance"
          }
        },
        "type": "object",
        "required": [
          "label",
          "country",
          "tax_year",
          "currency",
          "period",
          "gross",
          "net",
          "employee_deductions",
          "employer_cost",
          "deduction_rate",
          "annual_net",
          "income_tax",
          "social_contributions"
        ],
        "title": "CompareRow"
      },
      "type": "array",
      "title": "Rows"
    },
    "notes": {
      "items": {
        "type": "string"
      },
      "type": "array",
      "title": "Notes"
    },
    "disclaimer": {
      "type": "string",
      "title": "Disclaimer"
    }
  },
  "required": [
    "rows",
    "notes",
    "disclaimer"
  ],
  "title": "CompareOut",
  "x-fastmcp-top-level-schema": "CompareOut"
}
🟢get_payroll_parameters(country, year)

Allowances, tax bands, contribution rates and ceilings the engine uses for the country and year, each with its official source.

輸入結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "enum": [
        "DE",
        "UK",
        "GB"
      ],
      "title": "Country",
      "description": "DE or UK (GB is accepted)"
    },
    "year": {
      "type": "integer",
      "maximum": 2100,
      "minimum": 2000,
      "title": "Year",
      "description": "Tax year (UK: start year, 2026 = 2026-27)",
      "default": 2026
    }
  },
  "required": [
    "country"
  ]
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "country": {
      "type": "string",
      "title": "Country"
    },
    "year": {
      "type": "integer",
      "title": "Year"
    },
    "tax_year": {
      "type": "string",
      "title": "Tax Year"
    },
    "currency": {
      "type": "string",
      "title": "Currency"
    },
    "parameters": {
      "items": {
        "properties": {
          "key": {
            "type": "string",
            "title": "Key"
          },
          "label": {
            "type": "string",
            "title": "Label"
          },
          "value": {
            "type": "number",
            "title": "Value"
          },
          "unit": {
            "type": "string",
            "title": "Unit"
          },
          "source": {
            "type": "string",
            "title": "Source"
          }
        },
        "type": "object",
        "required": [
          "key",
          "label",
          "value",
          "unit",
          "source"
        ],
        "title": "ParameterRow"
      },
      "type": "array",
      "title": "Parameters"
    }
  },
  "required": [
    "country",
    "year",
    "tax_year",
    "currency",
    "parameters"
  ],
  "title": "ParametersOut",
  "x-fastmcp-top-level-schema": "ParametersOut"
}
🟢list_salary_countries

Coverage: which countries and tax years are available, which pay periods and profile fields they accept, the official test data each engine is checked against, and which countries are planned next.

輸入結構描述

{
  "type": "object",
  "properties": {},
  "required": []
}

輸出結構描述

{
  "type": "object",
  "properties": {
    "countries": {
      "items": {
        "properties": {
          "country": {
            "type": "string",
            "title": "Country",
            "description": "Country code"
          },
          "name": {
            "type": "string",
            "title": "Name"
          },
          "status": {
            "type": "string",
            "enum": [
              "available",
              "planned"
            ],
            "title": "Status"
          },
          "currency": {
            "type": "string",
            "title": "Currency"
          },
          "years": {
            "items": {
              "type": "integer"
            },
            "type": "array",
            "title": "Years",
            "description": "Supported tax years (UK: start year)"
          },
          "periods": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Periods"
          },
          "profile_fields": {
            "items": {
              "type": "string"
            },
            "type": "array",
            "title": "Profile Fields"
          },
          "conformance": {
            "type": "string",
            "title": "Conformance",
            "description": "Ground truth the engine is tested against"
          }
        },
        "type": "object",
        "required": [
          "country",
          "name",
          "status",
          "currency",
          "years",
          "periods",
          "profile_fields",
          "conformance"
        ],
        "title": "CountryInfo"
      },
      "type": "array",
      "title": "Countries"
    }
  },
  "required": [
    "countries"
  ],
  "title": "CountriesOut",
  "x-fastmcp-top-level-schema": "CountriesOut"
}

社群

為此伺服器評分

證據

近期觀測

已驗證未記錄版本5 個工具