MCP tools reference
Bayut MCP tools
13 tools for Bayut on the Cotlet MCP server. Your agent picks them from tools/list.
- MCP server
- https://cotlet.dev/mcp/v1
- Connects with
- Your own Bayut Profolio agent account; you enter the sign-in code yourself
- Integration page
- Bayut
| Endpoint | Access | Description |
|---|---|---|
| bayut_list_listings | read | Your listings from Manage Listings with status, quality score and badges, for Bayut or dubizzle. |
| bayut_get_listing | read | One listing: details, photos, floor plan, quality score and Checked and TruCheck badges. |
| bayut_get_listing_insights | read | Impressions, clicks and leads per listing, with a filter for low performing listings. |
| bayut_list_leads | read | Leads from Reports, Leads by channel, with the listing each one asked about. |
| bayut_get_lead | read | One lead with the contact details Profolio shows for its channel and the listing asked about. |
| bayut_export_leads | read | The Excel file Profolio exports from Reports, Leads, as a download link. |
| bayut_get_traffic_report | read | Top locations by impressions and overall listing performance across Bayut and dubizzle. |
| bayut_get_credits | read | Your Bayut Credits balance as Manage Listings shows it. |
| bayut_get_market_insights | read | Most searched communities and buildings, average rent and sale prices and the areas with the highest ROI. |
| bayut_get_transactions | read | Last sold transactions in Dubai from the Dubai Land Department, as in Transaction Insights. |
| bayut_assign_floor_plan | write | Link a floor plan from your uploads to a listing, as the floor plan icon does in Profolio. |
| bayut_request_trucheck | write | Submit up to 5 photos of a Checked property to request TruCheck validation. |
| bayut_apply_boost | write | Apply a Bayut boost (Signature, Hot, Property of the Week) or a dubizzle boost (Refresh, Featured) to a listing. |
List listings
readMCP tool bayut_list_listings
Lists your listings as Manage Listings shows them, for Bayut or for dubizzle. Each item carries the quality score colour, the Checked and TruCheck badges and whether a floor plan is waiting to be assigned. Pages hold up to 100 listings; pass next_cursor back as cursor for the next page.
Parameters
| Name | Type | Description |
|---|---|---|
| platform | enum | bayut or dubizzle. Default: bayut. |
| limit | integer | 1 to 100. Default: 25. |
| cursor | string | Next page cursor from the previous call. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_list_listings",
"arguments": {
"platform": "bayut",
"limit": 100
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"listings": [
{
"listing_id": "DM-2214",
"platform": "bayut",
"title": "2BR in Dubai Marina, marina view",
"quality_score": "orange",
"badges": [
"checked"
],
"floor_plan_waiting": true
},
{
"listing_id": "DM-2290",
"platform": "bayut",
"title": "Studio in JLT, furnished",
"quality_score": "green",
"badges": [
"checked"
],
"floor_plan_waiting": false
}
],
"next_cursor": null
},
"isError": false
} Get listing
readMCP tool bayut_get_listing
Returns one listing with its price, purpose, photos, assigned floor plan, quality score and the badges it has today. Use it to check whether a TruCheck request went through. Read only.
Parameters
| Name | Type | Description |
|---|---|---|
| listing_id required | string | Listing ID or your reference number, from list_listings. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_get_listing",
"arguments": {
"listing_id": "listing_8c41d2"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"listing_id": "DM-2290",
"platform": "bayut",
"title": "Studio in JLT, furnished",
"purpose": "rent",
"price_aed": 62000,
"photos": 14,
"floor_plan": "assigned",
"quality_score": "green",
"badges": [
"checked"
]
},
"isError": false
} Get listing insights
readMCP tool bayut_get_listing_insights
Returns impressions, clicks and leads for each listing, as Listing Insights shows them for Bayut. Low performing means a lower click-through rate than similar listings on Bayut. Filters combine, and the listing ID filter accepts your reference number.
Parameters
| Name | Type | Description |
|---|---|---|
| low_performing_only | boolean | Only listings with a lower click-through rate than similar listings. |
| location | string | Community or building name. |
| status | string | Listing status as shown in Profolio. |
| purpose | enum | sale or rent. Default: both. |
| category | string | Property category as shown in Profolio. |
| reference | string | Your reference number or listing ID. |
| user | string | Only listings of this user. |
| cursor | string | Next page cursor from the previous call. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_get_listing_insights",
"arguments": {
"low_performing_only": true,
"purpose": "rent",
"location": "Jumeirah Lake Towers"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"listings": [
{
"listing_id": "DM-2214",
"location": "Dubai Marina",
"purpose": "sale",
"impressions": 1840,
"clicks": 21,
"leads": 1,
"low_performing": true
},
{
"listing_id": "DM-2290",
"location": "JLT",
"purpose": "rent",
"impressions": 960,
"clicks": 40,
"leads": 3,
"low_performing": false
}
],
"next_cursor": null
},
"isError": false
} List leads
readMCP tool bayut_list_leads
Lists leads from all five channels Profolio reports: email, sms, phone, whatsapp and chat. Each lead names the listing of interest and the time it arrived. Pass lead_id to get_lead for the contact details. Pages hold up to 100 leads.
Parameters
| Name | Type | Description |
|---|---|---|
| channel | enum | email, sms, phone, whatsapp or chat. Default: all. |
| since | datetime | Only leads received after this time. |
| listing_id | string | Only leads for this listing. |
| limit | integer | 1 to 100. Default: 50. |
| cursor | string | Next page cursor from the previous call. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_list_leads",
"arguments": {
"since": "2026-10-11T04:00:00Z",
"limit": 100
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"leads": [
{
"lead_id": "ld_40a1",
"channel": "whatsapp",
"listing_id": "DM-2214",
"received_at": "2026-10-10T14:22:00Z"
},
{
"lead_id": "ld_40a7",
"channel": "whatsapp",
"listing_id": "DM-2290",
"received_at": "2026-10-10T18:05:00Z"
}
],
"next_cursor": null
},
"isError": false
} Get lead
readMCP tool bayut_get_lead
Returns one lead. What it holds depends on the channel: the email address for email leads, the enquiry text for SMS leads, the phone number and the call recording for phone leads, and the message. Read only.
Parameters
| Name | Type | Description |
|---|---|---|
| lead_id required | string | Lead ID from list_leads. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_get_lead",
"arguments": {
"lead_id": "lead_8c41d2"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"lead_id": "ld_40a1",
"channel": "whatsapp",
"listing_id": "DM-2214",
"name": "Sample Buyer",
"phone": "+971500000000",
"message": "Is the unit still available for viewing this week?",
"received_at": "2026-10-10T14:22:00Z"
},
"isError": false
} Export leads
readMCP tool bayut_export_leads
Runs the export option at the top right of Reports, Leads and returns the Excel file as a download link. Pass a channel to export one channel only. Read only: nothing in Profolio changes.
Parameters
| Name | Type | Description |
|---|---|---|
| channel | enum | email, sms, phone, whatsapp or chat. Default: all. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_export_leads",
"arguments": {}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"channel": "whatsapp",
"file": "bayut-leads.xlsx",
"download_url": "https://files.cotlet.example/exports/bayut-leads.xlsx",
"rows": 2
},
"isError": false
} Get traffic report
readMCP tool bayut_get_traffic_report
Returns the Traffic report from Reports: the top locations by impressions and the overall performance of your listings, for Bayut and dubizzle. Read only.
Parameters
No parameters.
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_get_traffic_report",
"arguments": {}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"top_locations": [
{
"location": "Dubai Marina",
"impressions": 5210
},
{
"location": "JLT",
"impressions": 3180
}
],
"overall": {
"impressions": 8390,
"clicks": 144,
"leads": 11
}
},
"isError": false
} Get Bayut Credits
readMCP tool bayut_get_credits
Returns the Bayut Credits balance shown in Manage Listings. Read only.
Parameters
No parameters.
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_get_credits",
"arguments": {}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"bayut_credits": 120
},
"isError": false
} Get market insights
readMCP tool bayut_get_market_insights
Returns Market Insights for Dubai or Abu Dhabi: the most searched communities, sub-communities and buildings, the average rent and sale prices, and the areas with the highest ROI. Read only.
Parameters
| Name | Type | Description |
|---|---|---|
| city required | enum | dubai or abu_dhabi. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_get_market_insights",
"arguments": {
"city": "dubai"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"city": "dubai",
"most_searched": [
{
"community": "Dubai Marina",
"type": "community"
},
{
"community": "Business Bay",
"type": "community"
}
],
"average_prices_aed": {
"rent": 118000,
"sale": 1950000
},
"highest_roi": [
{
"community": "Jumeirah Village Circle",
"roi_percent": 7.4
}
]
},
"isError": false
} Get transactions
readMCP tool bayut_get_transactions
Returns last sold transaction data from the Dubai Land Department, as BayutPro shows it in Transactions. Only agencies registered in Dubai have this section. Filter by location, transaction type, time period, property type and bedrooms. Read only.
Parameters
| Name | Type | Description |
|---|---|---|
| location | string | Community or building name. |
| transaction_type | string | As the Transactions filter offers it. |
| period | string | Time period as the Transactions filter offers it. |
| property_type | string | e.g. apartment, villa. |
| bedrooms | integer | Number of bedrooms. |
| cursor | string | Next page cursor from the previous call. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_get_transactions",
"arguments": {}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"transactions": [
{
"location": "Dubai Marina",
"property_type": "apartment",
"bedrooms": 2,
"price_aed": 2150000,
"date": "2026-09-28"
}
],
"next_cursor": null
},
"isError": false
} MCP tool bayut_assign_floor_plan
Assigns a floor plan from the uploads section to one listing, the same step as clicking the floor plan icon in Profolio. The icon turns green once the plan is linked, and Bayut requires a floor plan for a perfect quality score. The floor plan becomes visible on the live listing. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| listing_id required | string | Listing ID or your reference number, from list_listings. |
| floor_plan_id required | string | Floor plan from the uploads section of Profolio. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_assign_floor_plan",
"arguments": {
"listing_id": "DM-2214",
"floor_plan_id": "fp_3302"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"listing_id": "DM-2214",
"floor_plan_id": "fp_3302",
"status": "assigned"
},
"isError": false
} MCP tool bayut_request_trucheck
Uploads up to 5 photos of a Checked property and submits them to request TruCheck validation, as the multiple photo upload in BayutPro does. Bayut recommends clear photos that show the unit number and an inside view. Bayut's moderation team reviews the submission, so the call returns "submitted"; check the badge later with get_listing. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| listing_id required | string | Listing ID or your reference number, from list_listings. |
| photo_urls required | string[] | Up to 5 photo URLs. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_request_trucheck",
"arguments": {
"listing_id": "listing_8c41d2",
"photo_urls": [
"https://example.com"
]
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"listing_id": "DM-2290",
"photos": 2,
"status": "submitted"
},
"isError": false
} MCP tool bayut_apply_boost
Applies one boost product to one listing, as the boost products in Profolio do. Bayut offers Signature, Hot and Property of the Week; dubizzle offers Refresh and Featured. Check get_credits first. By default you confirm each call; you can switch that off for this tool.
Parameters
| Name | Type | Description |
|---|---|---|
| listing_id required | string | Listing ID or your reference number, from list_listings. |
| product required | enum | signature, hot or property_of_the_week on Bayut; refresh or featured on dubizzle. |
tools/call
JSON-RPC
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "bayut_apply_boost",
"arguments": {
"listing_id": "listing_8c41d2",
"product": "signature"
}
}
} Example response
{
"content": [
{
"type": "text",
"text": "{ ... same JSON as structuredContent ... }"
}
],
"structuredContent": {
"listing_id": "DM-2214",
"platform": "bayut",
"product": "hot",
"status": "applied"
},
"isError": false
}