Creates dataLeasesMCP tool
leases_create
Create a new lease agreement.
Create a new lease agreement. Use when a new lease is being drafted or activated outside the normal application→lease flow. For the common case of approving an application and executing the lease, use rental_applications_convert_to_lease instead — that atomically approves + creates + links. Required: lease_start, lease_end (ISO dates), monthly_rent. Defaults: status='draft', lease_type='residential'. Returns the created lease record.
Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
listing_id | string | No | UUID of the listing being leased · Format: UUID |
landlord_contact_id | string | No | UUID of the landlord contact · Format: UUID |
renter_client_id | string | No | UUID of the renter client (typically client_type=tenant) · Format: UUID |
rental_application_id | string | No | UUID of the approved application (if converted from one) · Format: UUID |
previous_lease_id | string | No | UUID of the prior lease (for renewals — links the chain) · Format: UUID |
lease_start | string | Yes | Lease start date (ISO format, YYYY-MM-DD) (Format: YYYY-MM-DD) · Format: Date (YYYY-MM-DD) |
lease_end | string | Yes | Lease end date (ISO format, YYYY-MM-DD). Must be after lease_start. (Format: YYYY-MM-DD) · Format: Date (YYYY-MM-DD) |
monthly_rent | number | Yes | Monthly rent amount · Min: 0 |
security_deposit | number | No | Security deposit amount · Min: 0 |
status | enum | No | Initial status (default: draft) · One of: draft, active, expiring, renewed, terminated, expired |
lease_type | enum | No | Lease type (default: residential) · One of: residential, commercial, short_term |
commission_amount | number | No | Agent commission for this lease · Min: 0 |
notes | string | No | Free-text notes · Max length: 10000 |
Example prompts#
- "Draft a lease for the Patels at 88 Calloway Ave, 2400 monthly, July 1 to June 30."
- "Create a 12-month residential lease starting August 1 at 1950 monthly with a 2000 deposit."
Safety#
Creates data. Creates a new record in your CRM and may trigger notifications or webhooks. Running it twice creates a duplicate, so Claude runs it once per request.