OwnerRez MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| OWNERREZ_STORE | No | Database path for the webhook message store. | ~/.ownerrez-mcp/messages.db |
| OWNERREZ_TOKEN | No | Personal Access Token. | |
| OWNERREZ_TIMEOUT | No | Request timeout in seconds. | 30 |
| OWNERREZ_BASE_URL | No | API base URL. | https://api.ownerrez.com/v2 |
| OWNERREZ_USERNAME | No | OwnerRez username for Personal Access Token authentication. | |
| OWNERREZ_READ_ONLY | No | Set to 1 to block all write tools. | 0 |
| OWNERREZ_MAX_RETRIES | No | Retries on 429/5xx. | 3 |
| OWNERREZ_ACCESS_TOKEN | No | OAuth access token (preferred). If set, this takes precedence over username/token. | |
| OWNERREZ_WEBHOOK_HOST | No | Host for the webhook receiver. | |
| OWNERREZ_WEBHOOK_PORT | No | Port for the webhook receiver. | |
| OWNERREZ_WEBHOOK_SECRET | No | Optional secret to reject unauthenticated webhook posts. |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
| logging | {} |
| prompts | {
"listChanged": false
} |
| resources | {
"subscribe": false,
"listChanged": false
} |
| extensions | {
"io.modelcontextprotocol/ui": {}
} |
| experimental | {} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| list_bookingsA | List bookings. OwnerRez bounds this endpoint by |
| get_bookingB | Get full details for a single booking by its OwnerRez ID. |
| who_is_stayingA | Show who is currently staying in each property (in-house guests). Returns one row per active stay (arrival <= on_date < departure) with property, guest name, and dates. Defaults to today. Internally pulls active bookings changed in the last ~year and filters by stay date. |
| list_propertiesC | List properties (id, name, address, timezone). |
| list_ownersB | List property owners (id, name, contact). |
| find_guestC | Search or list guests. OwnerRez bounds this endpoint by |
| list_quotesA | List quotes, optionally filtered to comma-separated property IDs. |
| list_paymentsA | List guest payments, optionally for a single booking. |
| list_refundsB | List guest refunds, optionally for a single booking. |
| list_feesB | List booking fees, optionally for a single booking. |
| list_messagesA | List the messages in a conversation thread. |
| send_messageB | Send a message to a guest on an existing conversation thread. |
| list_webhook_subscriptionsB | List active webhook subscriptions on the account. |
| create_webhook_subscriptionA | Subscribe to OwnerRez events by registering an HTTPS callback URL. |
| delete_webhook_subscriptionA | Remove a webhook subscription by its ID. Blocked in read-only mode. |
| list_open_messagesA | List inbound guest messages captured by the webhook receiver that haven't been marked handled yet — your "open messages" inbox. Each entry includes its store id, thread_id (use with send_message), guest, body, and when it arrived. Requires the webhook receiver to be running and subscribed (see create_webhook_subscription with category "message"). |
| get_message_eventB | Get one stored message event (including its raw webhook payload) by id. |
| mark_message_handledA | Mark a stored message as handled (or reopen it), removing it from the open list. Local bookkeeping only — does not call OwnerRez. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
| draft_checkin_message | Draft a warm check-in message for an arriving guest. |
| draft_guest_reply | Draft a reply to an incoming guest message. |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
| properties_resource | All properties in the account, as a browsable resource. |
| owners_resource | All property owners in the account, as a browsable resource. |
TDQS
Scored across 18 tools
Most tools target distinct resources/actions, but the message-related tools (list_messages, list_open_messages, get_message_event, mark_message_handled) could be confused without careful reading. Overall, descriptions clarify the boundaries well.
The dominant pattern is verb_noun (list_*, get_*, create_*, delete_*, send_*), but 'who_is_staying' and 'find_guest' break the pattern. The inconsistency is minor and doesn't hinder readability.
At 18 tools, the set is slightly above the typical range but justified by the domain's breadth (owners, bookings, guests, quotes, payments, messages, webhooks). Each tool serves a clear purpose, though a few could be consolidated.
The set covers read and monitoring operations thoroughly, plus message handling and webhook management. However, it lacks booking lifecycle operations (create, update, cancel) and property/owner mutations, which are notable gaps for a property management server.