LeaseBreak MCP
LeaseBreak provides MCP tools for AI assistants to estimate early lease termination costs, compare options like subletting versus breaking the lease, draft formal notice letters, and build negotiation checklists. It computes itemized estimates including notice-period rent, break fees, and deposit returns based on user-provided terms, without storing data or sending payments.
Endpoint and access
No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.
https://lease-break.magicteams.ai/mcpWhat its tools do
4 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.
Checks and signals
Each line is separate evidence, not a trust score.
- Passed Endpoint answered the live check ·
- Availability 1 of 1 checks passed in 30 days
What you can do with it
- Compute an itemised estimate of ending a lease early
- Compare the net cost of breaking the lease vs subletting vs staying
- Draft a formal early-termination notice letter
- Build a checklist for negotiating an early lease exit
Source and maintenance
- Maintenance checked
Protocol and capabilities
- Server
- lease-break 1.0.0
- MCP protocol negotiated in check
- 2025-11-25
- Tools
- 4 advertised
- Resources
- Not advertised
- Resource templates
- Not advertised
- Prompts
- Not advertised
{
"tools": {
"listChanged": false
}
}Server-provided instructions
Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.
Tools
4 advertised
estimate_break_cost — Estimate break cost
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.
{
"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"
}
}
}{
"type": "object",
"required": [
"currency",
"breakdown",
"net_break_cost",
"net_without_break_clause",
"stay_cost",
"assumptions",
"disclaimer"
],
"properties": {
"currency": {
"type": "string",
"description": "Currency code the amounts are labelled in"
},
"breakdown": {
"type": "object",
"required": [
"rent_during_notice",
"break_fee",
"reletting_fee",
"rent_until_relet_if_liable",
"deposit_credit"
],
"properties": {
"break_fee": {
"type": "number",
"description": "Break fee amount (monthly_rent x break_fee_months)"
},
"reletting_fee": {
"type": "number",
"description": "Fixed re-letting fee from the lease"
},
"deposit_credit": {
"type": "number",
"description": "Deposit credited against the cost, capped at the cost of the path used for net_break_cost"
},
"rent_during_notice": {
"type": "number",
"description": "Rent owed for the notice period (monthly_rent x notice_months)"
},
"rent_until_relet_if_liable": {
"type": "number",
"description": "Rent owed until a replacement tenant is found (or to lease end if the landlord does not mitigate)"
}
},
"description": "Itemised cost components of breaking the lease"
},
"path_used": {
"enum": [
"break_clause",
"no_clause"
],
"type": "string",
"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)"
},
"stay_cost": {
"type": "number",
"description": "Total rent if the lease is kept to term, for comparison"
},
"disclaimer": {
"type": "string",
"description": "Informational, not-legal-advice disclaimer to show with the result"
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Assumptions applied in the estimate (fee, notice, mitigation, deposit)"
},
"net_break_cost": {
"type": "number",
"description": "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"
},
"net_without_break_clause": {
"type": "number",
"description": "Net cost on the no-break-clause path (rent until relet + re-letting fee, less deposit)"
}
}
}{
"title": "Estimate break cost",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}compare_options — Compare options
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.
{
"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"
}
}
}{
"type": "object",
"required": [
"currency",
"options",
"cheapest",
"assumptions",
"disclaimer"
],
"properties": {
"options": {
"type": "array",
"items": {
"type": "object",
"required": [
"option",
"net_cost",
"note",
"risks"
],
"properties": {
"note": {
"type": "string",
"description": "One-line explanation of how the cost arises"
},
"risks": {
"type": "array",
"items": {
"type": "string"
},
"description": "Risks to check before choosing this option"
},
"option": {
"enum": [
"break_lease",
"sublet",
"stay"
],
"type": "string",
"description": "Option identifier"
},
"net_cost": {
"type": "number",
"description": "Net cost of this option over the remaining lease, after crediting the deposit (capped at the option cost)"
}
}
},
"description": "The three exit options sorted by net_cost, cheapest first"
},
"cheapest": {
"enum": [
"break_lease",
"sublet",
"stay"
],
"type": "string",
"description": "Identifier of the lowest-cost option"
},
"currency": {
"type": "string",
"description": "Currency code the amounts are labelled in"
},
"disclaimer": {
"type": "string",
"description": "Informational, not-legal-advice disclaimer to show with the result"
},
"assumptions": {
"type": "array",
"items": {
"type": "string"
},
"description": "Assumptions applied (sublet discount, vacancy, deposit handling)"
}
}
}{
"title": "Compare options",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}notice_letter — Notice letter
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.
{
"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"
}
}
}{
"type": "object",
"required": [
"letter",
"subject",
"sending_tips",
"disclaimer"
],
"properties": {
"letter": {
"type": "string",
"description": "Full plain-text notice letter ready to copy, review and send"
},
"subject": {
"type": "string",
"description": "Suggested email subject / letter heading line"
},
"disclaimer": {
"type": "string",
"description": "Informational, not-legal-advice disclaimer to show with the result"
},
"sending_tips": {
"type": "array",
"items": {
"type": "string"
},
"description": "Practical tips for delivering the notice and protecting yourself"
}
}
}{
"title": "Notice letter",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}negotiation_checklist — Negotiation checklist
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.
{
"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"
}
}
}{
"type": "object",
"required": [
"checklist",
"order_of_operations",
"disclaimer"
],
"properties": {
"checklist": {
"type": "array",
"items": {
"type": "string"
},
"description": "Tailored negotiation points and protections, in priority order"
},
"disclaimer": {
"type": "string",
"description": "Informational, not-legal-advice disclaimer to show with the result"
},
"order_of_operations": {
"type": "array",
"items": {
"type": "string"
},
"description": "Numbered steps for running the negotiation from first ask to signed agreement"
}
}
}{
"title": "Negotiation checklist",
"readOnlyHint": true,
"openWorldHint": false,
"idempotentHint": true,
"destructiveHint": false
}Prompts
Not advertised
Resources
Not advertised
30-day availability
Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.
- Successful checks
- 1 of 1 (100%)
- Average latency
- 378 ms
- 95th percentile latency
- 378 ms
Maintenance history
Public check and source-refresh events. Editorial and ownership records remain private.
- · probe · passed · 378 ms · metadata changed · 4 tool(s)
Connect from your client
Each snippet registers the same endpoint; pick the client you use.
Claude Code
claude mcp add --transport http leasebreak-mcp https://lease-break.magicteams.ai/mcpCodex
codex mcp add leasebreak-mcp --url https://lease-break.magicteams.ai/mcpCursor
{
"mcpServers": {
"leasebreak-mcp": {
"url": "https://lease-break.magicteams.ai/mcp"
}
}
}Cline
{
"mcpServers": {
"leasebreak-mcp": {
"type": "streamableHttp",
"url": "https://lease-break.magicteams.ai/mcp",
"disabled": false
}
}
}VS Code
{
"servers": {
"leasebreak-mcp": {
"type": "http",
"url": "https://lease-break.magicteams.ai/mcp"
}
}
}Gemini CLI
gemini mcp add --transport http leasebreak-mcp https://lease-break.magicteams.ai/mcpClaude Desktop
https://lease-break.magicteams.ai/mcpWindsurf
{
"mcpServers": {
"leasebreak-mcp": {
"serverUrl": "https://lease-break.magicteams.ai/mcp"
}
}
}Let your agent find its tools
Find servers like LeaseBreak MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.