# PayCalculator (remote · mcp.paycalculator.com.au)

Australian pay, income tax, super, HECS, family payments and child care subsidy, using ATO rates.

- Trust score: 64/100 (medium)
- Change this week: +4
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-11-05

## Components

- remote · `mcp.paycalculator.com.au`: 64/100 (this document), [markdown](https://verifymcp.io/servers/au-com-paycalculator-mcp/mcp.md), [page](https://verifymcp.io/servers/au-com-paycalculator-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.paycalculator.com.au/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-11-05.

- **Endpoint Security**: 57/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation not fully verified: no authorisation is required to call this server, and 8 tool(s) never declared a destructiveHint. The MCP spec treats an absent hint as destructive by default, so we cannot call this surface safe.
  - HTTPS is enforced; there's no plaintext access path.
  - HSTS check failed: the Strict-Transport-Security header is absent.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 59/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3386 tokens (~423/item across 8 items; 8 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Tool Safety**: 75/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - 0 of 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation; "calculate_pay" implies "pay" and declares no destructiveHint at all, which the MCP spec reads as destructive by default.
  - An AI judge read all 8 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### How do I install the PayCalculator MCP server?

PayCalculator is a hosted endpoint at https://mcp.paycalculator.com.au/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

### Claude

```bash
claude mcp add --transport http au-com-paycalculator-mcp 'https://mcp.paycalculator.com.au/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "au-com-paycalculator-mcp": {
      "url": "https://mcp.paycalculator.com.au/mcp"
    }
  }
}
```

### VS Code

```json
{
  "servers": {
    "au-com-paycalculator-mcp": {
      "type": "http",
      "url": "https://mcp.paycalculator.com.au/mcp"
    }
  }
}
```

### Codex

```toml
[mcp_servers.au-com-paycalculator-mcp]
url = "https://mcp.paycalculator.com.au/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "au-com-paycalculator-mcp": {
      "type": "remote",
      "url": "https://mcp.paycalculator.com.au/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add au-com-paycalculator-mcp --url 'https://mcp.paycalculator.com.au/mcp' --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  au-com-paycalculator-mcp:
    url: "https://mcp.paycalculator.com.au/mcp"
```

### Netclaw

```json
{
  "McpServers": {
    "au-com-paycalculator-mcp": {
      "Transport": "http",
      "Url": "https://mcp.paycalculator.com.au/mcp"
    }
  }
}
```

### Vellum

```bash
assistant mcp add au-com-paycalculator-mcp -t streamable-http -u 'https://mcp.paycalculator.com.au/mcp'
```

### Other

```json
{
  "mcpServers": {
    "au-com-paycalculator-mcp": {
      "type": "http",
      "url": "https://mcp.paycalculator.com.au/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-11-05 (score 64, +1)

- [functional] Server version: 1.0.2 → 1.0.3

### 2026-11-03 (score 63, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-11-02 (score 62, 0)

- [functional] Server version: 1.0.0 → 1.0.2

### 2026-11-01 (score 62, +1)

No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-30 (score 61, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-10-29 (score 60, 0)

- [functional improvement] Stability: unverified → 0.03

### 2026-10-28 (score 60)

First indexed and scored.

## MCP tools (8)

### `list_tax_years` (~71 tokens)

List tax years

Lists the Australian financial years the pay calculator supports. "year" is the year the financial year ends (e.g. 2027 = 1 July 2026 to 30 June 2027). "current" marks the current financial year and "estimate" marks years based on projected rates.

Output parameters:

- `taxYears` (array)

### `tax_rates` (~184 tokens)

Tax rates

The Australian income tax brackets for a financial year and residency, as on the paycalculator.com.au income tax page, and optionally the income tax on an amount of taxable income with its marginal and average rates. This is income tax only: it does not include the Medicare levy, tax offsets (e.g. the low income tax offset), student loan repayments or deductions. Use calculate_pay for the tax actually payable on a salary.

Input parameters:

- `income` (number): Annual taxable income to work out the income tax on.
- `residency` (string): Residency for tax purposes. "workingHolidayMaker" is for 417/462 visa holders. Defaults to "resident".
- `year` (string): Financial year as the year it ends, e.g. "2027" for 2026-27. Defaults to the current financial year. Use list_tax_years for supported years.

Output parameters:

- `brackets` (array)
- `estimate` (boolean): True when the rates for this year are projected rather than legislated.
- `financialYear` (string)
- `income` (object)
- `label` (string)
- `medicareLevyRate` (number): The Medicare levy rate (%) for residents, on top of income tax (reduced or nil at low incomes). 0 for non-residents and working holiday makers.
- `residency` (string)
- `year` (string)

### `inflation` (~220 tokens)

Inflation

Works out what an income needs to become to keep up with inflation (consumer price index) between two months, and what the unchanged income is worth after inflation, as the paycalculator.com.au inflation calculator does. Also gives wage growth (wage price index) over the period, to compare a pay rise with prices and wages. Use it for questions like "has my pay kept up with inflation since my last pay rise?" or "what will $80,000 be worth in 2028?". Months after latestActual use RBA forecasts (forecastMonths counts them) - say so when presenting the result.

Input parameters:

- `from` (string, required): Start month, e.g. "Mar 2021" or "2021-03" - e.g. the date of the last pay rise.
- `income` (number, required): The income (or any amount) at the "from" month.
- `to` (string): End month, after "from". Defaults to this month. Can be in the future, up to the end of the RBA forecasts.

Output parameters:

- `adjustedIncome` (number): The income needed at "to" to buy the same as the income did at "from".
- `effectiveIncome` (number): What the unchanged income buys at "to", in "from" dollars.
- `forecastMonths` (number): Number of months in the period that use forecasts.
- `from` (string)
- `income` (number)
- `latestActual` (string): The latest actual CPI figure; later months are RBA forecasts.
- `priceGrowth` (number): Total rise in prices over the period (%).
- `source` (string)
- `to` (string)
- `wageGrowth` (number): Total rise in wages (wage price index) from "from" to wageGrowthTo (%).
- `wageGrowthTo` (string): Wage growth uses actual figures only, so it may stop before "to".

### `student_loan_repayment` (~347 tokens)

Student loan repayment

Projects how long a student loan (HELP, HECS, VSL, SSL, TSL, SFSS) takes to repay with compulsory repayments, as the paycalculator.com.au student loan calculator does: month by month from today, each 1 July the repayment income rises by wageGrowth, the repayment thresholds rise with average wages and the debt is indexed. Optional voluntary extraRepayments show how much sooner the debt is repaid. Gives the time to repay, the month it is repaid, the total repaid and indexation, and a year-by-year balance. This is a projection on assumptions (listed in "assumptions") - say so. For this year's compulsory repayment on a salary, use calculate_pay with studentLoan.

Input parameters:

- `debt` (number, required): The loan balance today.
- `extraRepayments` (number): Voluntary repayments a year, on top of the compulsory repayments.
- `indexation` (number): Debt indexation (% a year) - the lower of CPI and wage growth: 4.0% in 2024, 3.2% in 2025, 2.8% in 2026. Defaults to 2.5%.
- `repaymentIncome` (number, required): Annual repayment income: taxable income plus reportable fringe benefits, reportable super contributions, net investment losses and exempt foreign income. Use details.studentLoanRepaymentIncome from c…
- `wageGrowth` (number): How much the repayment income rises each year (%). Defaults to 3.5%, about average wage growth; higher for someone early in their career.

Output parameters:

- `assumptions` (object)
- `debt` (number)
- `debtRemaining` (number): The debt left at the end of the projection (0 when repaid).
- `duration` (string): Time to repay, e.g. "9 years and 5 months".
- `firstMonthlyRepayment` (number): The compulsory repayment a month now.
- `months` (number): Months of repayments projected.
- `notRepaid` (string): Why the debt is not repaid, when paidOff is false.
- `paidOff` (boolean): False when the debt is not repaid (see notRepaid).
- `paidOffMonth` (string): The month the debt is repaid, e.g. "Mar 2036".
- `repaymentIncome` (number)
- `totalIndexation` (number): Indexation added to the debt over the projection.
- `totalRepaid` (number)
- `years` (array): Each financial year of the projection; the first is the rest of this year.

### `child_care_subsidy` (~321 tokens)

Child Care Subsidy

Works out the Child Care Subsidy (CCS) for each child and the gap fee the family pays, as the paycalculator.com.au childcare calculator does, with the 2026-27 income thresholds and hourly rate caps. Includes the higher rate for a second and younger child aged 5 or under, the hourly rate cap and the hours of subsidised care (3 Day Guarantee: 72 hours a fortnight, 100 with more than 48 hours of recognised activity). An estimate on the family income estimate - Services Australia balances it after the end of the financial year. CCS only, not Additional Child Care Subsidy.

Input parameters:

- `activityHoursPerFortnight` (number): Recognised activity of the parent with the lower hours (work, study, training, volunteering, looking for work), hours a fortnight. More than 48 gives 100 hours of subsidised care, otherwise 72. Assum…
- `children` (array, required): Each child in care.
- `familyIncome` (number, required): Combined family adjusted taxable income for the year (the person and their partner). Use details.adjustedTaxableIncome from calculate_pay, plus the partner's, when available.
- `firstNationsChildOrExemption` (boolean): An Aboriginal or Torres Strait Islander child, or an exemption (e.g. a grandparent carer) - 100 hours of subsidised care.
- `withholding` (number): % of the subsidy withheld each fortnight. Defaults to 5%, as Services Australia does.

Output parameters:

- `children` (array)
- `familyIncome` (number)
- `hoursReason` (string)
- `notes` (array): Fees above the cap, hours over the subsidised hours, the higher rate limit and the withholding - pass these on.
- `source` (object)
- `subsidisedHoursPerFortnight` (number): Hours of subsidised care per child each fortnight.
- `totals` (object)
- `withholding` (number): % withheld.

### `government_spending` (~190 tokens)

Government spending

Where a person's income tax goes: the federal budget's spending (health, social security and welfare, defence, education...) and the part of their tax that goes to each, as the paycalculator.com.au tax expenditure page shows it. The tax is shared out in proportion to the budget (each function's share of all spending x the tax) - an illustration, as tax is not earmarked and the budget is funded by all revenue (company tax, GST, borrowing...); say so. Give the annual income tax from calculate_pay (tax.total.annual) when the person's pay has been calculated, otherwise a salary.

Input parameters:

- `salary` (number): Annual salary, when tax is not given: the tax is calculated for the current year (resident, super on top, no other income).
- `tax` (number): Annual income tax (including the Medicare levy) - from calculate_pay when available.

Output parameters:

- `budgetYear` (string): The budget year, e.g. "2026-27".
- `functions` (array): Each budget function, largest first, with its breakdown.
- `groups` (array): The spending in four broad groups, as the website's chart.
- `salary` (number)
- `source` (object)
- `tax` (number): The annual income tax shared out.
- `totalSpending` (number): Total government spending ($ millions).

### `compare_income` (~243 tokens)

Compare income

Shows where an annual taxable income ranks among Australians, using the ATO taxation statistics behind the paycalculator.com.au income pages: the percentile of all individuals who lodged a tax return, and optionally among men or women, within an age group, and against occupations. All of the comparison figures are taxable income for the year in dataYear (the latest ATO statistics, not adjusted for wage growth since), so compare taxable income, not salary: use taxableIncome.total.annual from calculate_pay when it is available. Cite the dataYear and sources when presenting the results.

Input parameters:

- `age` (integer): Age in years: also rank the income within the age group (e.g. 30 to 34).
- `gender` (string): Also rank the income among men or women only (and within the age group, when age is given). Only when the user gives it.
- `income` (number, required): Annual taxable income to compare.
- `occupation` (string): Occupation to compare with, in a few words (e.g. "nurse", "electrician", "software programmer"). Up to 5 matching ATO occupations (ANZSCO) are returned.

Output parameters:

- `age` (object)
- `band` (object)
- `dataYear` (string): Financial year of the ATO statistics, e.g. "2023-24".
- `gender` (object)
- `income` (number)
- `incomeRange` (string): The taxable income range of that percentile band.
- `medianIncome` (number): Median taxable income of all individuals (half earn less).
- `occupations` (array): Occupations matching the search, specific occupations first. Empty when nothing matches.
- `occupationsMatchAllWords` (boolean): False when no occupation title has every word of the search and the list is the closest matches - check with the user which fits, rather than assuming.
- `percentile` (number): Percentile (1 to 100) among all individuals who lodged a tax return: the income is in the Nth percentile band, so roughly N% earn less.
- `sources` (array)

### `calculate_pay` (~1810 tokens)

Calculate pay

Calculates Australian take-home pay, income tax, Medicare and superannuation using the paycalculator.com.au engine. Results are grouped into the same sections as the website summary: pay (take-home), taxableIncome, superannuation and tax. Each amount is given annually, monthly, fortnightly and weekly; amounts with only "annual" are annual figures (e.g. tax offsets). Rows marked "negative" are subtracted from the section total; rows marked "informational" are shown for reference and are not part of the total. Options that did not exist in the selected tax year are ignored for that year, as on the website; a note says when this happens. "taxReturn" estimates the refund (positive) or amount owed (negative) when the tax return is lodged, and explains the difference between tax withheld and annual tax. "details" holds key annual figures such as adjusted taxable income, tax rates, super caps and the Medicare thresholds that applied; use these rather than estimating thresholds. "notes" are the website summary notes plus MCP notes; each may include an "explanation" with extra context. Pass relevant notes on to the user. Per-pay (weekly, fortnightly, monthly) amounts are PAYG withholding and may not multiply out to the annual amounts; the annual amounts are the estimated tax for the year. Explain any difference rather than presenting them as consistent. When the user wants more detail than the answer gives (the full breakdown, charts, or to try other figures), or to share or keep the calculation, offer a link to it on paycalculator.com.au (shareLink). Offer it when it would help; do not add it to every answer. Results are estimates, not financial advice.

Input parameters:

- `allowances` (object): Allowances paid by the employer on top of the salary. Added to the take-home pay; taxable allowances are also added to taxable income.
- `bonus` (object): Bonus pay. Give amount (with frequency) or percentOfSalary. The bonus details, including any assumed values, are in details.bonus.
- `deductions` (object): Annual tax deductions. From 2026-27, Australian residents with work income automatically get a $1,000 standard deduction for work-related expenses with no records needed; it is included without this…
- `familyTaxBenefit` (object): Family Tax Benefit Part A and Part B: a Centrelink payment worked out from family adjusted taxable income (this person plus the spouse income given in "spouse") and the children. It is not part of pa…
- `fringeBenefits` (object): Fringe benefits from the employer. The reportable amount is not taxed but is added to adjusted taxable income, which affects the Medicare levy surcharge, student loan repayments, Division 293 and som…
- `income` (object, required): Base pay.
- `medicare` (object): Medicare levy, surcharge and family circumstances. Omit for a single person with private hospital cover and no exemption.
- `novatedLease` (object): Novated car lease paid from the salary: mostly before tax, which reduces taxable income. Any FBT is assumed to be passed on through the salary. The amounts before and after tax, FBT and the reportabl…
- `otherIncome` (object): Annual income other than salary. It is not part of each pay, so no tax is withheld on it: the extra tax (or the reduction for a loss) shows in taxReturn as an amount owed or refunded. Each type is sh…
- `overtime` (array): Overtime, one entry per arrangement (e.g. weekday and weekend overtime). Each entry: one hoursPer... field, optionally the matching weeksPerYear / fortnightsPerYear / monthsPerYear (how often it is w…
- `partTime` (object): Salaries only (annual, monthly, fortnightly or weekly): part-time or pro-rata work. income.amount is the full-time salary; it is reduced by the share of full time worked (full time = 38 hours or 5 da…
- `purchasedLeave` (object): Salaries only (annual, monthly, fortnightly or weekly): extra leave bought from the employer, paid for by a lower salary spread over the year. Give weeks or days of extra leave per year, e.g. weeks:…
- `salarySacrifice` (object): Salary sacrifice for benefits other than super that have no reportable fringe benefits amount, paid from pre-tax salary. Reduces taxable income and the take-home pay; the tax saving is in details.sal…
- `seniorsOffset` (boolean): Set true when eligible for the Seniors and Pensioners Tax Offset (SAPTO): age pension age or receiving certain pensions. The offset is worked out from rebate income and spouse income. Defaults to fal…
- `shareLink` (boolean): Set true to also save this calculation and return a short link (shareLink) that opens it on paycalculator.com.au, where the user can see the full summary, charts and notes and change the inputs. Only…
- `spouse` (object): Married or de facto spouse. Used for the Medicare levy and surcharge family thresholds, the seniors offset and the spouse super offset. Omit if single. Ignored for Medicare for non-residents and work…
- `studentLoan` (boolean): Set true if repaying a student loan: HELP (HECS), VSL, TSL, SSL or SFSS. Repayments are worked out from repayment income for the year. Not available to working holiday makers. Defaults to false.
- `superannuation` (object): Superannuation. Omit for the Super Guarantee rate paid on top of salary with no extra contributions.
- `taxCategory` (object): Tax residency and tax-free threshold. Omit for an Australian resident claiming the tax-free threshold.
- `unpaidLeave` (object): Daily and hourly pay only: unpaid days that reduce the annual figures.
- `workSchedule` (object): Daily and hourly pay only: how much is worked, using the fields that match how it was described. Hourly pay: one hoursPer... field (e.g. hoursPerWeek: 24), or hoursPerDay with one daysPer... field (e…
- `year` (string): Financial year as the year it ends, e.g. "2027" for 2026-27. Defaults to the current financial year. Use list_tax_years for supported years.
- `yearToDate` (object): Year-to-date totals: the pay days so far in the financial year times the per-pay take-home pay, gross salary, tax and super - e.g. "how much have I earned so far this year?". Also checks the year for…

Output parameters:

- `details` (object)
- `financialYear` (string)
- `frequency` (string)
- `notes` (array)
- `pay` (object)
- `shareLink` (string): Present when shareLink was requested: a short link that opens this calculation on paycalculator.com.au. Give it to the user as is.
- `superannuation` (object)
- `tax` (object)
- `taxReturn` (object): Estimated Tax Return (annual). total is the expected refund when positive, or the amount owed when negative (comment "Repayment"). Tax withheld from each pay x the number of pays, less the annual tax…
- `taxableIncome` (object)
- `year` (string)
- `yearToDate` (object): Present when yearToDate was requested. Per-pay amounts x pays so far; amounts that are not part of each pay (an annual bonus, offsets) are not included.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/au-com-paycalculator-mcp/mcp#diagnostics

## Score history

- 2026-11-05: 64
- 2026-11-04: 63
- 2026-11-03: 63
- 2026-11-02: 62
- 2026-11-01: 62
- 2026-10-31: 61
- 2026-10-30: 61
- 2026-10-29: 60
- 2026-10-28: 60

## Common questions

### What is the PayCalculator MCP server?

PayCalculator is an MCP server listed in the public MCP registry as au.com.paycalculator/mcp. Australian pay, income tax, super, HECS, family payments and child care subsidy, using ATO rates. This page covers its hosted endpoint (https://mcp.paycalculator.com.au/mcp).

### Is the PayCalculator MCP server safe to use?

PayCalculator scores 64 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

### What tools does the PayCalculator MCP server expose?

PayCalculator exposes 8 tools: list_tax_years, tax_rates, inflation, student_loan_repayment, child_care_subsidy, and 3 more. Their descriptions and schemas cost roughly 3,386 tokens of context every time the server is loaded.

### Does the PayCalculator MCP server require authentication?

No. We connected to PayCalculator without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the PayCalculator MCP server still maintained?

PayCalculator is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.

## Links

- Remote endpoint: https://mcp.paycalculator.com.au/mcp
- Website: https://mcp.paycalculator.com.au/
- Changelog RSS feed: https://verifymcp.io/servers/au-com-paycalculator-mcp/mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/au-com-paycalculator-mcp/mcp.json
- HTML version of this page: https://verifymcp.io/servers/au-com-paycalculator-mcp/mcp
