
Security News
Re-Enabled GitHub Actions Expose Thousands of Repositories to Mini Shai-Hulud
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.
hostaway-kit
Advanced tools
Read-only Hostaway MCP server for listings, calendar, inbox triage, and operator reports. Runs on fixtures when credentials are unset.
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.
list_listings, get_listing, get_calendar, list_reservations, list_conversations, list_messages, plus inbox triage, draft reply, and reports.wifiPassword, wifiUsername, doorSecurityCode, doorCode, doorCodeVendor, doorCodeInstruction, and all invoicing* contact fields.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.
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.
| 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.
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/
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/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.
| 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.
| 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.
Demo inventory (not a real Hostaway account):
wifiPassword / invoicing contacts; the denylist strips them.includeArchived is true.price: null.npm test
Covers denylist, fixture filters, occupancy math, SLA counts, draft refusal of secrets and invented rates, and the absence of a send path.
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.
MIT. See LICENSE.
Hostaway is a trademark of its owner. This project is not affiliated with or endorsed by Hostaway.
FAQs
Read-only Hostaway MCP server for listings, calendar, inbox triage, and operator reports. Runs on fixtures when credentials are unset.
The npm package hostaway-kit receives a total of 0 weekly downloads. As such, hostaway-kit popularity was classified as not popular.
We found that hostaway-kit demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
Two compromised GitHub Actions were re-enabled with malicious tags intact, exposing thousands of downstream repositories to Mini Shai-Hulud.

Research
/Security News
A malicious Firefox extension fetches its payload after installation to evade detection, steal Google session cookies, and automate account takeover.

Research
/Security News
The compromise affects MemTensor's MemOS, an open source memory framework for large language models (LLMs) and AI agents. Both npm package @memtensor/memos-cloud-openclaw-plugin and the PyPI package MemoryOS are compromised. They drop cross-platform Go binaries that exfiltrate developer secrets.