Skip to main content
Glama

hostaway-kit

Read-only MCP server plus Cursor / Claude Code / Codex skills for operators who already run Hostaway as their PMS.

Ask an assistant about listings, calendar, inbox, and simple reports. Hostaway stays the system of record. This kit never writes — no messages, no calendar blocks, no reservations.

Shipped by STYLABS, an AI-native venture studio that builds custom Hostaway booking sites and operator dashboards. STYLABS is not an official Hostaway partner.

What you get

  1. Read-only MCP (stdio)list_listings, get_listing, get_calendar, list_reservations, list_conversations, list_messages, plus inbox triage, draft reply, and reports.

  2. Denylist on every listing / reservation / message payload: wifiPassword, wifiUsername, doorSecurityCode, doorCode, doorCodeVendor, doorCodeInstruction, and all invoicing* contact fields.

  3. Inbox intelligence Hostaway does not compute — unanswered / SLA triage and a suggested reply grounded in that listing's fields, house rules, and calendar. Rates come from the calendar or are reported as unknown. Nothing is sent.

  4. Reports Hostaway does not ship as owner statements — occupancy and blocked holes from the calendar, unanswered thread counts, listing completeness (photos / house rules / amenities). No financials.

  5. Skills in this repo (not on npm) that tell the model to use the MCP tools and never invent numbers.

Mapped to the Hostaway Public API:

Kit behaviour

Hostaway

Active listings

GET /v1/listings?specialStatus[]=active

One listing

GET /v1/listings/{id}?includeResources=1

Calendar

GET /v1/listings/{id}/calendar?includeResources=1

Stay search on the list

availabilityDateStart, availabilityDateEnd, availabilityGuestNumber

Check-in / check-out

integers 0–23 (checkInTimeStart, checkInTimeEnd, checkOutTime)

Amenities

amenityId integers, not free-text names (GET /v1/amenities resolves names)

Inbox

GET /v1/conversations, GET /v1/conversations/{id}/messages

Create reservation / send message

out

If HOSTAWAY_ACCOUNT_ID or HOSTAWAY_CLIENT_SECRET is unset, the server serves bundled fixtures so npx still demos.

Related MCP server: Lodgify MCP Server

Install / run

npx -y hostaway-kit

Or from this repo:

npm install
npm run build
node dist/index.js

stdio only. Logs go to stderr. Credentials are optional.

Environment

Variable

Required

Purpose

HOSTAWAY_ACCOUNT_ID

for live reads

Hostaway account id (client_id on POST /v1/accessTokens)

HOSTAWAY_CLIENT_SECRET

for live reads

Client secret from the Hostaway dashboard

HOSTAWAY_KIT_NOW

no

ISO timestamp that pins "now" for SLA math (used by tests)

Get an API client secret from the Hostaway dashboard. This kit does not ship or use a Hostaway account.

Cursor

Add to ~/.cursor/mcp.json (or project .cursor/mcp.json):

{
  "mcpServers": {
    "hostaway": {
      "command": "npx",
      "args": ["-y", "hostaway-kit"],
      "env": {
        "HOSTAWAY_ACCOUNT_ID": "your-account-id",
        "HOSTAWAY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Leave both env values empty, or omit env, to run the fixture demo.

Copy the skills from this repo into Cursor:

cp -R skills/* ~/.cursor/skills/

Claude Code

Add to ~/.claude.json (or project .mcp.json):

{
  "mcpServers": {
    "hostaway": {
      "command": "npx",
      "args": ["-y", "hostaway-kit"],
      "env": {
        "HOSTAWAY_ACCOUNT_ID": "your-account-id",
        "HOSTAWAY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Skills:

mkdir -p .claude/skills
cp -R skills/* .claude/skills/

Codex

~/.codex/config.toml:

[mcp_servers.hostaway]
command = "npx"
args = ["-y", "hostaway-kit"]

[mcp_servers.hostaway.env]
HOSTAWAY_ACCOUNT_ID = "your-account-id"
HOSTAWAY_CLIENT_SECRET = "your-client-secret"

Skills live in this repository under skills/. Point Codex at that folder or copy the SKILL.md files into your Codex skills path.

Skills (repo only)

Skill

When to use

skills/hostaway-pms

Hostaway stays the PMS. Do not push their website builder.

skills/hostaway-guest-answers

Answer guests from that listing's fields only.

skills/hostaway-availability

Date-range availability from list filters + calendar.

skills/hostaway-inbox

SLA triage and draft. Never send.

skills/hostaway-reporting

Occupancy, holes, unanswered counts, completeness.

The npm package is the MCP server only. Skills stay in git.

Tools

Tool

What it does

list_listings

Active listings; optional city / name / availability filters

get_listing

One listing, resources included, secrets stripped

get_calendar

Day rows with status, isAvailable, price (null = unknown)

list_reservations

Reservations; door codes stripped

list_conversations

Inbox threads

list_messages

Messages in a thread

inbox_triage

Unanswered + SLA (breached / waiting / answered)

draft_reply

Grounded draft. send is always false.

report_occupancy

Reserved / available / blocked + blocked holes

report_inbox

Unanswered thread counts

report_completeness

Missing photos, house rules, amenities

Occupancy rate = reserved nights ÷ (reserved + available). Blocked nights are listed as holes, not folded into occupancy.

Fixtures

Demo inventory (not a real Hostaway account):

  • 101 Harbor View Studio — complete listing. Raw fixture includes wifiPassword / invoicing contacts; the denylist strips them.

  • 102 Riverside Loft — no photos.

  • 103 Pine Cabin — no house rules, no amenities.

  • 199 — archived; omitted unless includeArchived is true.

  • August 2026 calendar on 101 with reserved nights, a two-night blocked hole (6–7 Aug), and 11 Aug with price: null.

  • Unread threads 501 (SLA breach), 502 (within SLA), 504 (pets question on the incomplete listing). 503 is answered.

Tests

npm test

Covers denylist, fixture filters, occupancy math, SLA counts, draft refusal of secrets and invented rates, and the absence of a send path.

Out of scope

Writes of any kind. Guest Payments, Stripe, WordPress plugins, a hosted Claude connector, a Cursor marketplace plugin, Hostaway's website builder, Flagship guest websites, owner statements, or live client data.

License

MIT. See LICENSE.

Hostaway is a trademark of its owner. This project is not affiliated with or endorsed by Hostaway.

A
license - permissive license
Not graded
quality - not tested
C
maintenance

Maintenance

Maintainers
Response time
Release cycle
Releases (12mo)
Commit activity

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Servers

  • -
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to interact with Hostaway's property management platform through standardized MCP tools. Provides access to listings, bookings, guest communication, and availability checking for vacation rental management.
  • A
    license
    B
    quality
    B
    maintenance
    A read-only hospitality-focused MCP server that enables users to retrieve reservation details, listing briefs, and guest conversation contexts from Hostaway. It simplifies hospitality workflows by providing specialized tools for searching threads and viewing reservation data through natural language interfaces.
    6
    51
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects AI assistants to the Hostaway property management API via 10 read-only tools covering listings, reservations, calendars, guest conversations, and owner statements.
    10
    24
    3
    MIT

View all related MCP servers

Related MCP Connectors

  • Manage your Hostex vacation rentals—properties, reservations, availability, listings, and guest me…

  • Read-only SaaS business intelligence from GA4, Stripe, and Google Search Console.

  • Read-only MCP server for Muovi, Argentina's trust-first local services marketplace (6 tools).

View all MCP Connectors

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/stylabs/hostaway-kit-mcp-skills'

If you have feedback or need assistance with the MCP directory API, please join our Discord server