Skip to main content
Glama

Notice letter

notice_letter
Read-onlyIdempotent

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.

Input Schema

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

NameRequiredDescriptionDefault
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

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed25 schema 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"
      +]
  2. Changed9 schema 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"
  3. Changed1 schema 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"
      +}
  4. First observed

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources