Estimate early lease termination costs, compare options and draft notice letters. Free.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Compare the net cost of breaking the lease vs subletting vs staying to term, ranked cheapest first with notes, risks and assumptions. Use when the user is deciding how to leave a lease. Do NOT use for the itemised break-cost breakdown alone - use estimate_break_cost.
Current monthly rent as a positive number in the lease currency, e.g. 2200
Months left on the lease including the current month, positive number, e.g. 7
Security deposit held by the landlord, non-negative amount, e.g. 2200. Default 0
ISO 4217 currency code used only to label amounts, e.g. USD, GBP, EUR. Default USD
Notice period required by the lease, in months, e.g. 2; cannot exceed months_remaining. Default 2 (capped at months_remaining) if no break fee, else 0
Fixed re-letting/advertising/cleaning fee stated in the lease, non-negative amount, e.g. 300. Default 0
Early-termination (break) fee stated in the lease, in months' rent, e.g. 2. Default 0 = no break clause
Whether the landlord must try to re-let and offset rent (duty to mitigate). Default true; false = liable for all remaining rent
Percent below full rent a subtenant would pay, 0 to under 100, e.g. 15 for 15%. Default 15
Expected months until a replacement tenant moves in, e.g. 0.5 for about two weeks. Default 1
Months the unit sits empty before a subtenant starts paying, non-negative, e.g. 1. Default 1
Compare the net cost of breaking the lease vs subletting vs staying to term, ranked cheapest first with notes, risks and assumptions. Use when the user is deciding how to leave a lease. Do NOT use for the itemised break-cost breakdown alone - use estimate_break_cost.
| Argument | Type | Description |
|---|---|---|
| deposit | number | Security deposit held by the landlord, non-negative amount, e.g. 2200. Default 0 |
| currency | string | ISO 4217 currency code used only to label amounts, e.g. USD, GBP, EUR. Default USD |
| monthly_rent* | number | Current monthly rent as a positive number in the lease currency, e.g. 2200 |
| notice_months | number | Notice period required by the lease, in months, e.g. 2; cannot exceed months_remaining. Default 2 (capped at months_remaining) if no break fee, else 0 |
| reletting_fee | number | Fixed re-letting/advertising/cleaning fee stated in the lease, non-negative amount, e.g. 300. Default 0 |
| break_fee_months | number | Early-termination (break) fee stated in the lease, in months' rent, e.g. 2. Default 0 = no break clause |
| months_remaining* | number | Months left on the lease including the current month, positive number, e.g. 7 |
| landlord_mitigates | boolean | Whether the landlord must try to re-let and offset rent (duty to mitigate). Default true; false = liable for all remaining rent |
| sublet_discount_pct | number | Percent below full rent a subtenant would pay, 0 to under 100, e.g. 15 for 15%. Default 15 |
| expected_relet_months | number | Expected months until a replacement tenant moves in, e.g. 0.5 for about two weeks. Default 1 |
| sublet_vacancy_months | number | Months the unit sits empty before a subtenant starts paying, non-negative, e.g. 1. Default 1 |
{
"type": "object",
"required": [
"monthly_rent",
"months_remaining"
],
"properties": {
"deposit": {
"type": "number",
"description": "Security deposit held by the landlord, non-negative amount, e.g. 2200. Default 0"
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code used only to label amounts, e.g. USD, GBP, EUR. Default USD"
},
"monthly_rent": {
"type": "number",
"description": "Current monthly rent as a positive number in the lease currency, e.g. 2200"
},
"notice_months": {
"type": "number",
"description": "Notice period required by the lease, in months, e.g. 2; cannot exceed months_remaining. Default 2 (capped at months_remaining) if no break fee, else 0"
},
"reletting_fee": {
"type": "number",
"description": "Fixed re-letting/advertising/cleaning fee stated in the lease, non-negative amount, e.g. 300. Default 0"
},
"break_fee_months": {
"type": "number",
"description": "Early-termination (break) fee stated in the lease, in months' rent, e.g. 2. Default 0 = no break clause"
},
"months_remaining": {
"type": "number",
"description": "Months left on the lease including the current month, positive number, e.g. 7"
},
"landlord_mitigates": {
"type": "boolean",
"description": "Whether the landlord must try to re-let and offset rent (duty to mitigate). Default true; false = liable for all remaining rent"
},
"sublet_discount_pct": {
"type": "number",
"description": "Percent below full rent a subtenant would pay, 0 to under 100, e.g. 15 for 15%. Default 15"
},
"expected_relet_months": {
"type": "number",
"description": "Expected months until a replacement tenant moves in, e.g. 0.5 for about two weeks. Default 1"
},
"sublet_vacancy_months": {
"type": "number",
"description": "Months the unit sits empty before a subtenant starts paying, non-negative, e.g. 1. Default 1"
}
}
}Compute an itemised estimate of ending a lease early: notice-period rent, break fee, re-letting fee, rent until re-let, deposit credit and net cost vs staying. Use when the user asks what breaking their lease will cost. Do NOT use to weigh breaking vs subletting vs staying - use compare_options.
| Argument | Type | Description |
|---|---|---|
| deposit | number | Security deposit held by the landlord, non-negative amount, e.g. 2200. Default 0 |
| currency | string | ISO 4217 currency code used only to label amounts, e.g. USD, GBP, EUR. Default USD |
| monthly_rent* | number | Current monthly rent as a positive number in the lease currency, e.g. 2200 |
| notice_months | number | Notice period required by the lease, in months, e.g. 2; cannot exceed months_remaining. Default 2 (capped at months_remaining) if no break fee, else 0 |
| reletting_fee | number | Fixed re-letting/advertising/cleaning fee stated in the lease, non-negative amount, e.g. 300. Default 0 |
| break_fee_months | number | Early-termination (break) fee stated in the lease, in months' rent, e.g. 2. Default 0 = no break clause |
| months_remaining |
Build a checklist and step order for negotiating an early lease exit with the landlord, tailored to the break fee, months remaining, mitigation duty and local re-let demand. Use when the user wants to negotiate the fee down or plan the conversation. Do NOT use to compute costs - use estimate_break_cost.
| Argument | Type | Description |
|---|---|---|
| relet_demand | string | How quickly similar units re-let locally: high, medium or low. Default medium |
| break_fee_months | number | Break fee in months' rent stated in the lease, e.g. 2. Default 0 = no break fee |
| months_remaining | number | Months left on the lease, e.g. 7; 6 or more adds a longer-runway tip. Default 0 |
| landlord_mitigates | boolean | Set false if the landlord claims no duty to re-let; adds a tip to get that in writing. Omit if unknown |
{
"type": "object",
"required": [],
"properties": {
"relet_demand": {
"enum": [
"high",
"medium",
"low"
],
"type": "string",
"description": "How quickly similar units re-let locally: high, medium or low. Default medium"
},
"break_fee_months": {
"type": "number",
"description": "Break fee in months' rent stated in the lease, e.g. 2. Default 0 = no break fee"
},
"months_remaining": {
"type": "number",
"description": "Months left on the lease, e.g. 7; 6 or more adds a longer-runway tip. Default 0"
},
"landlord_mitigates": {
"type": "boolean",
"description": "Set false if the landlord claims no duty to re-let; adds a tip to get that in writing. Omit if unknown"
}
}
}Draft a formal early-termination notice letter (text only - nothing is sent) with property, lease date, notice period, move-out date, fee and deposit lines, plus a subject and delivery tips. Use once the user has decided to leave early. Do NOT use to estimate costs - use estimate_break_cost.
| Argument | Type | Description |
|---|---|---|
| reason | string | Short reason for leaving, e.g. 'job relocation'; omitted if not given |
| deposit | number | Security deposit amount to mention for return/inspection, e.g. 2200 |
| lease_date | string | Date the lease was signed or started, YYYY-MM-DD, e.g. 2025-06-01. Omitted from the letter if not given |
| tenant_name* | string | Tenant's full name as on the lease; also used as the signature, e.g. Asha Rao |
| monthly_rent | number | Monthly rent amount quoted next to the break fee, e.g. 2200 (no currency symbol added) |
| landlord_name | string | Landlord or property manager name for the greeting. Default 'Landlord/Property Manager' |
| notice_months* | number | Notice period required by the lease, in months, positive, e.g. 2 |
| number |
| Months left on the lease including the current month, positive number, e.g. 7 |
| landlord_mitigates | boolean | Whether the landlord must try to re-let and offset rent (duty to mitigate). Default true; false = liable for all remaining rent |
| expected_relet_months | number | Expected months until a replacement tenant moves in, e.g. 0.5 for about two weeks. Default 1 |
{
"type": "object",
"required": [
"monthly_rent",
"months_remaining"
],
"properties": {
"deposit": {
"type": "number",
"description": "Security deposit held by the landlord, non-negative amount, e.g. 2200. Default 0"
},
"currency": {
"type": "string",
"description": "ISO 4217 currency code used only to label amounts, e.g. USD, GBP, EUR. Default USD"
},
"monthly_rent": {
"type": "number",
"description": "Current monthly rent as a positive number in the lease currency, e.g. 2200"
},
"notice_months": {
"type": "number",
"description": "Notice period required by the lease, in months, e.g. 2; cannot exceed months_remaining. Default 2 (capped at months_remaining) if no break fee, else 0"
},
"reletting_fee": {
"type": "number",
"description": "Fixed re-letting/advertising/cleaning fee stated in the lease, non-negative amount, e.g. 300. Default 0"
},
"break_fee_months": {
"type": "number",
"description": "Early-termination (break) fee stated in the lease, in months' rent, e.g. 2. Default 0 = no break clause"
},
"months_remaining": {
"type": "number",
"description": "Months left on the lease including the current month, positive number, e.g. 7"
},
"landlord_mitigates": {
"type": "boolean",
"description": "Whether the landlord must try to re-let and offset rent (duty to mitigate). Default true; false = liable for all remaining rent"
},
"expected_relet_months": {
"type": "number",
"description": "Expected months until a replacement tenant moves in, e.g. 0.5 for about two weeks. Default 1"
}
}
}| break_fee_months | number | Break fee in months' rent to acknowledge in the letter, e.g. 2. Omit or 0 to ask for a reasonable arrangement instead |
| property_address* | string | Full address of the rental unit, e.g. 12 Lakeview Dr, Austin, TX |
| intended_move_out_date* | string | Planned move-out date, YYYY-MM-DD, e.g. 2026-12-15 |
{
"type": "object",
"required": [
"tenant_name",
"property_address",
"notice_months",
"intended_move_out_date"
],
"properties": {
"reason": {
"type": "string",
"description": "Short reason for leaving, e.g. 'job relocation'; omitted if not given"
},
"deposit": {
"type": "number",
"description": "Security deposit amount to mention for return/inspection, e.g. 2200"
},
"lease_date": {
"type": "string",
"description": "Date the lease was signed or started, YYYY-MM-DD, e.g. 2025-06-01. Omitted from the letter if not given"
},
"tenant_name": {
"type": "string",
"description": "Tenant's full name as on the lease; also used as the signature, e.g. Asha Rao"
},
"monthly_rent": {
"type": "number",
"description": "Monthly rent amount quoted next to the break fee, e.g. 2200 (no currency symbol added)"
},
"landlord_name": {
"type": "string",
"description": "Landlord or property manager name for the greeting. Default 'Landlord/Property Manager'"
},
"notice_months": {
"type": "number",
"description": "Notice period required by the lease, in months, positive, e.g. 2"
},
"break_fee_months": {
"type": "number",
"description": "Break fee in months' rent to acknowledge in the letter, e.g. 2. Omit or 0 to ask for a reasonable arrangement instead"
},
"property_address": {
"type": "string",
"description": "Full address of the rental unit, e.g. 12 Lakeview Dr, Austin, TX"
},
"intended_move_out_date": {
"type": "string",
"description": "Planned move-out date, YYYY-MM-DD, e.g. 2026-12-15"
}
}
}