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 个工具