# Arthr — Australian home loans (remote · www.arthr.com.au)

Real Australian lender serviceability, plus repayments, borrowing power and stamp duty.

- Trust score: 85/100 (high trust)
- Change this week: +2
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-09-21

## Components

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

## Channel facts

- Endpoint: `https://www.arthr.com.au/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.1.3`

## 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-09-21.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - 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**: 62/100
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 3479 tokens (~434/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**: 100/100
  - No destabilizing schema changes in the last 30 days.
- **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**: 100/100
  - No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.
  - We read all 8 captured tool definition(s), and no name or description among them implies an irreversible operation.
  - An AI judge read all 9 captured unit(s) of tool text and found none that tries to manipulate the model reading it.
- **Capabilities**: 100/100
  - Implements a current MCP spec version (2026-07-28).

## Install

### How do I install the Arthr — Australian home loans MCP server?

Arthr — Australian home loans is a hosted endpoint at https://www.arthr.com.au/api/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-arthr-mcp 'https://www.arthr.com.au/api/mcp'
```

### Cursor

```json
{
  "mcpServers": {
    "au-com-arthr-mcp": {
      "url": "https://www.arthr.com.au/api/mcp"
    }
  }
}
```

### VS Code

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

### Codex

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

### opencode

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

### OpenClaw

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

### Hermes

```yaml
mcp_servers:
  au-com-arthr-mcp:
    url: "https://www.arthr.com.au/api/mcp"
```

### Netclaw

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

### Vellum

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

### Other

```json
{
  "mcpServers": {
    "au-com-arthr-mcp": {
      "type": "http",
      "url": "https://www.arthr.com.au/api/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-09-18 (score 85, 0)

- [security] Stability: 0.97 → pass

### 2026-09-17 (score 85, +1)

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

### 2026-09-15 (score 84, +1)

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

### 2026-09-13 (score 83, +1)

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

### 2026-09-11 (score 82, +1)

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

### 2026-09-08 (score 81, +1)

- [cosmetic] “lookup_discharge_process” reworded the description of “lender”

### 2026-09-06 (score 80, +1)

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

### 2026-09-04 (score 79, +1)

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

## MCP tools (8)

### `estimate_repayments` (~115 tokens)

Estimate home loan repayments

Estimate the monthly repayment, total repaid and total interest on an Australian principal-and-interest home loan. Use this when someone asks what a loan would cost them each month, or how much interest they'd pay over the life of a loan.

Input parameters:

- `interestRate` (number, required): Annual interest rate as a percentage, e.g. 6.2 for 6.2% p.a.
- `loanAmount` (number, required): Loan amount in AUD.
- `termYears` (number): Loan term in years. Defaults to 30.

Output parameters:

- `interestRate` (number)
- `loanAmount` (number)
- `monthlyRepayment` (number): Monthly P&I repayment, AUD.
- `termYears` (number)
- `totalInterest` (number): Total interest paid over the term, AUD.
- `totalRepaid` (number): Total repaid over the full term, AUD.

### `estimate_borrowing_power` (~542 tokens)

Estimate borrowing power

Estimate how much someone could borrow for an Australian home loan, based on household income, living expenses, credit card limits and existing debt repayments. Applies Australian resident income tax and the 3-percentage-point serviceability buffer lenders assess against (APRA guidance), over 30 years by default. Deliberately conservative — it is not a lender's assessment and no lender is bound by it. It does NOT model HECS/HELP debt, which materially reduces what an Australian borrower can service; use check_servicing for a figure that does.

Input parameters:

- `creditCardLimits` (number): Total credit limit across all cards, AUD — the limit, not the balance and not the monthly payment. Lenders assess the limit whether or not the card is cleared each month, so a card paid off in full s…
- `grossAnnualIncome` (number, required): COMBINED household income before tax, in AUD per year — both incomes added together for a couple. Note this differs from check_servicing, which wants one applicant's income with a partner supplied se…
- `interestRate` (number, required): The annual rate the loan would sit at, as a percentage, e.g. 6.2. The serviceability buffer is added to this automatically.
- `monthlyDebtRepayments` (number): Repayments on car and personal loans, AUD per month. Pass credit cards as creditCardLimits instead, not as a repayment. Defaults to 0.
- `monthlyExpenses` (number, required): Living costs in AUD per month — food, transport, utilities, insurance, childcare, subscriptions. Convert carefully: a weekly figure is x52/12, a fortnightly one is x26/12. EXCLUDE rent or mortgage pa…
- `termYears` (number): Term to assess over. Defaults to 30. Pass the remaining term for someone refinancing who is keeping their original end date — assessing them over a fresh 30 years overstates what they can service.

Output parameters:

- `assessmentBuffer` (number)
- `assessmentRate` (number): Rate used to test serviceability (actual rate + buffer), % p.a.
- `borrowingPower` (number): Estimated maximum loan, assessed at the buffered rate, AUD.
- `borrowingPowerAtRate` (number): What the same surplus would fund at the actual rate, with no buffer, AUD.
- `cardCommitment` (number): What the credit card limits cost per month in assessed commitment, AUD.
- `modelsHecs` (boolean): Always false. HECS/HELP is not in this model — use check_servicing.
- `monthlyRepayment` (number): Monthly repayment on the assessed loan at the actual rate, AUD.
- `monthlySurplus` (number): Income left after tax, living costs and existing repayments, AUD per month.
- `surplusFactor` (number): Share of the surplus actually lent against. Stated rather than folded in silently, so the annuity reconciles without being reverse-engineered.
- `termYears` (number)

### `estimate_refinance_savings` (~149 tokens)

Estimate refinance savings

Compare an existing home loan rate against a lower one and estimate the monthly and whole-of-term saving. Use this when someone asks whether refinancing is worth it, or what dropping their rate would save them. Both rates are arguments — this tool does not quote or assume a market rate.

Input parameters:

- `currentRate` (number, required): The rate they're on now, as a percentage, e.g. 6.8.
- `loanAmount` (number, required): Outstanding loan balance in AUD.
- `newRate` (number, required): The rate being compared against, as a percentage, e.g. 6.2.
- `termYears` (number): Years remaining on the loan. Defaults to 30.

Output parameters:

- `currentRate` (number)
- `currentRepayment` (number): Monthly repayment at the current rate, AUD.
- `loanAmount` (number)
- `monthlySaving` (number): Monthly difference, AUD. Zero if the new rate is higher.
- `newRate` (number)
- `newRepayment` (number): Monthly repayment at the new rate, AUD.
- `termYears` (number)
- `totalSaving` (number): Saving over the full remaining term, AUD.

### `estimate_refinance_break_even` (~363 tokens)

Estimate refinance break-even

Work out how many months it takes for a refinance to pay for itself once switching costs are counted, and what the net saving is after them. Call this rather than estimate_refinance_savings when someone is deciding whether a switch is worth doing, not just how much a lower rate saves. Switching costs are an argument — this tool does not assume a figure, because they vary by lender and by state and most lenders don't publish theirs. Use lookup_discharge_process for the lender-stated discharge fee where there is one. This models a variable loan: if they are on a fixed rate, the break cost belongs in switchingCosts and usually decides the answer on its own.

Input parameters:

- `currentRate` (number, required): The rate they're on now, as a percentage, e.g. 6.8.
- `loanAmount` (number, required): Outstanding loan balance in AUD.
- `newRate` (number, required): The rate being switched to, as a percentage, e.g. 6.2.
- `switchingCosts` (number, required): Total one-off cost of switching in AUD. ASK WHETHER THEY ARE ON A FIXED RATE FIRST. Breaking a fixed term costs thousands to tens of thousands and dwarfs everything else here — a $14,000 break fee tu…
- `termYears` (number): Years remaining on the loan. Defaults to 30.

Output parameters:

- `breakEvenMonths` (number|null): Months until the accumulated saving covers the switching cost. Null when the new rate is no better, in which case it never breaks even.
- `breaksEvenWithinTerm` (boolean)
- `currentRate` (number)
- `currentRepayment` (number)
- `loanAmount` (number)
- `monthlySaving` (number): Monthly difference, AUD. Zero if the new rate is higher.
- `netSavingFirstYear` (number): Saving over 12 months less switching costs, AUD. Negative early on.
- `netSavingOverTerm` (number): Saving over the remaining term less switching costs, AUD.
- `newRate` (number)
- `newRepayment` (number)
- `switchingCosts` (number): The one-off cost supplied, AUD.
- `termYears` (number)
- `totalSaving` (number)

### `estimate_equity_and_lvr` (~257 tokens)

Estimate equity and LVR

Work out loan-to-value ratio, equity, and — the part that matters — how much of that equity is actually usable. Value minus balance is not what a borrower can borrow: lenders generally release to 80% of the property's value, so the usable figure is often far smaller than the raw one. Set situation="purchase" when the person does not own the property yet and loanBalance is the loan they would take out; the answer is then about their deposit and whether mortgage insurance applies, and "usable equity" is not reported, because for a buyer it is a number that does not exist.

Input parameters:

- `loanBalance` (number, required): What is still owing in AUD — or, for a purchase, the loan they would take out.
- `propertyValue` (number, required): What the property is worth in AUD — or the purchase price, for a purchase.
- `situation` (string): 'owner' (default) — they own the property and this is the balance on it. 'purchase' — they are buying, and loanBalance is the proposed loan. Get this right: treating a buyer as an owner reports usabl…

Output parameters:

- `equity` (number|null): Property value less the loan balance, AUD. Not what can be borrowed. Null for a purchase, where the person owns nothing yet — a strict client must accept the null rather than treat it as a failure.
- `lmiLikely` (boolean): Whether mortgage insurance is likely in play.
- `lmiThresholdLvr` (number)
- `loanBalance` (number)
- `lvr` (number): Loan as a PERCENTAGE of value: 85 means 85%, not 0.85. Note that check_servicing reports the same ratio as a fraction, so do not carry one into the other without converting.
- `propertyValue` (number)
- `shortfallToThreshold` (number): How far above the 80% threshold the loan sits, AUD. Zero when below.
- `usableEquity` (number|null): What could generally be released without mortgage insurance, AUD — 80% of value less the balance. Zero when already at or above 80%.

### `estimate_stamp_duty` (~148 tokens)

Estimate stamp duty

Estimate stamp (transfer) duty on an Australian residential property purchase, for any state or territory, including first-home and owner-occupier concessions. Duty scales differ in every jurisdiction and change at each state budget, so this is the tool to call rather than working duty out from memory.

Input parameters:

- `buyerType` (string): Buyer situation. 'first-home' applies first-home exemptions and concessions where the state offers them; 'owner-occupier' applies standing owner-occupier rates; 'investor' applies the general scale.…
- `price` (number, required): Purchase price in AUD.
- `state` (string, required): State or territory the property is in.

Output parameters:

- `buyerType` (string)
- `concession` (number): Amount saved by the concession, AUD.
- `concessionLabel` (string|null): Name of the concession applied, or null if none.
- `duty` (number): Duty payable for this buyer type, AUD.
- `effectiveRate` (number): Duty as a percentage of the price.
- `price` (number)
- `standardDuty` (number): Full duty before any concession, AUD.
- `state` (string)

### `lookup_discharge_process` (~224 tokens)

Look up a lender's mortgage discharge process

Look up how to discharge a mortgage with a specific Australian lender — the name of the form, a link to it on the lender's own site, where the completed form is submitted, the lender-stated processing time, the discharge fee where the lender publishes one, and the phone number. This is the first step in refinancing away from a lender or selling. Every field is taken from the lender's own published material and dated; where a lender publishes no timeframe or fee, that is reported rather than guessed. Call this instead of describing a discharge process from memory.

Input parameters:

- `lender` (string, required): The lender. Accepts the slug, the full or legal name, or the shorthand — "nab", "NAB" and "National Australia Bank" all resolve to the same row. Covered: Commonwealth Bank, ANZ, Westpac, NAB, St.Geor…

Output parameters:

- `businessDays` (number|null): Lender-stated minimum processing time, or null if they publish none.
- `feeAud` (number|null): Discharge fee in AUD, only where the lender publishes it. Null for almost every lender — the fee sits in the loan contract.
- `formKind` (string): How the form is obtained. 'phone' means the lender publishes no form at all and you have to ring and ask for it.
- `formName` (string): The lender's own name for the form.
- `formUrl` (string): Link to the form on the lender's own domain.
- `lender` (string)
- `note` (string): Anything specific about this lender's process.
- `phone` (string)
- `slug` (string)
- `source` (string): The lender's own page about discharging.
- `submitTo` (string): Where the completed form goes.
- `verified` (string): ISO date this row was last checked against the source.

### `check_servicing` (~1249 tokens)

Check what lenders would actually lend

Run a REAL serviceability calculation across a panel of Australian lenders and get back, per lender, how much they would lend, whether they would lend at all, the rate they'd assess at, and — where they decline — why. This is not an estimate: it is the same calculation a broker runs. Use it once you have income, monthly living costs and a property value; prefer estimate_borrowing_power before that, for a fast rough figure. It is the only tool here that models HECS/HELP debt, and the only one that can tell you a lender says no. It takes seconds rather than milliseconds, so call it when the answer matters, not to explore.

Input parameters:

- `creditCardLimits` (number): Total credit limit across all cards, AUD — the limit, not the balance. Lenders assess the limit whether or not the card is cleared monthly.
- `dependants` (number): Number of dependent children.
- `deposit` (number): Deposit available, AUD. Borrowing capacity is a serviceability question and does not depend on it, so this never changes what a lender will lend — but supply it anyway and the answer will also say wh…
- `expectedRentalIncome` (number): Annual gross rent, AUD, for an investment purchase. KNOWN LIMITATION: this is passed to the lender panel but does not currently move the answer — $200,000 of rent changes capacity by zero. The value…
- `firstHomeBuyer` (boolean): Whether this is their first home. Worth asking rather than assuming: with a state supplied it can remove stamp duty entirely — a NSW first home buyer under $800,000 pays nil where anyone else pays ar…
- `focus` (string): Which question to shape the answer around. 'capacity' — how much could they borrow. 'affordability' — can they afford a specific price. 'rates' — what rate the panel offers them. 'repayments' — what…
- `grossAnnualIncome` (number, required): The APPLICANT'S OWN income before tax, AUD per year — not the household total. This differs from estimate_borrowing_power, which takes a combined figure. Passing a household number here and also sett…
- `hecsBalance` (number): Outstanding HECS/HELP debt, AUD. Worth asking for even when it seems small: it is the most common Australian debt and it moves the answer by tens of thousands. The calculator tools cannot model it; t…
- `loanAmount` (number): The loan being SOUGHT, AUD — not an existing balance, which is what the refinance tools mean by the same name. Supply it when testing whether a specific loan is serviceable. Omitting it does NOT ask…
- `monthlyExpenses` (number, required): Living costs per MONTH, AUD — food, transport, utilities, insurance, childcare, subscriptions. Australians almost always quote this weekly or fortnightly, so convert carefully: a weekly figure is x52…
- `otherMonthlyRepayments` (number): Car and personal loan repayments, AUD per month.
- `partnerAnnualIncome` (number): A SECOND BORROWER'S income before tax, AUD per year — someone who will be named on the loan and legally liable for it. Set it ONLY for a genuinely joint application. It is not for a parent helping wi…
- `postcode` (string): Australian postcode of the property. Worth supplying: it determines the state, and stamp duty differs by more than a percentage point between them — a five-figure difference in the cash needed at set…
- `propertyPurpose` (string): Whether they'll live in it or rent it out.
- `propertyValue` (number, required): The property's value, or the purchase price being considered, AUD. Required for a real servicing run — the panel can't be asked without it.
- `state` (string): State or territory of the property. Use when known — it is more direct than a postcode and takes precedence over one. Drives stamp duty and first-home concessions.
- `targetPrice` (number): With focus=affordability, the purchase price being tested.

Output parameters:

- `lenders` (array): One entry per lender. `does_service` false with a `fail_reason` is the most useful thing here — it says what to fix, not just that the answer was no. Present for focus=capacity, rates and repayments.…
- `lvr` (number): Loan as a PERCENTAGE of value, normalised to match estimate_equity_and_lvr: 85 means 85%. Upstream reports it as a fraction; it is converted here so one ratio does not have two units on one server.
- `monthly_repayment` (object)
- `range` (object): Low, mid and high capacity across the panel.
- `source` (string): Always 'lender_panel' — the result came from a live panel of lenders rather than from arthr's own model.
- `summary` (string)

## Diagnostics

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

## Score history

- 2026-09-21: 85
- 2026-09-20: 85
- 2026-09-19: 85
- 2026-09-18: 85
- 2026-09-17: 85
- 2026-09-16: 84
- 2026-09-15: 84
- 2026-09-14: 83
- 2026-09-13: 83
- 2026-09-12: 82
- 2026-09-11: 82
- 2026-09-10: 81
- 2026-09-09: 81
- 2026-09-08: 81
- 2026-09-07: 80
- 2026-09-06: 80
- 2026-09-05: 79
- 2026-09-04: 79
- 2026-09-03: 78
- 2026-09-02: 78
- 2026-09-01: 77
- 2026-08-31: 77
- 2026-08-30: 76
- 2026-08-29: 76
- 2026-08-28: 75
- 2026-08-27: 75
- 2026-08-26: 74
- 2026-08-25: 72
- 2026-08-24: 72
- 2026-08-23: 71

## Common questions

### What is the Arthr — Australian home loans MCP server?

Arthr — Australian home loans is an MCP server listed in the public MCP registry as au.com.arthr/mcp. Real Australian lender serviceability, plus repayments, borrowing power and stamp duty. This page covers its hosted endpoint (https://www.arthr.com.au/api/mcp).

### Is the Arthr — Australian home loans MCP server safe to use?

Arthr — Australian home loans scores 85 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 Arthr — Australian home loans MCP server expose?

Arthr — Australian home loans exposes 8 tools: estimate_repayments, estimate_borrowing_power, estimate_refinance_savings, estimate_refinance_break_even, estimate_equity_and_lvr, and 3 more. Their descriptions and schemas cost roughly 3,047 tokens of context every time the server is loaded.

### Does the Arthr — Australian home loans MCP server require authentication?

No. We connected to Arthr — Australian home loans without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

### Is the Arthr — Australian home loans MCP server still maintained?

Arthr — Australian home loans is still listed as active in the MCP registry. We last reached this channel on 21 September 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://www.arthr.com.au/api/mcp
- Website: https://www.arthr.com.au/mcp
- Changelog RSS feed: https://verifymcp.io/servers/au-com-arthr-mcp/api-mcp.xml
- Changelog JSON feed: https://verifymcp.io/servers/au-com-arthr-mcp/api-mcp.json
- HTML version of this page: https://verifymcp.io/servers/au-com-arthr-mcp/api-mcp
