Manage Hostaway listings, reservations, calendar, guest messages, reviews and tasks. Hosted by usefulapi — connect from Claude, ChatGPT, Cursor, or any MCP client.
Team and Enterprise: an Owner adds the connector for the organization first.
Run this command, then run /mcp in Claude Code to log in:
Add to Cursor or add this to ~/.cursor/mcp.json:
{
"mcpServers": {
"hostaway": {
"url": "https://hostaway.usefulapi.io/mcp"
}
}
}Add to VS Code or add this to .vscode/mcp.json:
{
"servers": {
"hostaway": {
"type": "http",
"url": "https://hostaway.usefulapi.io/mcp"
}
}
}No Add custom MCP server option? It depends on your account or workspace settings: see OpenAI's guide.
Run these commands. The second one opens the login page:
Other MCP clients (Windsurf, Cline, Zed and more): add the URL as a remote MCP server (Streamable HTTP). The client then opens the login page in your browser. Do not add an Authorization header: see Before you connect.
The login page asks for your Hostaway Account ID and API key.
Find both in the Hostaway dashboard → Settings → Hostaway API: your numeric Account ID is shown there, and you can create an API key. Connecting takes a couple of seconds while we check the pair with Hostaway. Your credentials are used only to call the API on your behalf and to derive a private account id; they are never shown to anyone.
Add only the URL. Do not add an Authorization header or an API key to the client config. The server signs you in with OAuth: the login page asks for your Hostaway Account ID and API key. If the config has such a header, remove it: some clients then send that header instead of the login token, and every call fails with 401.
Turn on the Hostaway connector, then ask in plain words. The AI picks the tools.
| Tool | Type | What it does |
|---|---|---|
hostaway_list_listings | read | List listings List the account's properties (listings) with name, address, capacity, base price, fees and check-in times. Filter by name, city, country, property type, availability for a date range and guest count, or active/archived status. Hostaway: GET /v1/listings. |
hostaway_get_listing | read | Get one listing Fetch a single listing by id — full details including description, house rules, amenities, images, fees, taxes, cancellation policy and access info (door code, wifi). Hostaway: GET /v1/listings/{listingId}. |
hostaway_list_reservations | read | List reservations List reservations across all channels (Airbnb, Vrbo, Booking.com, direct…) with guest, dates, status, price and channel. Filter by listing, channel, arrival/departure window, guest name or email, unread messages, and more. Default order is newest first; for large accounts page with afterId (the id of the last reservation on the previous page). Channel ids: 2000 direct, 2018 airbnbOfficial, 2002 homeaway/Vrbo, 2005 bookingcom, 2007 expedia, 2013 bookingengine, 2019 marriott, 2020 partner, 2022 google. Hostaway: GET /v1/reservations. |
hostaway_get_reservation | read | Get one reservation Fetch a single reservation by its Hostaway id — guest contact details, dates, guest counts, price breakdown, payment state, door code, notes, channel and cancellation policy. Hostaway: GET /v1/reservations/{reservationId}. |
hostaway_get_reservation_logs | read | Get reservation change history The audit trail for one reservation: every field change with previous and new value, when, and by which user (most recent first). Useful for 'who changed these dates / this price?'. Hostaway: GET /v1/reservations/{reservationId}/logs. |
hostaway_get_calendar | read | Get listing calendar Day-by-day availability and pricing for one listing over a date range: status (available, blocked, reserved, pending), nightly price, min/max stay, closed-to-arrival/departure and notes. Set includeResources to see the reservations occupying each day. Hostaway: GET /v1/listings/{listingId}/calendar. |
hostaway_calculate_price | read | Quote a stay Calculate what a stay at a listing would cost — total price plus the component breakdown (base rate, cleaning fee, taxes, discounts). A calculation only: nothing is booked or held. Hostaway: POST /v1/listings/{listingId}/calendar/priceDetails (version 2). |
hostaway_list_conversations | read | List guest conversations List guest conversations (the unified inbox across channels), each with its latest message and linked reservation. Filter to one reservation. Hostaway: GET /v1/conversations. |
hostaway_list_conversation_messages | read | Read a conversation The messages in one guest conversation — body, direction (isIncoming), channel/email/SMS type, send status and timestamps. By default only sent messages; set includeScheduledMessages to also see scheduled, paused or failed ones. Hostaway: GET /v1/conversations/{conversationId}/messages. |
hostaway_list_reviews | read | List reviews List guest-to-host and host-to-guest reviews with rating (0-10), public review, private feedback and the host's reply. Filter by listings, reservation, type, status, rating range, dates, guest name, or whether the host has replied. Hostaway: GET /v1/reviews. |
hostaway_list_tasks | read | List tasks List operational tasks (cleaning, maintenance, check-in/out) with assignee, status, time window and cost. Filter by reservation, status, text match, channel, or start/deadline windows. Hostaway: GET /v1/tasks. |
hostaway_list_expenses | read | List expenses and extras List expenses (negative amounts) and extras (positive amounts) recorded against listings and reservations, with date, concept, categories and the owner statements they appear on. Hostaway: GET /v1/expenses. |
hostaway_list_owner_statements | read | List owner statements List the account's owner statements (id and name). Hostaway: GET /v1/ownerStatements. |
hostaway_get_owner_statement | read | Get one owner statement Fetch one owner statement — the filter it was generated with (listings, date range), summary and per-reservation financial data, grand totals, expenses, and owner / property-manager details. Hostaway: GET /v1/ownerStatement/{ownerStatementId}. |
hostaway_create_reservation | write | Create a reservation Create a new reservation on a listing (it blocks the calendar and syncs to connected channels). Only channelId 2000 (direct, the default), 2002 (homeaway) or 2020 (partner) are accepted. To price it correctly, call hostaway_calculate_price first and pass its total as totalPrice. Overbooking protection is always left on. Hostaway: POST /v1/reservations. |
hostaway_update_reservation | write | Update a reservation Change fields on an existing reservation — guest details and counts, dates, check-in/out hours, door code, host note or comment. Send only the fields to change. The listing cannot be changed, and this tool never cancels or reprices a booking. Date changes on channel bookings may be overwritten by the channel. Hostaway: PUT /v1/reservations/{reservationId}. |
hostaway_update_calendar | write | Update listing calendar Change availability and/or pricing for a date range on one listing, pushed to every connected channel: block (isAvailable=false) or open days, set the nightly price, min/max stay, closed-to-arrival/departure, or a note. For multi-unit listings set desiredUnitsToSell instead of isAvailable (0 blocks). Hostaway: PUT /v1/listings/{listingId}/calendar. |
hostaway_send_message | write | Send a guest message Send a message to the guest in a conversation — it is delivered immediately and cannot be recalled. Delivered by email by default, or via the booking channel, SMS or WhatsApp. Attachments are not supported. Rate-limited by Hostaway to 30 messages per minute. Hostaway: POST /v1/conversations/{conversationId}/messages. |
hostaway_create_task | write | Create a task Create an operational task — e.g. a cleaning after a checkout or a maintenance job — optionally tied to a listing and reservation, assigned to a user, with a time window, category and cost. Hostaway: POST /v1/tasks. |
hostaway_update_task | write | Update a task Update a task — change its status (e.g. completed), reassign it, move its window, or add a resolution note. Send only the fields to change. Hostaway: PUT /v1/tasks/{taskId}. |
hostaway_usage_status | Usage status (free-tier meter) Report the caller's current usage: the plan, calls used this month, the limit of the plan (the free monthly cap or the Pro fair use limit), remaining, and whether the limit is reached. Read-only; does not count against the meter. | |
hostaway_request_feature | Request a missing feature Tell usefulapi that the user needs something the Hostaway tools cannot do yet (a missing tool, field or filter). Call it only when the user asks for something none of the tools can do, and tell the user that you send the request. Do not call it for errors or for normal requests. Do not include personal data, credentials or customer records. Stored with the product name and the client type (for example Claude or Cursor), without the user's account. At most 5 requests per day. Does not count against the meter. | |
hostaway_upgrade | Upgrade to Pro (unlimited*) Get Pro: unlimited tool calls (fair use limit: 10,000 a month) on Hostaway (the free tier caps monthly usage). Plans: "monthly" — $9/month; "yearly" — $90/year (2 months free). Cancel any time: Pro then runs to the end of the paid period, so it also suits a one-time job. *A fair use limit applies. For heavy use (near Pro's limit): "plus" or "plus_yearly" — Pro+, $19/month or $190/year, unlimited tool calls (fair use limit: 100,000 a month); an existing Pro subscription changes to Pro+ in place (needs confirm: true; the price difference for the rest of the period is charged at once). Otherwise returns a short link to open in your browser (it opens Stripe Checkout); after payment the account upgrades automatically. Does not count against the meter. | |
hostaway_cancel_subscription | Cancel the Pro subscription Cancel the caller's Hostaway Pro subscription at the end of the paid period (no refund for the current period; Pro continues until then, then the free tier applies). Requires confirm: true. Run hostaway_upgrade later to undo the cancel before the period ends. Does not count against the meter. |
| Plan | Price | Limit |
|---|---|---|
| Free | $0 | 50 tool calls / month |
| Proper user | $9/mo · $90/yr | Unlimited* |
*Pro fair use limit: 10,000 tool calls a month on this server. For more, write to [email protected].
Pro covers this Hostaway server only. Subscribe with hostaway_upgrade (it returns a Stripe Checkout link). Cancel any time with hostaway_cancel_subscription: Pro continues to the end of the paid period, with no refund for the current period, and running hostaway_upgrade before then undoes the cancel. Or write to [email protected].
No. usefulapi is an independent service. It is not affiliated with or endorsed by Hostaway. The server calls the Hostaway API with your own Hostaway access, so it sees only the data that your account can see.
Yes. In Claude, add this server's URL as a custom connector. In ChatGPT, add it as a custom MCP server in Plugins. Then log in once. Cursor, VS Code, Claude Code and Codex work too. See the setup steps.
The login page asks for your Hostaway Account ID and API key. See Before you connect for where to find them.
No. Add only the URL. Do not add an Authorization header or an API key to the client config. The server signs you in with OAuth: the login page asks for your Hostaway Account ID and API key. If the config has such a header, remove it: some clients then send that header instead of the login token, and every call fails with 401.
The login stores them encrypted in the authorization grant of your connection. The server uses them to call the Hostaway API for you and to derive a private account id for usage metering. usefulapi does not show them on any page or in any reply. To stop all access, remove the connector and change or delete these credentials in Hostaway.
Yes, if you approve it. 6 of the 20 Hostaway tools can create or change data. The other 14 are marked read-only. Most MCP clients ask you to approve a tool call before it runs.
The Free plan gives 50 tool calls / month. Pro costs $9/mo or $90/yr, with unlimited tool calls (fair use limit: 10,000 tool calls a month), for this Hostaway server only. Cancel any time: Pro then runs to the end of the paid period. Run hostaway_usage_status to see how many calls you used.
Ask the AI to run hostaway_upgrade: it returns a Stripe Checkout link. To cancel, run hostaway_cancel_subscription. Pro continues to the end of the paid period.
Tell the AI what you wanted to do. It can send the request with hostaway_request_feature. We store the text with the server name, the type of AI client and the tool you tried, not with your account, and read every request when we plan new tools. You can send up to 5 requests per day.
Any client that supports remote MCP servers (Streamable HTTP) with OAuth login: Claude (web and desktop), Claude Code, ChatGPT, Codex, Cursor, VS Code, Windsurf and others.
This is a Model Context Protocol endpoint — meant to be connected from an AI client, not opened in a browser. An invalid_token response at the URL is the auth gate working as designed; clients authenticate automatically.