Server data from the Official MCP Registry
Read-only Hostaway MCP: listings, calendar, inbox, reports. Fixtures, no key. By STYLABS.
About
Read-only Hostaway MCP: listings, calendar, inbox, reports. Fixtures, no key. By STYLABS.
Security Report
This is a well-designed read-only MCP server for Hostaway property management. The code demonstrates strong security practices: credentials are properly managed via environment variables, there is no support for write operations, and sensitive fields are systematically stripped from all API responses via a robust denylist. The architecture prevents information leakage of wifi passwords, door codes, and invoicing contacts. Minor code quality issues around error handling in the live API client and lack of request timeout configuration do not materially impact security given the server's read-only scope. Supply chain analysis found 3 known vulnerabilities in dependencies (0 critical, 3 high severity). Package verification found 1 issue.
6 files analyzed · 8 issues found
Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.
Permissions Required
This plugin requests these system permissions. Most are normal for its category.
What You'll Need
Set these up before or after installing:
Environment variable: HOSTAWAY_ACCOUNT_ID
Environment variable: HOSTAWAY_CLIENT_SECRET
How to Install
Add this to your MCP configuration file:
{
"mcpServers": {
"io-github-stylabs-hostaway-kit": {
"env": {
"HOSTAWAY_ACCOUNT_ID": "your-hostaway-account-id-here",
"HOSTAWAY_CLIENT_SECRET": "your-hostaway-client-secret-here"
},
"args": [
"-y",
"hostaway-kit"
],
"command": "npx"
}
}
}Documentation
View on GitHubFrom the project's GitHub README.
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
- Read-only MCP (stdio) —
list_listings,get_listing,get_calendar,list_reservations,list_conversations,list_messages, plus inbox triage, draft reply, and reports. - Denylist on every listing / reservation / message payload:
wifiPassword,wifiUsername,doorSecurityCode,doorCode,doorCodeVendor,doorCodeInstruction, and allinvoicing*contact fields. - 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.
- 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.
- 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.
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
includeArchivedis 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.
Reviews
No reviews yet
Be the first to review this server!
More Developer Tools MCP Servers
Git
Freeby Modelcontextprotocol · Developer Tools
Read, search, and manipulate Git repositories programmatically
Fetch
Freeby Modelcontextprotocol · Developer Tools
Web content fetching and conversion for efficient LLM usage
Toleno
Freeby Toleno · Developer Tools
Toleno Network MCP Server — Manage your Toleno mining account with Claude AI using natural language.
mcp-creator-python
Freeby mcp-marketplace · Developer Tools
Create, build, and publish Python MCP servers to PyPI — conversationally.
MCP Marketplace
Freeby mcp-marketplace · Developer Tools
Search and install MCP servers from inside your AI client.
MarkItDown
Freeby Microsoft · Content & Media
Convert files (PDF, Word, Excel, images, audio) to Markdown for LLM consumption
