# Clara Mortgage Assistant

> Deterministic Canadian mortgage calculations for qualification, debt service, LTV, and penalties.

- name: io.github.clara-finance/clara-mortgage-assistant
- version: 0.1.1
- connection class: R0 (autonomous)
- trust: 77/100 flags: no-repository
- quality: 75/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.clara-finance%2Fclara-mortgage-assistant
- tools: https://api.protogrid.dev/v1/servers/io.github.clara-finance%2Fclara-mortgage-assistant/tools

**An agent can connect right now, no human step.** Remote endpoint, no authentication, reachable on the last probe.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "clara-mortgage-assistant": {
      "type": "http",
      "url": "https://mcp.claratech.ai/mcp"
    }
  }
}
```


## Trust

- hygiene: 80
- liveness: 100
- freshness: 85
- provenance: 45
- drivers: +website +reachable +uptime-100% ~updated-62d-ago -no-repository
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 75/100 (good)

### protocol: 75 (weight 25)

- warn `protocol.modern`: newest supported version is 2025-11-25; 2026-07-28 not supported, older versions are deprecated until 2027-07-28
- n/a `protocol.stateless`: only applies to 2026-07-28 servers
- pass `protocol.transport`: streamable HTTP
- n/a `protocol.list_ttl`: only applies to 2026-07-28 servers

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 6 of 6 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 3,254 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: 25 (weight 15)

- warn `stability.changes`: 6 tool changes in 30 days
- fail `stability.rug_pull`: 6 tools kept their name but changed most of their description in 30 days; review before trusting them

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 6, about 3,254 tokens to load them all
- tool set hash: f47265d3140dbabb5958c35b3de62b5e
- tools last changed: 2026-10-20T21:53:29.363Z
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.clara-finance/clara-mortgage-assistant.svg)](https://protogrid.dev/servers/io.github.clara-finance/clara-mortgage-assistant)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

- 2026-10-20 `estimate_prepayment_penalty` changed (description, annotations) **meaning changed**
  - before: Estimate three-months-interest and simple IRD prepayment penalties; lender discharge statements remain authoritative. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
  - after: Estimates three-months-interest and simplified interest-rate-differential prepayment penalties. Lender discharge statements remain authoritative. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- 2026-10-20 `calculate_ltv` changed (description, annotations) **meaning changed**
  - before: Calculate Canadian loan-to-value and combined loan-to-value using purchase price, appraisal, and secured positions. Ratios are not an approval or suitability decision. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
  - after: Calculates Canadian loan-to-value and combined loan-to-value from the loan amount, other secured positions, and a purchase price, an appraised value, or both. Ratios are not an approval or suitability decision. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- 2026-10-20 `calculate_debt_service` changed (description, annotations) **meaning changed**
  - before: MUST use this tool when the user supplies a monthly mortgage payment and asks for Canadian GDS or TDS. Calculate the ratios directly from that payment, income, and monthly obligations. Do not request principal, contract rate, or amortization, and do not use calculate_qualification when the monthly payment is already supplied. Ratios are not an approval or suitability decision. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
  - after: Calculates Canadian GDS and TDS ratios from a monthly mortgage payment that is already known, plus income, housing costs, and other monthly debts. It takes the payment as given and needs no principal, rate, or amortization. Ratios are not an approval or suitability decision. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- 2026-10-20 `calculate_qualification` changed (description, annotations) **meaning changed**
  - before: Calculate the B-20 qualifying rate, qualifying payment, and resulting GDS/TDS from a supplied principal, contract rate, amortization, and income. Use this tool only when the qualifying payment must be calculated from those inputs. If the user already supplies a monthly mortgage payment and asks for GDS/TDS, MUST use calculate_debt_service instead and must not request principal, rate, or amortization. This is neutral scenario math, not an approval or underwriting decision. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
  - after: Calculates the B-20 qualifying rate, the qualifying payment, and the resulting GDS/TDS from a principal, contract rate, amortization, and income. It computes the payment itself, so it needs those loan terms. Results are neutral scenario math, not an approval or underwriting decision. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- 2026-10-20 `compare_mortgage_scenarios` changed (description, annotations) **meaning changed**
  - before: Compare up to six Canadian fixed-rate payment and amortization scenarios using deterministic calculations. Use only with explicit, non-identifying numeric inputs. Calculation only: never use this tool to approve, deny, underwrite, recommend, select a lender or product, or fill missing inputs from prior chats, files, accounts, documents, websites, or web search.
  - after: Compares up to six Canadian fixed-rate payment and amortization scenarios using deterministic calculations. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- 2026-10-20 `refuse_unsupported_mortgage_request` changed (description, inputSchema, annotations) **meaning changed**
  - before: MUST be called whenever the user asks whether a borrower should be approved, denied, pre-approved, conditionally approved, underwritten, or assessed for suitability. Also call it for lender or product recommendations, borrower documents or accounts, current rates or rules, submissions, outreach, or anything outside Clara Mortgage Assistant calculations. This tool returns the required deterministic refusal. Send only the matching requestType category—never include the original prompt, names, identifiers, document content, or other user data. Do not answer these requests directly.
  - after: Returns a fixed explanation that a request is outside this calculator's scope, with a calculation it can do instead. Categories: approval or underwriting decisions, lender or product recommendations, borrower documents or accounts, current rates, rules, or thresholds, external actions such as submitting applications or contacting anyone, and other unsupported requests. Takes only the category; it accepts no request text, names, identifiers, or document content.

Full history: https://api.protogrid.dev/v1/servers/io.github.clara-finance%2Fclara-mortgage-assistant/changes

## Remotes

- https://mcp.claratech.ai/mcp (streamable-http, auth none, reachable true, uptime30d 1)

## Packages

_none_

## Tools (6)

- `calculate_debt_service`: Calculates Canadian GDS and TDS ratios from a monthly mortgage payment that is already known, plus income, housing costs, and other monthly debts. It takes the payment as given and needs no principal, rate, or amortization. Ratios are not an approval or suitability decision. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- `calculate_ltv`: Calculates Canadian loan-to-value and combined loan-to-value from the loan amount, other secured positions, and a purchase price, an appraised value, or both. Ratios are not an approval or suitability decision. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- `calculate_qualification`: Calculates the B-20 qualifying rate, the qualifying payment, and the resulting GDS/TDS from a principal, contract rate, amortization, and income. It computes the payment itself, so it needs those loan terms. Results are neutral scenario math, not an approval or underwriting decision. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- `compare_mortgage_scenarios`: Compares up to six Canadian fixed-rate payment and amortization scenarios using deterministic calculations. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- `estimate_prepayment_penalty`: Estimates three-months-interest and simplified interest-rate-differential prepayment penalties. Lender discharge statements remain authoritative. Works only from explicit, non-identifying numbers in the request. Returns calculations only: no approval, underwriting, or suitability decisions, no lender or product recommendations, and no values looked up from chats, files, accounts, documents, or the web.
- `refuse_unsupported_mortgage_request`: Returns a fixed explanation that a request is outside this calculator's scope, with a calculation it can do instead. Categories: approval or underwriting decisions, lender or product recommendations, borrower documents or accounts, current rates, rules, or thresholds, external actions such as submitting applications or contacting anyone, and other unsupported requests. Takes only the category; it accepts no request text, names, identifiers, or document content.
