Clara Mortgage Assistant
Server Details
Deterministic Canadian mortgage calculations for qualification, debt service, LTV, and penalties.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Scored across 6 tools
Each calculation tool targets a distinct mortgage calculation (debt service ratios, LTV, qualification, scenario comparison, prepayment penalty), and the refuse tool exists solely for disallowed requests, creating clear boundaries between tools. The descriptions are explicit about when to use each tool and how they differ, minimizing misselection risk.
Most tools follow a consistent verb_noun pattern (calculate_debt_service, calculate_ltv, calculate_qualification, compare_mortgage_scenarios, estimate_prepayment_penalty). One tool deviates with the verb 'refuse' rather than 'calculate' or 'estimate', which is appropriate given its distinct refusal purpose but slightly inconsistent in naming style.
With 6 tools, the count is well-scoped for a specialized mortgage calculation assistant. Each tool addresses a specific calculation or a necessary refusal flow, and the count is neither too thin nor too heavy for the stated purpose.
The set covers the main mortgage calculations an agent would need (debt service, LTV, qualification, comparisons, prepayment penalties), with a dedicated refusal tool for unsupported requests. A minor gap might be tools for other common calculations like maximum purchase price or payment amount, but the core domain appears covered.
Available Tools
6 toolscalculate_debt_serviceCalculate GDS and TDSARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| housing | No | ||
| tolerances | No | ||
| jurisdiction | No | Canadian calculations only. | CA |
| effectiveDate | Yes | Date the supplied rates and policy assumptions were confirmed. | |
| monthlyPayment | Yes | Monthly mortgage principal-and-interest payment in Canadian dollars. | |
| grossAnnualIncome | Yes | Gross annual household income in Canadian dollars. | |
| otherMonthlyDebts | No | Total other monthly debt obligations in Canadian dollars. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | |
| currency | Yes | |
| disclaimer | Yes | |
| calculation | Yes | |
| jurisdiction | Yes | |
| effectiveDate | Yes | |
| calculationVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description discloses that the tool is calculation-only and not an approval or suitability decision, and it limits inputs to non-identifying numeric values. It also says it will not fill missing inputs from external sources. Annotations already declare readOnlyHint, idempotentHint, and non-destructive; the description adds context about usage scope, so it scores high without contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, with multiple sentences that are all informative. It starts with the MUST-use rule, then explains the calculation, then restrictions, and then prohibitions. No redundant or unnecessary phrases. Each sentence adds value.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Considering the tool is a calculation with an output schema and detailed input schema, the description covers the essential usage. It explains the input scenario, the forbidden alternatives, and the boundaries of the tool's purpose. Minor gap: not describing the output or the fact that it can accept housing costs for GDS/TDS calculation, but the schema covers these. Overall, complete for its purpose.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 71%, covering parameters like monthlyPayment, grossAnnualIncome, housing, and tolerances. The description clarifies the core parameters but does not elaborate on housing or tolerances beyond the schema. It adds the overall logic of direct calculation but doesn't compensate for some parameters not described, like jurisdiction and otherMonthlyDebts, which are self-explanatory.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description specifies 'MUST use this tool when the user supplies a monthly mortgage payment and asks for Canadian GDS or TDS' and clearly states the calculation purpose, distinguishing it from calculate_qualification. It names the resource (GDS/TDS ratios) and the verb (calculate), which is specific and unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit when-to-use instructions: 'MUST use this tool when...' and when-not-to-use: 'do not use calculate_qualification when the monthly payment is already supplied.' It also states what not to do, such as not requiring principal or rate, and mentions the tool is not for approval or suitability decisions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_ltvCalculate LTV and CLTVARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| storedLtv | No | Optional previously stored LTV ratio as a decimal; for example, 75% is 0.75. | |
| loanAmount | Yes | New mortgage or loan amount in Canadian dollars. | |
| valueBasis | No | ||
| jurisdiction | No | Canadian calculations only. | CA |
| effectiveDate | Yes | Date the supplied rates and policy assumptions were confirmed. | |
| purchasePrice | No | Property purchase price in Canadian dollars. | |
| appraisedValue | No | Property appraised value in Canadian dollars. | |
| otherSecuredPositions | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | |
| currency | Yes | |
| disclaimer | Yes | |
| calculation | Yes | |
| jurisdiction | Yes | |
| effectiveDate | Yes | |
| calculationVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate read-only, idempotent, non-destructive behavior. The description reinforces this with 'Calculation only' and explicitly prohibits using the tool for decision-making, adding behavioral clarity beyond the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise but includes several sentences of constraints. It is structured with a clear purpose statement followed by usage restrictions. No unnecessary fluff, though it could be slightly more compact.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description need not explain return values. It covers the calculation purpose and usage constraints effectively. It does not mention required parameters explicitly, but the schema does, so overall completeness is adequate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema provides descriptions for most parameters (75% coverage). The description adds context by mentioning 'purchase price, appraisal, and secured positions', which aligns with key parameters and helps understand their purpose, though it does not detail individual parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Clearly states it calculates Canadian loan-to-value and combined loan-to-value, distinguishing it from sibling tools like debt service or qualification. The verb 'Calculate' and specific resource 'loan-to-value' make the purpose explicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides clear constraints: 'Use only with explicit, non-identifying numeric inputs' and warns against using for approvals or decisions. However, it does not explicitly compare to alternative tools, though the focus on LTV makes appropriate usage implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
calculate_qualificationCalculate B-20 Stress-Test QualificationARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| housing | No | ||
| floorRate | No | Optional minimum qualification rate. Omit it to use the disclosed default. Supply the annual rate as a decimal; for example, 5.25% is 0.0525. | |
| principal | Yes | Mortgage principal in Canadian dollars. | |
| bufferRate | No | Optional stress-test buffer added to the contract rate. Omit it to use the disclosed default. Supply the annual rate as a decimal; for example, 5.25% is 0.0525. | |
| tolerances | No | ||
| contractRate | Yes | Contract rate for the mortgage. Supply the annual rate as a decimal; for example, 5.25% is 0.0525. | |
| jurisdiction | No | Canadian calculations only. | CA |
| effectiveDate | Yes | Date the supplied rates and policy assumptions were confirmed. | |
| grossAnnualIncome | Yes | Gross annual household income in Canadian dollars. | |
| otherMonthlyDebts | No | Total monthly debt obligations outside the housing costs in Canadian dollars. | |
| amortizationMonths | Yes | Mortgage amortization period in months. | |
| straightSwitchExempt | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | |
| currency | Yes | |
| disclaimer | Yes | |
| calculation | Yes | |
| jurisdiction | Yes | |
| effectiveDate | Yes | |
| calculationVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds crucial context: 'This is neutral scenario math, not an approval or underwriting decision' and 'never use this tool to approve, deny, underwrite, recommend...' It also restricts to 'explicit, non-identifying numeric inputs,' disclosing privacy and scope boundaries beyond the annotations. No contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is somewhat lengthy but well-structured. It leads with the primary function, then adds usage guidelines and restrictions. Each sentence conveys essential information, though it could be tightened by removing redundant exclusions. It remains clear and front-loaded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's complexity (12 parameters, nested objects, output schema present), the description covers purpose, usage, behavioral constraints, and boundary cases. It does not need to explain return values because an output schema exists. The description is sufficiently complete for an agent to decide when and how to use it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 75%, so the schema already documents most parameters. The description mentions key inputs (principal, contract rate, amortization, income) but does not add format or unit details beyond what the schema provides. Since coverage is high, a baseline score of 3 is appropriate; the description adds minimal extra param-specific value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states 'Calculate the B-20 qualifying rate, qualifying payment, and resulting GDS/TDS' with specific verb and resource. It also explicitly distinguishes from calculate_debt_service by stating when to use which tool, making the purpose unambiguous among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides explicit usage conditions: 'Use this tool only when the qualifying payment must be calculated from those inputs.' It also gives a clear exclusion: 'If the user already supplies a monthly mortgage payment and asks for GDS/TDS, MUST use calculate_debt_service instead' and warns against using it for approval/underwriting or filling missing data from other sources. This is exemplary guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_mortgage_scenariosCompare Canadian Mortgage ScenariosARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| scenarios | Yes | ||
| jurisdiction | No | Canadian calculations only. | CA |
| effectiveDate | Yes | Date the supplied rates and policy assumptions were confirmed. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | |
| currency | Yes | |
| scenarios | Yes | |
| disclaimer | Yes | |
| jurisdiction | Yes | |
| effectiveDate | Yes | |
| calculationVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds 'deterministic calculations' and 'Calculation only,' reinforcing the read-only and idempotent nature already indicated by annotations. It does not reveal additional side effects or error behaviors, but the added emphasis on no side effects provides some extra transparency.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is concise, two sentences, with no fluff. It efficiently states the purpose and then usage constraints, making it easy to parse and understand.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool's clear scope and the presence of an output schema (per context), the description adequately covers the main aspects: what it does, limits, and constraints. It does not explain return values, but the output schema handles that. Some details about error handling or edge cases are omitted, but the description is sufficient for a calculation-focused tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67% (jurisdiction and effectiveDate have descriptions; scenarios itself lacks one but its nested fields are described). The description adds no specific parameter details beyond stating inputs should be 'explicit, non-identifying numeric inputs,' which is generic and does not enhance the schema's own descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: 'Compare up to six Canadian fixed-rate payment and amortization scenarios using deterministic calculations.' It specifies the resource (mortgage scenarios), action (compare), and constraints (Canadian, fixed-rate, up to six), distinguishing it from sibling tools that focus on individual calculations.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides usage boundaries: 'Use only with explicit, non-identifying numeric inputs' and explicitly states when not to use it ('never use this tool to approve, deny, underwrite, recommend...'). It lacks explicit references to alternative tools, but the purpose is clear enough to guide selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
estimate_prepayment_penaltyEstimate a Mortgage Prepayment PenaltyARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| method | No | ||
| principal | Yes | Outstanding mortgage balance in Canadian dollars. | |
| annualRate | Yes | Current annual mortgage rate. Supply the annual rate as a decimal; for example, 5.25% is 0.0525. | |
| jurisdiction | No | Canadian calculations only. | CA |
| effectiveDate | Yes | Date the supplied rates and policy assumptions were confirmed. | |
| comparisonRate | No | Annual comparison or reference rate used for the simplified interest-rate-differential estimate. Supply the annual rate as a decimal; for example, 5.25% is 0.0525. | |
| remainingTermMonths | Yes | Number of months remaining in the mortgage term. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | |
| currency | Yes | |
| disclaimer | Yes | |
| calculation | Yes | |
| jurisdiction | Yes | |
| effectiveDate | Yes | |
| calculationVersion | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/idempotent/non-destructive annotations, the description adds important behavioral context: lender discharge statements remain authoritative, calculations are estimates only, and the tool must not be used for decisions or to fill missing inputs. This meaningfully discloses limitations and expected behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core purpose, followed by concise usage restrictions. Every sentence earns its place with no redundancy or filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the strong annotations, rich input schema, and existing output schema, the description fully covers purpose, limitations, and usage boundaries. It is complete for an agent to select and invoke the tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is high (86%), so the schema already documents most parameters. The description adds context about the two calculation methods but does not add significant per-parameter semantics beyond what the schema provides. Baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Estimate') and resource ('Mortgage Prepayment Penalty'), and explicitly names the two calculation types ('three-months-interest and simple IRD'). This clearly distinguishes it from sibling tools like calculate_ltv or calculate_qualification.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description provides explicit usage constraints: 'Use only with explicit, non-identifying numeric inputs' and '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.' This gives clear when-to-use and when-not-to-use guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refuse_unsupported_mortgage_requestRefuse Unsupported Mortgage Approval or Underwriting RequestsARead-onlyIdempotentInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| requestType | Yes | Category of unsupported request. Do not include or infer any user, borrower, account, or document data. |
Output Schema
| Name | Required | Description |
|---|---|---|
| tool | Yes | |
| status | Yes | |
| message | Yes | |
| requestType | Yes | |
| dataHandling | Yes | |
| safeAlternative | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly and idempotent annotations, the description discloses that the tool returns a deterministic refusal, must not receive the original prompt or user data, and should not be used to answer requests directly. This adds meaningful behavioral and privacy context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the critical MUST-call instruction, then efficiently lists trigger categories, return behavior, and data-handling rules. Every sentence adds necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description does not need to explain return values. It fully covers when to use the tool, what requestType to send, what not to include, and how to behave, making it complete for an agent to select and invoke correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already provides full enum coverage and a description for requestType. The tool description adds useful guidance to send 'only the matching requestType category' and never include original prompt or user data, reinforcing safe parameter selection, though it does not map specific scenarios to enum values.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states the tool's purpose: to refuse unsupported mortgage approval, underwriting, and related requests. It lists specific trigger categories and explicitly distinguishes the tool from Clara Mortgage Assistant calculations, which also separates it from the sibling calculation tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives explicit when-to-use guidance with 'MUST be called whenever' and enumerates many concrete scenarios. It also clarifies that this tool is for anything 'outside Clara Mortgage Assistant calculations,' effectively directing supported calculation requests to the sibling tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
6 tool updates
- First observed
calculate_debt_service - First observed
calculate_ltv - First observed
calculate_qualification - First observed
compare_mortgage_scenarios - First observed
estimate_prepayment_penalty - First observed
refuse_unsupported_mortgage_request
Related MCP Connectors
Deterministic real estate underwriting, deal analysis & reports: Fix & Flip, BRRRR, construction.
Real Australian lender serviceability, plus repayments, borrowing power and stamp duty.
90+ pure finance calculators: loans, investing, bonds, options, tax. Stateless, stores nothing.
US mortgage calculator and amortization API with 50-state property tax, PMI, and affordability data.
Related MCP Servers
- AlicenseNot gradedqualityCmaintenanceProvides mortgage calculation tools, including monthly payment, amortization schedules, lump sum payments, and extra monthly payments for real estate agents and AI assistants.MIT
- AlicenseAqualityBmaintenanceUS federal student loan repayment math for AI agents, from a parity-verified engine rather than estimated. RAP, IBR, ICR, PAYE and tiered Standard payments with forgiveness timing and tax on forgiveness, plus the plans a borrower is excluded from and the rule why, such as Parent PLUS not qualifying for RAP. No key to start; keyed answers at mcp.finology.tech/mcp add citations.3926MIT
- AlicenseAqualityBmaintenance17 deterministic personal-finance tools across 7 countries (US, UK, CA, AU, AE, SA, India) plus Sharia-compliant Islamic finance (Zakat, Murabaha, Ijarah, Mudarabah, Hajj savings, halal stock screening). Wraps the open-source calcnook engine — zero API keys, pure stdlib, MIT.171MIT
- FlicenseNot gradedqualityCmaintenanceEstimates UK repayment mortgage payments, including monthly payment, total interest, and overpayment impact, for use in ChatGPT.-