OwnerRez MCP by usefulapi
by usefulapi.io · remote · no sign-in to list tools · v1.16.3 · published by io.usefulapi
Manage OwnerRez properties, bookings, guests, quotes and inquiries.
25 tools: 6 can delete or cancel things, 1 change things and 18 only read.
Scanned Oct 21, 2026
- Deletes or cancels6Claude Code: deny: see these tools
- Can't be undone0Claude Code: ask
- Changes things1Claude Code: ask: see these tools
- Only reads18Claude Code: allow: see these tools
2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.
claude mcp add --transport http ownerrez https://ownerrez.usefulapi.io/mcpFindings
Matches of fixed checks, with the text they matched.
- Warnownerrez_request
The server marks "ownerrez_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "ownerrez_request" says "request": a word for a change.
- Infoget_me
The description mentions "credentials".
What this check looks forMatched text
description: "...henticated OwnerRez user (verifies your credentials). OwnerRez API: GET /v2/users/me."
Tools
Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.
25 tools
Deletes or cancels 6Claude Code: deny
create_bookingMUTATES OwnerRez data: creates a new booking (reservation).No findings
Why it is in this group
- The name "create_booking" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES OwnerRez data: creates a new booking (reservation). OwnerRez API: POST /v2/bookings (JSON). A booking ties a guest to a property for a date range; the exact charge/quote shape is account-specific, so pass extra documented fields via `fields`. Returns the created booking.
Annotations the server declares
- title: Create a booking
- destructiveHint: true
create_guestMUTATES OwnerRez data: creates a new guest (contact).No findings
Why it is in this group
- The name "create_guest" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES OwnerRez data: creates a new guest (contact). OwnerRez API: POST /v2/guests (JSON). Emails/phones/addresses are arrays of objects — pass them via the `fields` passthrough (e.g. email_addresses:[{address:"a@b.com"}]). Returns the created guest.
Annotations the server declares
- title: Create a guest
- destructiveHint: true
create_messageMUTATES OwnerRez data: posts a message into a guest-communication thread.No findings
Why it is in this group
- The name "create_message" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES OwnerRez data: posts a message into a guest-communication thread. OwnerRez API: POST /v2/messages (JSON). The exact thread/booking linkage is account-specific — pass extra documented fields (e.g. thread_id, booking_id) via `fields`. Returns the created message.
Annotations the server declares
- title: Create a message
- destructiveHint: true
create_quoteMUTATES OwnerRez data: creates a quote for a property + date range (the pre-booking pricing document).No findings
Why it is in this group
- The name "create_quote" says "create": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES OwnerRez data: creates a quote for a property + date range (the pre-booking pricing document). OwnerRez API: POST /v2/quotes (JSON). The full quote/charge shape is account-specific — pass extra documented fields via `fields`. Returns the created quote.
Annotations the server declares
- title: Create a quote
- destructiveHint: true
update_bookingMUTATES OwnerRez data: updates an existing booking.No findings
Why it is in this group
- The name "update_booking" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES OwnerRez data: updates an existing booking. OwnerRez API: PATCH /v2/bookings/{id} (JSON — only included fields change). Use the `fields` passthrough for any documented field (dates, guest counts, notes, status).
Annotations the server declares
- title: Update a booking
- destructiveHint: true
update_guestMUTATES OwnerRez data: updates an existing guest.No findings
Why it is in this group
- The name "update_guest" says "update": a word for a change.
- The server marks it destructive (destructiveHint: true).
Description, as the server wrote it MUTATES OwnerRez data: updates an existing guest. OwnerRez API: PATCH /v2/guests/{id} (JSON — only included fields change). Use the `fields` passthrough for arrays (email_addresses/phones/addresses) and any other documented field.
Annotations the server declares
- title: Update a guest
- destructiveHint: true
Changes things 1Claude Code: ask
ownerrez_requestPower-user escape hatch: GET any OwnerRez API path not wrapped by a dedicated tool.1 finding
Why it is in this group
- The name "ownerrez_request" says "request": a word for a change.
- The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
Findings
- Warn
The server marks "ownerrez_request" read-only (readOnlyHint: true), and its own name, description or input give the class "write".
What this check looks forMatched text
annotations: {"readOnlyHint":true}; The name "ownerrez_request" says "request": a word for a change.
Description, as the server wrote it Power-user escape hatch: GET any OwnerRez API path not wrapped by a dedicated tool. READ-ONLY — only GET is allowed. Pass the FULL API path after the host, starting with a slash, INCLUDING any query string, e.g. "/v2/propertysearch?query=beach" or "/v2/bookings/123". Returns the parsed JSON.
Annotations the server declares
- title: Raw read request
- readOnlyHint: true
Only reads 18Claude Code: allow
get_bookingFetch a single booking by id.No findings
Why it is in this group
- The name "get_booking" says "get": a word for reading.
Description, as the server wrote it Fetch a single booking by id. OwnerRez API: GET /v2/bookings/{id}. Opt into embedded charges/guest/tags.
Annotations the server declares
- title: Get a booking
- readOnlyHint: true
get_guestFetch a single guest (contact) by id.No findings
Why it is in this group
- The name "get_guest" says "get": a word for reading.
Description, as the server wrote it Fetch a single guest (contact) by id. OwnerRez API: GET /v2/guests/{id}.
Annotations the server declares
- title: Get a guest
- readOnlyHint: true
get_listingFetch a single channel listing by id.No findings
Why it is in this group
- The name "get_listing" says "get": a word for reading.
Description, as the server wrote it Fetch a single channel listing by id. OwnerRez API: GET /v2/listings/{id}.
Annotations the server declares
- title: Get a listing
- readOnlyHint: true
get_meReturn the authenticated OwnerRez user (verifies your credentials).1 finding
Why it is in this group
- The name "get_me" says "get": a word for reading.
Findings
- Info
The description mentions "credentials".
What this check looks forMatched text
description: "...henticated OwnerRez user (verifies your credentials). OwnerRez API: GET /v2/users/me."
Description, as the server wrote it Return the authenticated OwnerRez user (verifies your credentials). OwnerRez API: GET /v2/users/me.
Annotations the server declares
- title: Get current user
- readOnlyHint: true
get_paymentFetch a single payment by id.No findings
Why it is in this group
- The name "get_payment" says "get": a word for reading.
Description, as the server wrote it Fetch a single payment by id. OwnerRez API: GET /v2/payments/{id}.
Annotations the server declares
- title: Get a payment
- readOnlyHint: true
get_propertyFetch a single property by id (includes time_zone).No findings
Why it is in this group
- The name "get_property" says "get": a word for reading.
Description, as the server wrote it Fetch a single property by id (includes time_zone). OwnerRez API: GET /v2/properties/{id}.
Annotations the server declares
- title: Get a property
- readOnlyHint: true
get_quoteFetch a single quote by id.No findings
Why it is in this group
- The name "get_quote" says "get": a word for reading.
Description, as the server wrote it Fetch a single quote by id. OwnerRez API: GET /v2/quotes/{id}.
Annotations the server declares
- title: Get a quote
- readOnlyHint: true
list_bookingsList bookings (reservations).No findings
Why it is in this group
- The name "list_bookings" says "list": a word for reading.
Description, as the server wrote it List bookings (reservations). OwnerRez API: GET /v2/bookings. Filter by property, date range, changed-since, and status; opt into embedded charges/guest/tags. Returns { items, count, limit, offset, next_page_url }.
Annotations the server declares
- title: List bookings
- readOnlyHint: true
list_field_definitionsList custom-field definitions available in the account (the schema for custom fields on properties/bookings/guests).No findings
Why it is in this group
- The name "list_field_definitions" says "list": a word for reading.
Description, as the server wrote it List custom-field definitions available in the account (the schema for custom fields on properties/bookings/guests). OwnerRez API: GET /v2/fielddefinitions.
Annotations the server declares
- title: List custom-field definitions
- readOnlyHint: true
list_guestsList guests (contacts).No findings
Why it is in this group
- The name "list_guests" says "list": a word for reading.
Description, as the server wrote it List guests (contacts). OwnerRez API: GET /v2/guests. NOTE: OwnerRez REQUIRES either `q` (search) or `created_since_utc` on this endpoint. Returns { items, count, limit, offset, next_page_url }.
Annotations the server declares
- title: List guests
- readOnlyHint: true
list_inquiriesList guest inquiries (pre-booking leads).No findings
Why it is in this group
- The name "list_inquiries" says "list": a word for reading.
Description, as the server wrote it List guest inquiries (pre-booking leads). OwnerRez API: GET /v2/inquiries. Use `params` for documented filters.
Annotations the server declares
- title: List inquiries
- readOnlyHint: true
list_listing_sitesList the listing sites (channels, e.g.No findings
Why it is in this group
- The name "list_listing_sites" says "list": a word for reading.
Description, as the server wrote it List the listing sites (channels, e.g. Airbnb, Vrbo) known to OwnerRez. OwnerRez API: GET /v2/listingsites.
Annotations the server declares
- title: List listing sites
- readOnlyHint: true
list_listingsList channel listings (a property's presence on a listing site such as Airbnb/Vrbo).No findings
Why it is in this group
- The name "list_listings" says "list": a word for reading.
Description, as the server wrote it List channel listings (a property's presence on a listing site such as Airbnb/Vrbo). OwnerRez API: GET /v2/listings. Returns { items, count, limit, offset, next_page_url }.
Annotations the server declares
- title: List listings
- readOnlyHint: true
list_messagesList messages from guest-communication threads.No findings
Why it is in this group
- The name "list_messages" says "list": a word for reading.
Description, as the server wrote it List messages from guest-communication threads. OwnerRez API: GET /v2/messages. Use `params` for documented filters (e.g. booking_id).
Annotations the server declares
- title: List messages
- readOnlyHint: true
list_ownersList property owners.No findings
Why it is in this group
- The name "list_owners" says "list": a word for reading.
Description, as the server wrote it List property owners. OwnerRez API: GET /v2/owners. Returns { items, count, limit, offset, next_page_url }.
Annotations the server declares
- title: List owners
- readOnlyHint: true
list_paymentsList payments.No findings
Why it is in this group
- The name "list_payments" says "list": a word for reading.
Description, as the server wrote it List payments. OwnerRez API: GET /v2/payments. Use `params` for documented filters (e.g. booking_id, since_utc).
Annotations the server declares
- title: List payments
- readOnlyHint: true
list_propertiesList rental properties.No findings
Why it is in this group
- The name "list_properties" says "list": a word for reading.
Description, as the server wrote it List rental properties. OwnerRez API: GET /v2/properties. Returns the pageable envelope { items, count, limit, offset, next_page_url }.
Annotations the server declares
- title: List properties
- readOnlyHint: true
list_quotesList quotes.No findings
Why it is in this group
- The name "list_quotes" says "list": a word for reading.
Description, as the server wrote it List quotes. OwnerRez API: GET /v2/quotes. Returns { items, count, limit, offset, next_page_url }. Use the `params` passthrough for documented filters (e.g. property_id, guest_id).
Annotations the server declares
- title: List quotes
- readOnlyHint: true
This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.
Install
Pinned to version 1.16.3. Values in angle brackets are yours to fill in.
claude mcp add --transport http ownerrez https://ownerrez.usefulapi.io/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.
{
"permissions": {
"allow": [
"mcp__ownerrez__get_me",
"mcp__ownerrez__list_properties",
"mcp__ownerrez__get_property",
"mcp__ownerrez__list_bookings",
"mcp__ownerrez__get_booking",
"mcp__ownerrez__list_guests",
"mcp__ownerrez__get_guest",
"mcp__ownerrez__list_quotes",
"mcp__ownerrez__get_quote",
"mcp__ownerrez__list_listings",
"mcp__ownerrez__get_listing",
"mcp__ownerrez__list_listing_sites",
"mcp__ownerrez__list_owners",
"mcp__ownerrez__list_inquiries",
"mcp__ownerrez__list_messages",
"mcp__ownerrez__list_payments",
"mcp__ownerrez__get_payment",
"mcp__ownerrez__list_field_definitions"
],
"ask": [
"mcp__ownerrez__ownerrez_request"
],
"deny": [
"mcp__ownerrez__create_guest",
"mcp__ownerrez__update_guest",
"mcp__ownerrez__create_booking",
"mcp__ownerrez__update_booking",
"mcp__ownerrez__create_quote",
"mcp__ownerrez__create_message"
]
}
}Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as ownerrez. Review it before you use it.