Help / Connectors
Brek MCP connector
Find a direct-booking link for a vacation rental you discovered on Airbnb.
Connect Brek to Claude or another compatible MCP client, then share a specific Airbnb room URL or listing ID. Brek looks up existing mappings to property manager or operator booking pages.
Last updated October 29, 2026
On this page
What the connector does#
The current public release has one tool: lookup_direct_booking. It returns mapped booking links for selected Airbnb rentals. It does not search destinations, retrieve live prices or availability, compare rates, calculate savings, or make reservations.
- Transport
- Streamable HTTP
- Authentication
- None
- Access
- Read-only
- Supported input
- Airbnb URLs or IDs
- 1Share a listing
Use a full Airbnb room URL or its exact ID.
- 2Find a mapped link
Brek checks its current mapping data.
- 3Check the booking site
Confirm the property, dates, total price and terms there.
It does not establish a lower price, current availability, a completed reservation or a commercial partnership with the operator. Confirm that the destination page is the same unit before booking.
Connect to Claude#
No Brek account, API key, payment details or property-management-system access is needed for this public lookup. Your Claude account or workspace must allow custom remote connectors.
https://api.brek.ai/mcp?client=claude- Open Claude’s Connectors settings ↗.
- Choose Add custom connector. Name it Brek — Direct Booking Finder and paste the endpoint above.
- Connect without authentication. No sign-in to Brek is required.
- Enable Brek for your conversation. If Claude asks to use Find vacation rental direct booking links, review and allow the read-only lookup.
- Start a new chat and try one of the requests below.
For current Claude availability and workspace controls, see Claude’s official custom-connector guide ↗.
Example requests#
“Can I book this rental directly and avoid Airbnb fees? https://www.airbnb.com/rooms/13208131”
“Find the property manager’s booking page for Airbnb listing 929190595574013149.”
“Find direct-booking links for these two Airbnb listings: [first room URL] and [second room URL].”
Include the actual listing URLs in your request. Dates and guest counts are not required for link lookup. If you ask about a cheaper option, the returned link is a place to check prices, not a measured savings result.
Tool reference#
lookup_direct_bookingRead-only · idempotentLooks up one to ten specific Airbnb room URLs or exact listing IDs. Each input gets its own result in input order. Optional names and images help compatible clients display a property card.
Use the tool when a traveler wants to book the same rental directly, find its property manager’s booking page, or explore a potentially cheaper booking option. The current tool accepts Airbnb input only. Vrbo, Expedia and Booking.com URLs, property names, destinations and unresolved short links are not substitutes for an Airbnb room URL or ID.
Input parameters#
Only listings is required. locale, limit and offset are optional. If omitted, limit defaults to 3 and offset defaults to 0.
| Parameter | Type & default | Description |
|---|---|---|
listingsRequired | Array of strings | 1–10 Airbnb room URLs or exact listing IDs. Each string is at most 2,048 characters. IDs contain 3–25 digits and start with 1–9. Keep IDs as strings to preserve every digit. |
localeOptional | String | Language tag for the booking-link card, such as en or zh-CN, up to 35 characters. Use a 2–8 letter language followed by optional hyphen-separated alphanumeric segments of 1–8 characters. Localized card text depends on supported languages. |
limitOptional | Integer · 3 | Maximum links per listing on this page. Range: 1–25. |
offsetOptional | Integer · 0 | Link offset for each listing. Range: 0–100,000. Use a result’s next_offset for the next page. |
Use the full https://www.airbnb.com/rooms/… URL when possible. Short and vanity links may require the full room URL. A JSON number is not a valid listing ID argument.
Output fields#
A successful tool call contains a structuredContent object with a results array. Its text content also contains the JSON result. Each result has these fields:
| Field | Meaning |
|---|---|
listing | The input listing URL or string ID. |
found | Whether an eligible booking link is available in Brek’s current data. false without an item error is a successful lookup with no link to return. |
urls | Booking links on this page. Can be empty for an unmatched listing or an exhausted page. |
linksOptional | Display metadata, in the same order as urls: url, optional property_name, and featured_image_url (URL or null). Older results may omit this metadata. |
next_offsetOptional | Present only when more links remain. Request that listing again with this offset to continue. |
errorOptional | Per-item input status: needs_canonical_url, invalid_input or unsupported_platform. Absent for a normal no-match. |
Pagination is per listing. A result with found=true and urls=[] means no links remain on the requested page. It is not a new unmatched-property result. Stop when next_offset is absent.
Input & output examples#
Tool arguments
{
"listings": [
"https://www.airbnb.com/rooms/13208131"
],
"locale": "en",
"limit": 3,
"offset": 0
}A mapped booking link
This shows the core structured result for the sample input. Optional property names and image metadata are omitted here for readability; the returned link and metadata can change as mapping data is updated.
{
"results": [
{
"listing": "https://www.airbnb.com/rooms/13208131",
"found": true,
"urls": [
"https://homes.greatdwellings.com/listings/574671ee10cdb503006d4eac"
]
}
]
}No mapped link available
The following ID is a synthetic test input. This is a successful lookup result, with no item error and no MCP execution error.
{
"results": [
{
"listing": "9999999999999999999",
"found": false,
"urls": []
}
]
}A batch can contain both matched and unmatched listings. A normal miss does not remove the successful result for another listing.
No match & errors#
It only means Brek currently has no eligible mapped link available to return. The lookup does not establish whether the Airbnb listing exists or whether its operator has a booking website. The cause is unknown from this result alone.
| Outcome | What to do |
|---|---|
| Normal no-match | found=false, urls=[], no item error. Tell the traveler no mapped link is available. Repeating an unchanged lookup is not a useful recovery step. |
needs_canonical_url | Ask for the full Airbnb /rooms/ URL instead of the short or vanity link. |
invalid_input | Check the listing URL or ID format. |
unsupported_platform | Use a supported Airbnb room URL or ID. Other travel-platform URLs are not supported by this tool. |
| Invalid argument schema | Empty arrays, more than 10 inputs, numeric IDs and invalid pagination values are rejected before lookup. These caller errors are distinct from a database outage. |
| Service unavailable or rate-limited | The lookup could not complete. MCP returns isError=true, with a safe error code and message. If retryable=true, retry later. Do not report it as no match. |
Per-item input statuses can appear in an otherwise successful batch. A shared database or blocking-rule read failure fails the whole tool call. The service does not manufacture empty mapping results when a dependency fails.
For an execution failure, the MCP result’s text content contains an error payload like this. A transport-level HTTP 200 alone does not establish that the tool succeeded; check isError too.
{
"error": {
"code": "unavailable",
"message": "Brek lookup is temporarily unavailable. Retry later.",
"retryable": true
}
}For developers#
The remote endpoint uses Streamable HTTP and requires no authorization header. Connect through an MCP client and call lookup_direct_booking with the arguments above. This is an example JSON-RPC tool-call envelope:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "lookup_direct_booking",
"arguments": {
"listings": [
"https://www.airbnb.com/rooms/13208131"
]
}
}
}MCP clients handle initialization, protocol negotiation and transport headers. The result examples above show structuredContent, not a complete JSON-RPC response envelope.
- REST API schema ↗ — an alternative interface to the same lookup at
POST /agent/v1/direct-booking. - MCP Inspector ↗ — inspect tools and exercise requests from a development client.
- llms.txt — a concise machine-readable overview of the published capability.
Data & privacy#
This lookup needs listing URLs or IDs and any optional language or pagination settings. It does not need dates, guest counts, payment details or the rest of your conversation.
The service processes request metadata for security and rate limiting and records lookup outcome counts. This MCP does not ask to read your chat history, local files or property-management-system account. Your AI assistant handles its conversations under its own provider’s policies. See Brek’s Privacy Policy for the broader service policy.
Troubleshooting#
- Brek does not appear or is not called: confirm the connector is enabled for the conversation, use a full Airbnb room URL, and ask for that rental’s direct-booking page. If tools changed recently, refresh Brek’s tools list in connector settings and start a new chat.
- No property card appears: some MCP clients display text links instead of interactive cards. The returned URLs are the same result.
- No mapped link is found: treat it as the normal outcome described above. It is not proof that direct booking is unavailable.
- You need a total price or available dates: open the returned booking page and check the same dates, occupancy, fees and cancellation terms there.
- You want to book: complete any reservation on the destination booking website under its terms. This MCP does not book or process payment.
Support#
For connector setup, technical problems or security concerns, email leo@pageonelab.com. Include your AI client, the tool name and the error message, if one was shown. Do not send passwords, payment details or full chat histories.