Skip to main content
Glama

Negotiation checklist

negotiation_checklist
Read-onlyIdempotent

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.

Input Schema

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

NameRequiredDescriptionDefault
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

Schema Changelog

Changes observed during successful MCP inspections.

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

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.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources