Skip to main content
Glama

Server Details

Estimate early lease termination costs, compare options and draft notice letters. Free.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Uptime
100.0% over 27 days
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL
Server Listing
Sahadeva
ChatGPT
–
Claude
–

TDQS

A4.5/5.0

Scored across 4 tools

Disambiguation5/5

Each tool targets a distinct stage of the lease-break workflow (compare, cost, negotiate, notify) and every description explicitly names the sibling tool to use instead for adjacent tasks. The negative routing hints ('Do NOT use for X - use Y') eliminate boundary confusion entirely.

Naming Consistency4/5

All names are snake_case and readable, forming a predictable pattern. Minor deviation: compare_options and estimate_break_cost are verb-led while negotiation_checklist and notice_letter are noun phrases, but the convention is otherwise uniform.

Tool Count4/5

Four tools is on the lean side but each maps to a clearly distinct, non-redundant step in the domain. Nothing feels padded or missing at the surface level.

Completeness4/5

The decision-to-action lifecycle is covered: compare options, estimate cost, negotiate, and draft a notice. Subletting is referenced in compare_options but has no dedicated tool for planning it, a minor gap agents can work around.

Available Tools

4 tools
compare_optionsCompare optionsA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
depositNoSecurity deposit held by the landlord, non-negative amount, e.g. 2200. Default 0
currencyNoISO 4217 currency code used only to label amounts, e.g. USD, GBP, EUR. Default USD
monthly_rentYesCurrent monthly rent as a positive number in the lease currency, e.g. 2200
notice_monthsNoNotice 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_feeNoFixed re-letting/advertising/cleaning fee stated in the lease, non-negative amount, e.g. 300. Default 0
break_fee_monthsNoEarly-termination (break) fee stated in the lease, in months' rent, e.g. 2. Default 0 = no break clause
months_remainingYesMonths left on the lease including the current month, positive number, e.g. 7
landlord_mitigatesNoWhether the landlord must try to re-let and offset rent (duty to mitigate). Default true; false = liable for all remaining rent
sublet_discount_pctNoPercent below full rent a subtenant would pay, 0 to under 100, e.g. 15 for 15%. Default 15
expected_relet_monthsNoExpected months until a replacement tenant moves in, e.g. 0.5 for about two weeks. Default 1
sublet_vacancy_monthsNoMonths the unit sits empty before a subtenant starts paying, non-negative, e.g. 1. Default 1

Output Schema

NameRequiredDescription
optionsYesThe three exit options sorted by net_cost, cheapest first
cheapestYesIdentifier of the lowest-cost option
currencyYesCurrency code the amounts are labelled in
disclaimerYesInformational, not-legal-advice disclaimer to show with the result
assumptionsYesAssumptions applied (sublet discount, vacancy, deposit handling)

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnly/idempotent/non-destructive safety, but the description adds output-shaping behavior the annotations cannot convey: results are net-cost comparisons ranked cheapest-first and include qualitative notes, risks and assumptions. That tells the agent this is an advisory decision tool, not just a calculator.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, front-loaded with the comparison scope, then the usage trigger, then the exclusion. Every clause earns its place; there is no restatement of the title or filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With a full schema (100% coverage) and an output schema present, the description does not need to enumerate parameters or return fields. It covers purpose, decision context, the routing alternative, and the qualitative nature of the output, which is everything needed to invoke it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across all 11 parameters, so defaults, units and constraints (e.g. notice_months capped at months_remaining, sublet_discount_pct range) are already fully documented. The description adds no parameter-level meaning beyond the schema, so the baseline of 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb (compare) and a precise set of resources (breaking vs subletting vs staying to term), and adds the shape of the result (net cost, ranked cheapest first, with notes, risks and assumptions). It also names the sibling it is not (estimate_break_cost), so an agent can route without opening either schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('Use when the user is deciding how to leave a lease') plus an explicit exclusion ('Do NOT use for the itemised break-cost breakdown alone') and names the correct alternative (estimate_break_cost). Both the when and the when-not are stated, leaving nothing to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

estimate_break_costEstimate break costA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
depositNoSecurity deposit held by the landlord, non-negative amount, e.g. 2200. Default 0
currencyNoISO 4217 currency code used only to label amounts, e.g. USD, GBP, EUR. Default USD
monthly_rentYesCurrent monthly rent as a positive number in the lease currency, e.g. 2200
notice_monthsNoNotice 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_feeNoFixed re-letting/advertising/cleaning fee stated in the lease, non-negative amount, e.g. 300. Default 0
break_fee_monthsNoEarly-termination (break) fee stated in the lease, in months' rent, e.g. 2. Default 0 = no break clause
months_remainingYesMonths left on the lease including the current month, positive number, e.g. 7
landlord_mitigatesNoWhether the landlord must try to re-let and offset rent (duty to mitigate). Default true; false = liable for all remaining rent
expected_relet_monthsNoExpected months until a replacement tenant moves in, e.g. 0.5 for about two weeks. Default 1

Output Schema

NameRequiredDescription
currencyYesCurrency code the amounts are labelled in
breakdownYesItemised cost components of breaking the lease
path_usedNoWhich path net_break_cost uses: break_clause (notice rent + break fee + re-letting fee) or no_clause (rent until relet + re-letting fee)
stay_costYesTotal rent if the lease is kept to term, for comparison
disclaimerYesInformational, not-legal-advice disclaimer to show with the result
assumptionsYesAssumptions applied in the estimate (fee, notice, mitigation, deposit)
net_break_costYesEstimated net cost to break the lease after deposit credit: with a break fee, the cheaper of the break-clause and no-clause paths; with no break fee, the no-clause path. Floored at 0
net_without_break_clauseYesNet cost on the no-break-clause path (rent until relet + re-letting fee, less deposit)

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds real behavioral content by disclosing what the estimate accounts for, including deposit credit and net cost vs staying, though it doesn't surface the mitigation/default assumptions that materially change results.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two sentences, front-loaded with the computation and its line items, followed by the routing rule. Every clause earns its place with no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

An output schema exists, so return values need not be spelled out, and the description nonetheless names the key output components for routing. With 9 parameters fully documented in the schema and complete use/exclusion guidance, an agent has everything needed to call it correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so every parameter including defaults and capping rules is already documented in the schema. The description adds no parameter-level meaning beyond that baseline.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('compute an itemised estimate of ending a lease early') and even enumerates the components of the breakdown. It is immediately distinguishable from siblings like compare_options.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives an explicit trigger ('Use when the user asks what breaking their lease will cost') and an explicit exclusion with the correct alternative named ('Do NOT use to weigh breaking vs subletting vs staying - use compare_options'). Nothing is left to inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

negotiation_checklistNegotiation checklistA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
relet_demandNoHow quickly similar units re-let locally: high, medium or low. Default medium
break_fee_monthsNoBreak fee in months' rent stated in the lease, e.g. 2. Default 0 = no break fee
months_remainingNoMonths left on the lease, e.g. 7; 6 or more adds a longer-runway tip. Default 0
landlord_mitigatesNoSet false if the landlord claims no duty to re-let; adds a tip to get that in writing. Omit if unknown

Output Schema

NameRequiredDescription
checklistYesTailored negotiation points and protections, in priority order
disclaimerYesInformational, not-legal-advice disclaimer to show with the result
order_of_operationsYesNumbered steps for running the negotiation from first ask to signed agreement

TDQS

A4.7/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare the safe profile (readOnly, idempotent, non-destructive, closed-world), so the bar is lower. The description adds that the output is tailored to four negotiation factors and that it produces a checklist plus step order — useful beyond the schema, though it says nothing about determinism or the structure of the generated steps.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three sentences, each doing distinct work: what is produced, when to use it, and when to avoid it. Front-loaded with the deliverable and zero filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

With an output schema present and annotations carrying the safety and idempotency profile, the description only needs to cover purpose, tailoring inputs, and routing — all of which it does. Nothing needed to invoke it correctly is missing.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline is 3. The description goes slightly beyond by naming all four factors (break fee, months remaining, mitigation duty, re-let demand) and asserting they shape the checklist, which clarifies that these inputs materially alter output rather than being cosmetic filters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and artifact ('Build a checklist and step order') for a specific resource ('negotiating an early lease exit'), and explicitly names what it does not do versus the sibling estimate_break_cost. An agent can distinguish it from all three siblings without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives the trigger condition ('user wants to negotiate the fee down or plan the conversation') and an explicit exclusion with a redirect ('Do NOT use to compute costs - use estimate_break_cost'). This is the full when/when-not/alternative pattern.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

notice_letterNotice letterA
Read-onlyIdempotent
Inspect

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.

NameRequiredDescriptionDefault
reasonNoShort reason for leaving, e.g. 'job relocation'; omitted if not given
depositNoSecurity deposit amount to mention for return/inspection, e.g. 2200
lease_dateNoDate the lease was signed or started, YYYY-MM-DD, e.g. 2025-06-01. Omitted from the letter if not given
tenant_nameYesTenant's full name as on the lease; also used as the signature, e.g. Asha Rao
monthly_rentNoMonthly rent amount quoted next to the break fee, e.g. 2200 (no currency symbol added)
landlord_nameNoLandlord or property manager name for the greeting. Default 'Landlord/Property Manager'
notice_monthsYesNotice period required by the lease, in months, positive, e.g. 2
break_fee_monthsNoBreak fee in months' rent to acknowledge in the letter, e.g. 2. Omit or 0 to ask for a reasonable arrangement instead
property_addressYesFull address of the rental unit, e.g. 12 Lakeview Dr, Austin, TX
intended_move_out_dateYesPlanned move-out date, YYYY-MM-DD, e.g. 2026-12-15

Output Schema

NameRequiredDescription
letterYesFull plain-text notice letter ready to copy, review and send
subjectYesSuggested email subject / letter heading line
disclaimerYesInformational, not-legal-advice disclaimer to show with the result
sending_tipsYesPractical tips for delivering the notice and protecting yourself

TDQS

A4.5/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description still adds meaningful context beyond that: 'text only - nothing is sent' clarifies no message is dispatched, which is not derivable from the annotations alone.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Three short sentences, front-loaded with the action and scope, then the usage trigger, then the exclusion. Every clause earns its place and there is no filler.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a drafting tool with an output schema and full annotation coverage, the description supplies everything an agent needs: what is produced, that nothing is sent, when to use it, and which sibling handles cost estimation. No material gaps remain.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100% across 10 parameters, so the schema already documents types, formats (YYYY-MM-DD) and omission behavior for every field. The description lists the letter's content lines but adds no syntax or format detail beyond what the schema provides, so the baseline 3 applies.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Draft a formal early-termination notice letter') and enumerates the concrete contents the draft will include (property, lease date, notice period, move-out date, fee and deposit lines, subject, delivery tips). It also disambiguates from the sibling estimate_break_cost, so an agent can tell it apart without opening the schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly gives the trigger ('Use once the user has decided to leave early') and an explicit exclusion with a named alternative ('Do NOT use to estimate costs - use estimate_break_cost'). Nothing about tool selection is left to inference.

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.

  1. 2 tool updates
    • Changedcompare_options2 fields changed
      • changedInput schema / properties / notice_months / description
        Previous value: -"Notice period required by the lease, in months, e.g. 2; cannot exceed months_remaining. Default 2 if no break fee, else 0"New value: +"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"
      • changedOutput schema / properties / options / items / properties / net_cost / description
        Previous value: -"Net cost of this option over the remaining lease"New value: +"Net cost of this option over the remaining lease, after crediting the deposit (capped at the option cost)"
    • Changedestimate_break_cost4 fields changed
      • changedInput schema / properties / notice_months / description
        Previous value: -"Notice period required by the lease, in months, e.g. 2; cannot exceed months_remaining. Default 2 if no break fee, else 0"New value: +"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"
      • changedOutput schema / properties / breakdown / properties / deposit_credit / description
        Previous value: -"Deposit amount credited against the cost"New value: +"Deposit credited against the cost, capped at the cost of the path used for net_break_cost"
      • changedOutput schema / properties / net_break_cost / description
        Previous value: -"Estimated net cost to break the lease after deposit credit (cheaper of the break-clause and no-clause paths, floored at 0)"New value: +"Estimated net cost to break the lease after deposit credit: with a break fee, the cheaper of the break-clause and no-clause paths; with no break fee, the no-clause path. Floored at 0"
      • addedOutput schema / properties / path_used
        Added value: +{
        +  "description": "Which path net_break_cost uses: break_clause (notice rent + break fee + re-letting fee) or no_clause (rent until relet + re-letting fee)",
        +  "enum": [
        +    "break_clause",
        +    "no_clause"
        +  ],
        +  "type": "string"
        +}
  2. 4 tool updates
    • Changedcompare_options20 fields changed
      • changedInput schema / properties / break_fee_months / description
        Previous value: -"Early-termination fee in months' rent"New value: +"Early-termination (break) fee stated in the lease, in months' rent, e.g. 2. Default 0 = no break clause"
      • changedInput schema / properties / currency / description
        Previous value: -"Currency code in ISO 4217 format"New value: +"ISO 4217 currency code used only to label amounts, e.g. USD, GBP, EUR. Default USD"
      • changedInput schema / properties / deposit / description
        Previous value: -"Initial deposit amount as a number"New value: +"Security deposit held by the landlord, non-negative amount, e.g. 2200. Default 0"
      • changedInput schema / properties / expected_relet_months / description
        Previous value: -"Expected months to relett the property as a number"New value: +"Expected months until a replacement tenant moves in, e.g. 0.5 for about two weeks. Default 1"
      • changedInput schema / properties / landlord_mitigates / description
        Previous value: -"True if landlord mitigates damages, false otherwise"New value: +"Whether the landlord must try to re-let and offset rent (duty to mitigate). Default true; false = liable for all remaining rent"
      • changedInput schema / properties / monthly_rent / description
        Previous value: -"Monthly rent"New value: +"Current monthly rent as a positive number in the lease currency, e.g. 2200"
      • changedInput schema / properties / months_remaining / description
        Previous value: -"Months left on the lease (including the current one)"New value: +"Months left on the lease including the current month, positive number, e.g. 7"
      • changedInput schema / properties / notice_months / description
        Previous value: -"Number of months' notice required to terminate the lease"New value: +"Notice period required by the lease, in months, e.g. 2; cannot exceed months_remaining. Default 2 if no break fee, else 0"
      • changedInput schema / properties / reletting_fee / description
        Previous value: -"Fee for reletting the property as a number"New value: +"Fixed re-letting/advertising/cleaning fee stated in the lease, non-negative amount, e.g. 300. Default 0"
      • changedInput schema / properties / sublet_discount_pct / description
        Previous value: -"Percentage discount on rent when subletting, as a number 0-100"New value: +"Percent below full rent a subtenant would pay, 0 to under 100, e.g. 15 for 15%. Default 15"
      • changedInput schema / properties / sublet_vacancy_months / description
        Previous value: -"Number of months the property may be vacant while subletting"New value: +"Months the unit sits empty before a subtenant starts paying, non-negative, e.g. 1. Default 1"
      • addedOutput schema / properties / assumptions
        Added value: +{
        +  "description": "Assumptions applied (sublet discount, vacancy, deposit handling)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / break_lease
        Removed value: -{
        -  "description": "Details about breaking the lease",
        -  "properties": {
        -    "break_fee": {
        -      "description": "Early-termination fee",
        -      "type": "number"
        -    },
        -    "notice_cost": {
        -      "description": "Cost associated with giving notice",
        -      "type": "number"
        -    },
        -    "reletting_fee": {
        -      "description": "Fee for finding a new tenant",
        -      "type": "number"
        -    },
        -    "remaining_rent": {
        -      "description": "Rent for the remaining months",
        -      "type": "number"
        -    },
        -    "risks": {
        -      "description": "Potential risks associated with breaking the lease",
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "total_cost": {
        -      "description": "Total cost of breaking the lease",
        -      "type": "number"
        -    }
        -  },
        -  "required": [
        -    "total_cost",
        -    "break_fee",
        -    "notice_cost",
        -    "reletting_fee",
        -    "remaining_rent",
        -    "risks"
        -  ],
        -  "type": "object"
        -}
      • addedOutput schema / properties / cheapest
        Added value: +{
        +  "description": "Identifier of the lowest-cost option",
        +  "enum": [
        +    "break_lease",
        +    "sublet",
        +    "stay"
        +  ],
        +  "type": "string"
        +}
      • addedOutput schema / properties / currency
        Added value: +{
        +  "description": "Currency code the amounts are labelled in",
        +  "type": "string"
        +}
      • addedOutput schema / properties / disclaimer
        Added value: +{
        +  "description": "Informational, not-legal-advice disclaimer to show with the result",
        +  "type": "string"
        +}
      • addedOutput schema / properties / options
        Added value: +{
        +  "description": "The three exit options sorted by net_cost, cheapest first",
        +  "items": {
        +    "properties": {
        +      "net_cost": {
        +        "description": "Net cost of this option over the remaining lease",
        +        "type": "number"
        +      },
        +      "note": {
        +        "description": "One-line explanation of how the cost arises",
        +        "type": "string"
        +      },
        +      "option": {
        +        "description": "Option identifier",
        +        "enum": [
        +          "break_lease",
        +          "sublet",
        +          "stay"
        +        ],
        +        "type": "string"
        +      },
        +      "risks": {
        +        "description": "Risks to check before choosing this option",
        +        "items": {
        +          "type": "string"
        +        },
        +        "type": "array"
        +      }
        +    },
        +    "required": [
        +      "option",
        +      "net_cost",
        +      "note",
        +      "risks"
        +    ],
        +    "type": "object"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / stay_to_term
        Removed value: -{
        -  "description": "Details about staying to the end of the lease term",
        -  "properties": {
        -    "remaining_rent": {
        -      "description": "Rent for the remaining months",
        -      "type": "number"
        -    },
        -    "risks": {
        -      "description": "Potential risks associated with staying to the end of the lease term",
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "total_cost": {
        -      "description": "Total cost of staying to the end of the lease term",
        -      "type": "number"
        -    }
        -  },
        -  "required": [
        -    "total_cost",
        -    "remaining_rent",
        -    "risks"
        -  ],
        -  "type": "object"
        -}
      • removedOutput schema / properties / sublet
        Removed value: -{
        -  "description": "Details about subletting the lease",
        -  "properties": {
        -    "risks": {
        -      "description": "Potential risks associated with subletting",
        -      "items": {
        -        "type": "string"
        -      },
        -      "type": "array"
        -    },
        -    "sublet_discount": {
        -      "description": "Discount applied to the sublet rent",
        -      "type": "number"
        -    },
        -    "sublet_income": {
        -      "description": "Income from subletting",
        -      "type": "number"
        -    },
        -    "total_cost": {
        -      "description": "Total cost of subletting",
        -      "type": "number"
        -    },
        -    "vacancy_cost": {
        -      "description": "Cost associated with vacancy months",
        -      "type": "number"
        -    }
        -  },
        -  "required": [
        -    "total_cost",
        -    "sublet_income",
        -    "sublet_discount",
        -    "vacancy_cost",
        -    "risks"
        -  ],
        -  "type": "object"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "break_lease",
        -  "sublet",
        -  "stay_to_term"
        -]New value: +[
        +  "currency",
        +  "options",
        +  "cheapest",
        +  "assumptions",
        +  "disclaimer"
        +]
    • Changedestimate_break_cost24 fields changed
      • changedInput schema / properties / break_fee_months / description
        Previous value: -"Early-termination fee in months' rent"New value: +"Early-termination (break) fee stated in the lease, in months' rent, e.g. 2. Default 0 = no break clause"
      • changedInput schema / properties / currency / description
        Previous value: -"Currency code in ISO 4217 format"New value: +"ISO 4217 currency code used only to label amounts, e.g. USD, GBP, EUR. Default USD"
      • changedInput schema / properties / deposit / description
        Previous value: -"Initial deposit amount as a number"New value: +"Security deposit held by the landlord, non-negative amount, e.g. 2200. Default 0"
      • changedInput schema / properties / expected_relet_months / description
        Previous value: -"Expected months to relett the property as a number"New value: +"Expected months until a replacement tenant moves in, e.g. 0.5 for about two weeks. Default 1"
      • changedInput schema / properties / landlord_mitigates / description
        Previous value: -"True if landlord mitigates damages, false otherwise"New value: +"Whether the landlord must try to re-let and offset rent (duty to mitigate). Default true; false = liable for all remaining rent"
      • changedInput schema / properties / monthly_rent / description
        Previous value: -"Monthly rent"New value: +"Current monthly rent as a positive number in the lease currency, e.g. 2200"
      • changedInput schema / properties / months_remaining / description
        Previous value: -"Months left on the lease (including the current one)"New value: +"Months left on the lease including the current month, positive number, e.g. 7"
      • changedInput schema / properties / notice_months / description
        Previous value: -"Number of months' notice required to terminate the lease"New value: +"Notice period required by the lease, in months, e.g. 2; cannot exceed months_remaining. Default 2 if no break fee, else 0"
      • changedInput schema / properties / reletting_fee / description
        Previous value: -"Fee for reletting the property as a number"New value: +"Fixed re-letting/advertising/cleaning fee stated in the lease, non-negative amount, e.g. 300. Default 0"
      • addedOutput schema / properties / assumptions
        Added value: +{
        +  "description": "Assumptions applied in the estimate (fee, notice, mitigation, deposit)",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / break_fee
        Removed value: -{
        -  "description": "The early-termination fee.",
        -  "type": "number"
        -}
      • addedOutput schema / properties / breakdown
        Added value: +{
        +  "description": "Itemised cost components of breaking the lease",
        +  "properties": {
        +    "break_fee": {
        +      "description": "Break fee amount (monthly_rent x break_fee_months)",
        +      "type": "number"
        +    },
        +    "deposit_credit": {
        +      "description": "Deposit amount credited against the cost",
        +      "type": "number"
        +    },
        +    "reletting_fee": {
        +      "description": "Fixed re-letting fee from the lease",
        +      "type": "number"
        +    },
        +    "rent_during_notice": {
        +      "description": "Rent owed for the notice period (monthly_rent x notice_months)",
        +      "type": "number"
        +    },
        +    "rent_until_relet_if_liable": {
        +      "description": "Rent owed until a replacement tenant is found (or to lease end if the landlord does not mitigate)",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "rent_during_notice",
        +    "break_fee",
        +    "reletting_fee",
        +    "rent_until_relet_if_liable",
        +    "deposit_credit"
        +  ],
        +  "type": "object"
        +}
      • removedOutput schema / properties / cost_breakdown
        Removed value: -{
        -  "description": "A detailed breakdown of the costs.",
        -  "items": {
        -    "properties": {
        -      "amount": {
        -        "description": "The amount of the cost item.",
        -        "type": "number"
        -      },
        -      "description": {
        -        "description": "A description of the cost item.",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "description",
        -      "amount"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • changedOutput schema / properties / currency / description
        Previous value: -"The currency in which the costs are calculated."New value: +"Currency code the amounts are labelled in"
      • removedOutput schema / properties / deposit_credit
        Removed value: -{
        -  "description": "The amount of deposit that will be returned.",
        -  "type": "number"
        -}
      • addedOutput schema / properties / disclaimer
        Added value: +{
        +  "description": "Informational, not-legal-advice disclaimer to show with the result",
        +  "type": "string"
        +}
      • addedOutput schema / properties / net_break_cost
        Added value: +{
        +  "description": "Estimated net cost to break the lease after deposit credit (cheaper of the break-clause and no-clause paths, floored at 0)",
        +  "type": "number"
        +}
      • addedOutput schema / properties / net_without_break_clause
        Added value: +{
        +  "description": "Net cost on the no-break-clause path (rent until relet + re-letting fee, less deposit)",
        +  "type": "number"
        +}
      • removedOutput schema / properties / notice_period_rent
        Removed value: -{
        -  "description": "The cost of rent during the notice period.",
        -  "type": "number"
        -}
      • removedOutput schema / properties / reletting_fee
        Removed value: -{
        -  "description": "The fee charged by the landlord or agent for re-letting the property.",
        -  "type": "number"
        -}
      • removedOutput schema / properties / rent_until_relet
        Removed value: -{
        -  "description": "The estimated rent cost until the property is re-let.",
        -  "type": "number"
        -}
      • addedOutput schema / properties / stay_cost
        Added value: +{
        +  "description": "Total rent if the lease is kept to term, for comparison",
        +  "type": "number"
        +}
      • removedOutput schema / properties / total_cost
        Removed value: -{
        -  "description": "The total cost of breaking the lease.",
        -  "type": "number"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "total_cost",
        -  "notice_period_rent",
        -  "break_fee",
        -  "reletting_fee",
        -  "rent_until_relet",
        -  "deposit_credit",
        -  "currency",
        -  "cost_breakdown"
        -]New value: +[
        +  "currency",
        +  "breakdown",
        +  "net_break_cost",
        +  "net_without_break_clause",
        +  "stay_cost",
        +  "assumptions",
        +  "disclaimer"
        +]
    • Changednegotiation_checklist10 fields changed
      • changedInput schema / properties / break_fee_months / description
        Previous value: -"Number of months' rent you must pay as a break fee"New value: +"Break fee in months' rent stated in the lease, e.g. 2. Default 0 = no break fee"
      • changedInput schema / properties / landlord_mitigates / description
        Previous value: -"True if landlord will try to mitigate damages, false otherwise"New value: +"Set false if the landlord claims no duty to re-let; adds a tip to get that in writing. Omit if unknown"
      • changedInput schema / properties / months_remaining / description
        Previous value: -"Number of months left on your lease"New value: +"Months left on the lease, e.g. 7; 6 or more adds a longer-runway tip. Default 0"
      • changedInput schema / properties / relet_demand / description
        Previous value: -"Local demand for reletting the property, e.g. high, medium, low"New value: +"How quickly similar units re-let locally: high, medium or low. Default medium"
      • addedOutput schema / properties / checklist
        Added value: +{
        +  "description": "Tailored negotiation points and protections, in priority order",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / disclaimer
        Added value: +{
        +  "description": "Informational, not-legal-advice disclaimer to show with the result",
        +  "type": "string"
        +}
      • addedOutput schema / properties / order_of_operations
        Added value: +{
        +  "description": "Numbered steps for running the negotiation from first ask to signed agreement",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • removedOutput schema / properties / recommendations
        Removed value: -{
        -  "description": "Additional recommendations based on the input parameters.",
        -  "properties": {
        -    "break_fee": {
        -      "description": "Recommendation on how to approach the break fee.",
        -      "type": "string"
        -    },
        -    "landlord_mitigation": {
        -      "description": "Recommendation based on whether the landlord can mitigate their losses.",
        -      "type": "string"
        -    },
        -    "relet_demand": {
        -      "description": "Recommendation based on the current relet demand.",
        -      "type": "string"
        -    }
        -  },
        -  "required": [
        -    "break_fee",
        -    "relet_demand",
        -    "landlord_mitigation"
        -  ],
        -  "type": "object"
        -}
      • removedOutput schema / properties / steps
        Removed value: -{
        -  "description": "Ordered list of negotiation steps.",
        -  "items": {
        -    "properties": {
        -      "details": {
        -        "description": "Additional information or considerations for the step.",
        -        "type": "string"
        -      },
        -      "order": {
        -        "description": "The order in which the step should be taken.",
        -        "type": "number"
        -      },
        -      "step": {
        -        "description": "The specific action to take.",
        -        "type": "string"
        -      }
        -    },
        -    "required": [
        -      "step",
        -      "details",
        -      "order"
        -    ],
        -    "type": "object"
        -  },
        -  "type": "array"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "steps",
        -  "recommendations"
        -]New value: +[
        +  "checklist",
        +  "order_of_operations",
        +  "disclaimer"
        +]
    • Changednotice_letter25 fields changed
      • changedInput schema / properties / break_fee_months / description
        Previous value: -"The number of months' rent as a break fee"New value: +"Break fee in months' rent to acknowledge in the letter, e.g. 2. Omit or 0 to ask for a reasonable arrangement instead"
      • changedInput schema / properties / deposit / description
        Previous value: -"The security deposit amount in USD"New value: +"Security deposit amount to mention for return/inspection, e.g. 2200"
      • changedInput schema / properties / intended_move_out_date / description
        Previous value: -"YYYY-MM-DD"New value: +"Planned move-out date, YYYY-MM-DD, e.g. 2026-12-15"
      • changedInput schema / properties / landlord_name / description
        Previous value: -"The name of the landlord"New value: +"Landlord or property manager name for the greeting. Default 'Landlord/Property Manager'"
      • changedInput schema / properties / lease_date / description
        Previous value: -"The start date of the lease YYYY-MM-DD"New value: +"Date the lease was signed or started, YYYY-MM-DD, e.g. 2025-06-01. Omitted from the letter if not given"
      • changedInput schema / properties / monthly_rent / description
        Previous value: -"The monthly rent amount in USD"New value: +"Monthly rent amount quoted next to the break fee, e.g. 2200 (no currency symbol added)"
      • changedInput schema / properties / notice_months / description
        Previous value: -"The number of months' notice required by the lease"New value: +"Notice period required by the lease, in months, positive, e.g. 2"
      • changedInput schema / properties / property_address / description
        Previous value: -"The address of the rental property"New value: +"Full address of the rental unit, e.g. 12 Lakeview Dr, Austin, TX"
      • changedInput schema / properties / reason / description
        Previous value: -"The reason for early termination"New value: +"Short reason for leaving, e.g. 'job relocation'; omitted if not given"
      • changedInput schema / properties / tenant_name / description
        Previous value: -"The name of the tenant"New value: +"Tenant's full name as on the lease; also used as the signature, e.g. Asha Rao"
      • removedOutput schema / properties / break_fee_months
        Removed value: -{
        -  "description": "The number of months of rent that will be charged as a break fee.",
        -  "type": "number"
        -}
      • removedOutput schema / properties / deposit
        Removed value: -{
        -  "description": "The security deposit amount for the property.",
        -  "type": "number"
        -}
      • addedOutput schema / properties / disclaimer
        Added value: +{
        +  "description": "Informational, not-legal-advice disclaimer to show with the result",
        +  "type": "string"
        +}
      • removedOutput schema / properties / intended_move_out_date
        Removed value: -{
        -  "description": "The intended move-out date in YYYY-MM-DD format.",
        -  "type": "string"
        -}
      • removedOutput schema / properties / landlord_name
        Removed value: -{
        -  "description": "The name of the landlord or property manager.",
        -  "type": "string"
        -}
      • removedOutput schema / properties / lease_date
        Removed value: -{
        -  "description": "The start date of the lease agreement.",
        -  "type": "string"
        -}
      • changedOutput schema / properties / letter / description
        Previous value: -"The generated formal early-termination notice letter as a plain text string."New value: +"Full plain-text notice letter ready to copy, review and send"
      • removedOutput schema / properties / monthly_rent
        Removed value: -{
        -  "description": "The monthly rent amount for the property.",
        -  "type": "number"
        -}
      • removedOutput schema / properties / notice_months
        Removed value: -{
        -  "description": "The number of months' notice being given for early termination.",
        -  "type": "number"
        -}
      • removedOutput schema / properties / property_address
        Removed value: -{
        -  "description": "The address of the property being vacated.",
        -  "type": "string"
        -}
      • removedOutput schema / properties / reason
        Removed value: -{
        -  "description": "The reason for early termination, if provided.",
        -  "type": "string"
        -}
      • addedOutput schema / properties / sending_tips
        Added value: +{
        +  "description": "Practical tips for delivering the notice and protecting yourself",
        +  "items": {
        +    "type": "string"
        +  },
        +  "type": "array"
        +}
      • addedOutput schema / properties / subject
        Added value: +{
        +  "description": "Suggested email subject / letter heading line",
        +  "type": "string"
        +}
      • removedOutput schema / properties / tenant_name
        Removed value: -{
        -  "description": "The name of the tenant who is terminating the lease.",
        -  "type": "string"
        -}
      • changedOutput schema / required
        Previous value: -[
        -  "letter",
        -  "tenant_name",
        -  "property_address",
        -  "intended_move_out_date"
        -]New value: +[
        +  "letter",
        +  "subject",
        +  "sending_tips",
        +  "disclaimer"
        +]
  3. 4 tool updates
    • Changedcompare_options8 fields changed
      • addedInput schema / properties / currency / description
        Added value: +"Currency code in ISO 4217 format"
      • addedInput schema / properties / deposit / description
        Added value: +"Initial deposit amount as a number"
      • addedInput schema / properties / expected_relet_months / description
        Added value: +"Expected months to relett the property as a number"
      • addedInput schema / properties / landlord_mitigates / description
        Added value: +"True if landlord mitigates damages, false otherwise"
      • addedInput schema / properties / notice_months / description
        Added value: +"Number of months' notice required to terminate the lease"
      • addedInput schema / properties / reletting_fee / description
        Added value: +"Fee for reletting the property as a number"
      • addedInput schema / properties / sublet_discount_pct / description
        Added value: +"Percentage discount on rent when subletting, as a number 0-100"
      • addedInput schema / properties / sublet_vacancy_months / description
        Added value: +"Number of months the property may be vacant while subletting"
    • Changedestimate_break_cost6 fields changed
      • addedInput schema / properties / currency / description
        Added value: +"Currency code in ISO 4217 format"
      • addedInput schema / properties / deposit / description
        Added value: +"Initial deposit amount as a number"
      • addedInput schema / properties / expected_relet_months / description
        Added value: +"Expected months to relett the property as a number"
      • addedInput schema / properties / landlord_mitigates / description
        Added value: +"True if landlord mitigates damages, false otherwise"
      • addedInput schema / properties / notice_months / description
        Added value: +"Number of months' notice required to terminate the lease"
      • addedInput schema / properties / reletting_fee / description
        Added value: +"Fee for reletting the property as a number"
    • Changednegotiation_checklist4 fields changed
      • addedInput schema / properties / break_fee_months / description
        Added value: +"Number of months' rent you must pay as a break fee"
      • addedInput schema / properties / landlord_mitigates / description
        Added value: +"True if landlord will try to mitigate damages, false otherwise"
      • addedInput schema / properties / months_remaining / description
        Added value: +"Number of months left on your lease"
      • addedInput schema / properties / relet_demand / description
        Added value: +"Local demand for reletting the property, e.g. high, medium, low"
    • Changednotice_letter9 fields changed
      • addedInput schema / properties / break_fee_months / description
        Added value: +"The number of months' rent as a break fee"
      • addedInput schema / properties / deposit / description
        Added value: +"The security deposit amount in USD"
      • addedInput schema / properties / landlord_name / description
        Added value: +"The name of the landlord"
      • addedInput schema / properties / lease_date / description
        Added value: +"The start date of the lease YYYY-MM-DD"
      • addedInput schema / properties / monthly_rent / description
        Added value: +"The monthly rent amount in USD"
      • addedInput schema / properties / notice_months / description
        Added value: +"The number of months' notice required by the lease"
      • addedInput schema / properties / property_address / description
        Added value: +"The address of the rental property"
      • addedInput schema / properties / reason / description
        Added value: +"The reason for early termination"
      • addedInput schema / properties / tenant_name / description
        Added value: +"The name of the tenant"
  4. 4 tool updates
    • Changedcompare_options1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "break_lease": {
        +      "description": "Details about breaking the lease",
        +      "properties": {
        +        "break_fee": {
        +          "description": "Early-termination fee",
        +          "type": "number"
        +        },
        +        "notice_cost": {
        +          "description": "Cost associated with giving notice",
        +          "type": "number"
        +        },
        +        "reletting_fee": {
        +          "description": "Fee for finding a new tenant",
        +          "type": "number"
        +        },
        +        "remaining_rent": {
        +          "description": "Rent for the remaining months",
        +          "type": "number"
        +        },
        +        "risks": {
        +          "description": "Potential risks associated with breaking the lease",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "total_cost": {
        +          "description": "Total cost of breaking the lease",
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "total_cost",
        +        "break_fee",
        +        "notice_cost",
        +        "reletting_fee",
        +        "remaining_rent",
        +        "risks"
        +      ],
        +      "type": "object"
        +    },
        +    "stay_to_term": {
        +      "description": "Details about staying to the end of the lease term",
        +      "properties": {
        +        "remaining_rent": {
        +          "description": "Rent for the remaining months",
        +          "type": "number"
        +        },
        +        "risks": {
        +          "description": "Potential risks associated with staying to the end of the lease term",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "total_cost": {
        +          "description": "Total cost of staying to the end of the lease term",
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "total_cost",
        +        "remaining_rent",
        +        "risks"
        +      ],
        +      "type": "object"
        +    },
        +    "sublet": {
        +      "description": "Details about subletting the lease",
        +      "properties": {
        +        "risks": {
        +          "description": "Potential risks associated with subletting",
        +          "items": {
        +            "type": "string"
        +          },
        +          "type": "array"
        +        },
        +        "sublet_discount": {
        +          "description": "Discount applied to the sublet rent",
        +          "type": "number"
        +        },
        +        "sublet_income": {
        +          "description": "Income from subletting",
        +          "type": "number"
        +        },
        +        "total_cost": {
        +          "description": "Total cost of subletting",
        +          "type": "number"
        +        },
        +        "vacancy_cost": {
        +          "description": "Cost associated with vacancy months",
        +          "type": "number"
        +        }
        +      },
        +      "required": [
        +        "total_cost",
        +        "sublet_income",
        +        "sublet_discount",
        +        "vacancy_cost",
        +        "risks"
        +      ],
        +      "type": "object"
        +    }
        +  },
        +  "required": [
        +    "break_lease",
        +    "sublet",
        +    "stay_to_term"
        +  ],
        +  "type": "object"
        +}
    • Changedestimate_break_cost1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "break_fee": {
        +      "description": "The early-termination fee.",
        +      "type": "number"
        +    },
        +    "cost_breakdown": {
        +      "description": "A detailed breakdown of the costs.",
        +      "items": {
        +        "properties": {
        +          "amount": {
        +            "description": "The amount of the cost item.",
        +            "type": "number"
        +          },
        +          "description": {
        +            "description": "A description of the cost item.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "description",
        +          "amount"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    },
        +    "currency": {
        +      "description": "The currency in which the costs are calculated.",
        +      "type": "string"
        +    },
        +    "deposit_credit": {
        +      "description": "The amount of deposit that will be returned.",
        +      "type": "number"
        +    },
        +    "notice_period_rent": {
        +      "description": "The cost of rent during the notice period.",
        +      "type": "number"
        +    },
        +    "reletting_fee": {
        +      "description": "The fee charged by the landlord or agent for re-letting the property.",
        +      "type": "number"
        +    },
        +    "rent_until_relet": {
        +      "description": "The estimated rent cost until the property is re-let.",
        +      "type": "number"
        +    },
        +    "total_cost": {
        +      "description": "The total cost of breaking the lease.",
        +      "type": "number"
        +    }
        +  },
        +  "required": [
        +    "total_cost",
        +    "notice_period_rent",
        +    "break_fee",
        +    "reletting_fee",
        +    "rent_until_relet",
        +    "deposit_credit",
        +    "currency",
        +    "cost_breakdown"
        +  ],
        +  "type": "object"
        +}
    • Changednegotiation_checklist1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "recommendations": {
        +      "description": "Additional recommendations based on the input parameters.",
        +      "properties": {
        +        "break_fee": {
        +          "description": "Recommendation on how to approach the break fee.",
        +          "type": "string"
        +        },
        +        "landlord_mitigation": {
        +          "description": "Recommendation based on whether the landlord can mitigate their losses.",
        +          "type": "string"
        +        },
        +        "relet_demand": {
        +          "description": "Recommendation based on the current relet demand.",
        +          "type": "string"
        +        }
        +      },
        +      "required": [
        +        "break_fee",
        +        "relet_demand",
        +        "landlord_mitigation"
        +      ],
        +      "type": "object"
        +    },
        +    "steps": {
        +      "description": "Ordered list of negotiation steps.",
        +      "items": {
        +        "properties": {
        +          "details": {
        +            "description": "Additional information or considerations for the step.",
        +            "type": "string"
        +          },
        +          "order": {
        +            "description": "The order in which the step should be taken.",
        +            "type": "number"
        +          },
        +          "step": {
        +            "description": "The specific action to take.",
        +            "type": "string"
        +          }
        +        },
        +        "required": [
        +          "step",
        +          "details",
        +          "order"
        +        ],
        +        "type": "object"
        +      },
        +      "type": "array"
        +    }
        +  },
        +  "required": [
        +    "steps",
        +    "recommendations"
        +  ],
        +  "type": "object"
        +}
    • Changednotice_letter1 field changed
      • changedOutput schema / (root)
        Previous value: -nullNew value: +{
        +  "properties": {
        +    "break_fee_months": {
        +      "description": "The number of months of rent that will be charged as a break fee.",
        +      "type": "number"
        +    },
        +    "deposit": {
        +      "description": "The security deposit amount for the property.",
        +      "type": "number"
        +    },
        +    "intended_move_out_date": {
        +      "description": "The intended move-out date in YYYY-MM-DD format.",
        +      "type": "string"
        +    },
        +    "landlord_name": {
        +      "description": "The name of the landlord or property manager.",
        +      "type": "string"
        +    },
        +    "lease_date": {
        +      "description": "The start date of the lease agreement.",
        +      "type": "string"
        +    },
        +    "letter": {
        +      "description": "The generated formal early-termination notice letter as a plain text string.",
        +      "type": "string"
        +    },
        +    "monthly_rent": {
        +      "description": "The monthly rent amount for the property.",
        +      "type": "number"
        +    },
        +    "notice_months": {
        +      "description": "The number of months' notice being given for early termination.",
        +      "type": "number"
        +    },
        +    "property_address": {
        +      "description": "The address of the property being vacated.",
        +      "type": "string"
        +    },
        +    "reason": {
        +      "description": "The reason for early termination, if provided.",
        +      "type": "string"
        +    },
        +    "tenant_name": {
        +      "description": "The name of the tenant who is terminating the lease.",
        +      "type": "string"
        +    }
        +  },
        +  "required": [
        +    "letter",
        +    "tenant_name",
        +    "property_address",
        +    "intended_move_out_date"
        +  ],
        +  "type": "object"
        +}
  5. 4 tool updates
    • First observedcompare_options
    • First observedestimate_break_cost
    • First observednegotiation_checklist
    • First observednotice_letter

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    Provides educational fixed-rate loan estimates with mortgage and auto loan calculators.
    -
  • A
    license
    Not graded
    quality
    B
    maintenance
    Landlord and rental-property calculators as MCP tools: cash flow, cap rate, DSCR, Airbnb break-even occupancy, rent late fees, lease notice dates, and IRS mileage. Offline and deterministic, with no dependencies.
    MIT
  • A
    license
    A
    quality
    D
    maintenance
    Enables renters to cross-examine their rent ledger against their lease using deterministic tools, uncovering discrepancies in charges, fees, and rent amounts.
    15
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources