# Rently MCP tools

> Every Rently MCP tool on the Cotlet server: tool names, input schemas, a tools/call example and an example result for each tool.

Source: https://cotlet.dev/docs/mcp/rently

Docs sections: [Get started](https://cotlet.dev/docs.md) · [REST API](https://cotlet.dev/docs/api.md) · [MCP](https://cotlet.dev/docs/mcp.md) · [SDKs & CLI](https://cotlet.dev/docs/sdks.md) · [Integrations](https://cotlet.dev/docs/integrations.md)

14 tools for Rently on the Cotlet MCP server. Your agent picks them from tools/list.

- MCP server: `https://cotlet.dev/mcp/v1`
- Connects with: Your Rently Tour Manager agent account (Admin or Super Admin for data exports)
- Integration page: https://cotlet.dev/integrations/rently-api-mcp-server

## Endpoints

| Endpoint | Access | Description |
|---|---|---|
| `rently_list_properties` | read | Properties or units in your account with address, rent, showing status and assigned lockbox. |
| `rently_get_property_activity` | read | Activity Log of a property: status dates, lead traffic sources, showings with type and feedback, inquiries, waitlist and vendor entries. |
| `rently_list_leads` | read | Leads from the Leads page with status, source, assigned agent and creation date. |
| `rently_get_lead` | read | One lead: name, phone, email, status, assigned agent, comments, source and properties toured. |
| `rently_list_safe_mode_requests` | read | Pending SafeMode Requests: prospects who scheduled a viewing that waits for your approval. |
| `rently_get_dashboard` | read | Total self-showings, total leads, devices, on-market and off-market properties, and leads by source. |
| `rently_export_report` | read | Data Export as a CSV download link. Admins and Super Admins only. |
| `rently_assign_lead` | write | Assign a lead to one of your agents. |
| `rently_set_self_touring` | write | Turn self-touring on or off for a property or unit, e.g. once it is leased. |
| `rently_grant_safe_mode_access` | write | Approve a Safe Mode viewing; the prospect gets access to tour the property. |
| `rently_dismiss_safe_mode_request` | write | Decline a Safe Mode viewing request. |
| `rently_create_visitor_access_code` | write | Visitor Access Code for one showing date, sent to the visitor by email. |
| `rently_send_self_tour_invite` | write | Invite a prospect to self-tour a unit at a set time (multifamily). The invite link is valid for 15 minutes. |
| `rently_ban_prospect` | write | Ban a lead from touring your properties, with a reason. |

## List properties

MCP tool: `rently_list_properties`

Access: read.

Lists the properties and units in your Rently account, with address, rent, showing status and the assigned lockbox. Filter by market to see only on-market or off-market homes, or search by part of an address or a CRM tag. Pages hold up to 100 properties; pass next_cursor back as cursor for the next page.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `market` | enum | no | on_market, off_market or all. Default: all. |
| `search` | string | no | Part of an address or a CRM tag. |
| `limit` | integer | no | 1 to 100. Default: 50. |
| `cursor` | string | no | Next page cursor from the previous call. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_list_properties",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "properties": [
      {
        "property_id": "1658203",
        "address": "88 Elm Ave, Charlotte, NC",
        "rent": 1850,
        "market": "on_market",
        "showing_status": "self-touring on",
        "lockbox": "LB-20418"
      },
      {
        "property_id": "1658301",
        "address": "412 Oak St, Charlotte, NC",
        "rent": 1495,
        "market": "on_market",
        "showing_status": "self-touring on",
        "lockbox": "LB-20533"
      }
    ],
    "next_cursor": null
  },
  "isError": false
}
```

## Get property activity

MCP tool: `rently_get_property_activity`

Access: read.

Returns the Activity Log of one property for a date range. It holds status dates, lead traffic sources, showings with their type and feedback, inquiries, waitlist entries and vendor entries. Without from and to, it covers up to today.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `property_id` | string | yes | Property or unit ID from list_properties. |
| `from` | date | no | Start of the date range for leasing activities. |
| `to` | date | no | End of the date range. Default: today. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_get_property_activity",
    "arguments": {
      "property_id": "1658203",
      "from": "2026-09-28",
      "to": "2026-10-11"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "1658203",
    "address": "88 Elm Ave, Charlotte, NC",
    "from": "2026-09-27",
    "to": "2026-10-11",
    "showings": [
      {
        "type": "self_registered_viewing",
        "at": "2026-10-04T15:20:00-04:00",
        "feedback": "Liked the kitchen"
      }
    ],
    "inquiries": 3,
    "waitlist": 1
  },
  "isError": false
}
```

## List leads

MCP tool: `rently_list_leads`

Access: read.

Lists the leads on the Leads page with status, source, assigned agent and the date the lead was created. Set view to iqual_plus or safe_mode to see one group, and agent to "none" to see only unassigned leads. The default period is the last month. Pass next_cursor back as cursor for the next page.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `view` | enum | no | all, iqual_plus or safe_mode. Default: all. |
| `period` | enum | no | last_1_month, last_3_months, last_6_months or all. Default: last_1_month. |
| `agent` | string | no | Only leads assigned to this agent email; "none" for unassigned. |
| `cursor` | string | no | Next page cursor from the previous call. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_list_leads",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "leads": [
      {
        "lead_id": "4417203",
        "name": "Maya Brooks",
        "status": "New",
        "source": "Zillow",
        "agent": null,
        "created_at": "2026-10-08T10:12:00-04:00"
      },
      {
        "lead_id": "4417390",
        "name": "Dan Rivera",
        "status": "Toured",
        "source": "Website",
        "agent": "mark@example.com",
        "created_at": "2026-10-09T16:40:00-04:00"
      }
    ],
    "next_cursor": null
  },
  "isError": false
}
```

## Get lead

MCP tool: `rently_get_lead`

Access: read.

Returns one lead from its detail page: name, phone, email, status, assigned agent, comments, source and the properties the lead toured. Use it to check a prospect before you approve a Safe Mode visit.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `lead_id` | string | yes | Lead ID from list_leads. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_get_lead",
    "arguments": {
      "lead_id": "lead_8c41d2"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "lead_id": "4417203",
    "name": "Maya Brooks",
    "phone": "+15555550177",
    "email": "maya@example.com",
    "status": "New",
    "agent": null,
    "source": "Zillow",
    "comments": "Asked about pet policy.",
    "properties_toured": []
  },
  "isError": false
}
```

## List Safe Mode requests

MCP tool: `rently_list_safe_mode_requests`

Access: read.

Lists the pending Safe Mode requests: prospects who scheduled a viewing that waits for your approval. Each item has the lead and the property. Pass request_id to grant_safe_mode_access or dismiss_safe_mode_request, and lead_id to get_lead.

### Parameters

No parameters.

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_list_safe_mode_requests",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "requests": [
      {
        "request_id": "sm_90412",
        "lead_id": "4417203",
        "name": "Maya Brooks",
        "property_id": "1658203",
        "address": "88 Elm Ave, Charlotte, NC",
        "scheduled_for": "2026-10-12T17:00:00-04:00"
      }
    ]
  },
  "isError": false
}
```

## Get Data Dashboard

MCP tool: `rently_get_dashboard`

Access: read.

Returns the figures from the Data Dashboard for one period: total self-showings, total leads, devices, on-market and off-market properties, and leads by source. The default period is last week; use custom with from and to for any other range.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `period` | enum | no | last_week, last_month, last_quarter or custom. Default: last_week. |
| `from` | date | no | Start date, for custom only. |
| `to` | date | no | End date, for custom only. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_get_dashboard",
    "arguments": {}
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "period": "last_week",
    "self_showings": 38,
    "leads": 64,
    "devices": 21,
    "on_market": 14,
    "off_market": 7,
    "leads_by_source": {
      "Zillow": 31,
      "Website": 18,
      "Apartments_com": 15
    }
  },
  "isError": false
}
```

## Export report

MCP tool: `rently_export_report`

Access: read.

Creates a Data Export for one category and returns a CSV download link. Categories are lockboxes, lead_activities and survey_feedback. Only Admins and Super Admins can export. The date range does not apply to lockboxes.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `data_category` | enum | yes | lockboxes, lead_activities or survey_feedback. |
| `from` | date | no | Start date. Not used for lockboxes. |
| `to` | date | no | End date. Not used for lockboxes. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_export_report",
    "arguments": {
      "data_category": "lockboxes"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "data_category": "lead_activities",
    "from": "2026-09-01",
    "to": "2026-09-30",
    "rows": 212,
    "download_url": "https://files.example.com/exports/lead_activities_2026-09.csv"
  },
  "isError": false
}
```

## Assign lead

MCP tool: `rently_assign_lead`

Access: write.

Assigns one lead to an agent in your account, identified by email. The agent must already exist in Rently. It reaches no renter and one more call assigns the lead to someone else, so it runs without asking first.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `lead_id` | string | yes | Lead ID from list_leads. |
| `agent_email` | string | yes | Email of the agent in your account. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_assign_lead",
    "arguments": {
      "lead_id": "4417203",
      "agent_email": "anna@example.com"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "lead_id": "4417203",
    "agent": "anna@example.com",
    "status": "assigned"
  },
  "isError": false
}
```

## Set self-touring

MCP tool: `rently_set_self_touring`

Access: write.

Turns self-guided tours on or off for one property or unit. Set enabled to false when a home is leased and true to open it again. It changes no data of renters and one call undoes it, so it runs without asking first.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `property_id` | string | yes | Property or unit ID from list_properties. |
| `enabled` | boolean | yes | true to allow self-guided tours, false to stop them. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_set_self_touring",
    "arguments": {
      "property_id": "1658301",
      "enabled": false
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "1658301",
    "address": "412 Oak St, Charlotte, NC",
    "self_touring": false,
    "status": "updated"
  },
  "isError": false
}
```

## Grant Safe Mode access

MCP tool: `rently_grant_safe_mode_access`

Access: write. Confirm: waits for the user's OK before it runs.

Approves one pending Safe Mode request, so the prospect gets access to tour the property at the scheduled time. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `request_id` | string | yes | Request ID from list_safe_mode_requests. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_grant_safe_mode_access",
    "arguments": {
      "request_id": "sm_90412"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "request_id": "sm_90412",
    "lead_id": "4417203",
    "property_id": "1658203",
    "status": "approved"
  },
  "isError": false
}
```

## Dismiss Safe Mode request

MCP tool: `rently_dismiss_safe_mode_request`

Access: write. Confirm: waits for the user's OK before it runs.

Declines one pending Safe Mode request, so the prospect gets no access to the property. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `request_id` | string | yes | Request ID from list_safe_mode_requests. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_dismiss_safe_mode_request",
    "arguments": {
      "request_id": "request_8c41d2"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "request_id": "sm_90415",
    "lead_id": "4417390",
    "status": "dismissed"
  },
  "isError": false
}
```

## Create visitor access code

MCP tool: `rently_create_visitor_access_code`

Access: write. Confirm: waits for the user's OK before it runs.

Creates a Visitor Access Code for one person and one day at a property, and emails the code and instructions to the visitor. Use it for vendors, inspectors or agents who need to enter once. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `property_id` | string | yes | Property or unit ID from list_properties. |
| `visitor_name` | string | yes | Full name of the visitor. |
| `visitor_phone` | string | yes | Visitor phone number. |
| `visitor_email` | string | yes | The code and instructions go to this email. |
| `showing_date` | date | yes | Day the code works. |
| `description` | string | no | Reason for the visit, e.g. "Plumbing repair". |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_create_visitor_access_code",
    "arguments": {
      "property_id": "1658203",
      "visitor_name": "Your Plumber",
      "visitor_phone": "+15555550142",
      "visitor_email": "vendor@example.com",
      "showing_date": "2026-10-12",
      "description": "Kitchen sink repair"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "1658203",
    "address": "88 Elm Ave, Charlotte, NC",
    "showing_date": "2026-10-12",
    "code_sent_to": "vendor@example.com",
    "status": "sent"
  },
  "isError": false
}
```

## Send self-tour invite

MCP tool: `rently_send_self_tour_invite`

Access: write. Confirm: waits for the user's OK before it runs.

Sends a prospect an invite to self-tour a unit at a set date and time, for multifamily properties. The invite link is valid for 15 minutes. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `property_id` | string | yes | Property or unit ID from list_properties. |
| `name` | string | yes | Prospect full name. |
| `email` | string | yes | Prospect email. |
| `phone` | string | yes | Prospect phone number. |
| `tour_at` | datetime | yes | Self-tour date and time, ISO 8601 with time zone. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_send_self_tour_invite",
    "arguments": {
      "property_id": "property_8c41d2",
      "name": "Jane Doe",
      "email": "jane@example.com",
      "phone": "phone",
      "tour_at": "2026-10-01T09:00:00Z"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "property_id": "1658410",
    "prospect": "maya@example.com",
    "tour_at": "2026-10-13T14:00:00-04:00",
    "link_valid_minutes": 15,
    "status": "sent"
  },
  "isError": false
}
```

## Ban prospect

MCP tool: `rently_ban_prospect`

Access: write. Confirm: waits for the user's OK before it runs.

Bans one lead from touring your properties and stores the reason. By default you confirm each call; you can switch that off for this tool.

### Parameters

| Name | Type | Required | Description |
|---|---|---|---|
| `lead_id` | string | yes | Lead ID from list_leads. |
| `reason` | string | yes | Why the prospect is banned. |

### tools/call

```json
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "rently_ban_prospect",
    "arguments": {
      "lead_id": "lead_8c41d2",
      "reason": "reason"
    }
  }
}
```

### Example response

```json
{
  "content": [
    {
      "type": "text",
      "text": "{ ... same JSON as structuredContent ... }"
    }
  ],
  "structuredContent": {
    "lead_id": "4417390",
    "status": "banned",
    "reason": "Left a door unlocked during a tour"
  },
  "isError": false
}
```
