HECS Repayment Calculator

HECS Repayment API and MCP Server

Call the same engine the calculator uses. No key, no sign-up.

What this is

Every figure on this site comes from one rate table, checked against the Australian Taxation Office and last verified on 21 September 2026. This page exposes that engine two ways: an ordinary JSON API for programs, and a Model Context Protocol server so an AI assistant can call it as a tool during a conversation.

There is no API key and no registration, because this site publishes no contact address and so has no way to issue one. There is no rate limit today either. If either changes, it will be announced here before it takes effect.

The endpoints are read-only. They accept a number, return a number, and store nothing — see the privacy policy for what the server does and does not receive.

Calculate a repayment

Pass repayment income. It is broader than taxable income: it adds reportable fringe benefits, total net investment loss, reportable super contributions and exempt foreign employment income.

curl "https://hecscalculator.com/api/v1/repayment?income=95000"

Optional parameters: frequency (week, fortnight, month, year — default year), financial_year (2026-27 or the prior year), and the four annual add-backs listed above. Add-backs are annual by definition and are never scaled by frequency.

The same endpoint accepts a JSON body on POST, which is easier when you have several add-backs:

{
  "income": 1826.92,
  "frequency": "week"
}

Weekly and fortnightly figures are annualised at 52 and 26 pay periods. That is a projection: a year containing an extra pay period produces a higher actual income, and the ATO assesses the annual figure. Every response says so in its assumptions array rather than leaving you to infer it.

Read the rate table

curl "https://hecscalculator.com/api/v1/rates"

Returns the thresholds and marginal rates for both published income years, the indexation rate for every year since 2013, the components of repayment income, the loan types covered, the ATO source URL, the date that ATO page was last updated, and the date these figures were last verified against it. A rate table without a verifiable date is not worth consuming, so the provenance travels with the data.

Machine-readable description of both endpoints: /openapi.json.

Connect an AI assistant

The MCP endpoint is https://hecscalculator.com/mcp, over Streamable HTTP. It is stateless and unauthenticated, so there is no session to establish and no token to obtain. Two tools are exposed: calculate_hecs_repayment and get_hecs_rates.

For a client that reads a JSON config file:

{
  "mcpServers": {
    "hecs": {
      "url": "https://hecscalculator.com/mcp"
    }
  }
}

Or speak to it directly. It is JSON-RPC 2.0 on a single POST:

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "calculate_hecs_repayment",
    "arguments": {
      "income": 95000
    }
  }
}

A tool result comes back both as text and as structuredContent, so a model can quote the number or a program can read the field. Rejected arguments come back as a tool error with the reason, not as a protocol error, so an assistant can correct the call instead of giving up.

Terms, in plain words

Use it. Attribution is appreciated and not required. The results are general information, not financial or tax advice, and this site is not affiliated with, endorsed by, or connected to the ATO or the Commonwealth of Australia. ATO material is Commonwealth copyright, republished under the permission the ATO grants to copy and adapt it, and it must not be presented in any way that suggests the ATO endorses this site.

The figures are reviewed each year before 1 June 2027. If you depend on them, read rates_verified_on in the response rather than trusting the freshness of whatever you cached.