Hostaway-mcp

Hostaway-mcp

Connects AI assistants to the Hostaway property management API via 10 read-only tools covering listings, reservations, calendars, guest conversations, and owner statements.

Category
Visit Server

README

@prosperkartik/hostaway-mcp

<p align="center"> <img src="./docs/hostaway-logo.png" alt="Hostaway" height="48" /> </p>

Model Context Protocol (MCP) server for the Hostaway PMS — connect Claude to your vacation rental ops.

@prosperkartik/hostaway-mcp connects Claude (in Claude Code, Claude Desktop, or any MCP-compatible client) to your Hostaway account — listings, reservations, calendar availability, guest messaging, and financials. Authored by an engineer who has integrated Hostaway, Ciirus, and major OTA APIs (Airbnb, VRBO, Booking.com, Expedia, Marriott) in production for short-term rental operators since 2022.

npm version license

Hostaway is a trademark of Hostaway Inc. This project is community-built and not affiliated with or endorsed by Hostaway.

Why this server

Three reasons:

  1. Tool coverage. 10 read-only tools across listings, reservations, calendar, conversations, financials, and a health-check — broader surface than other community MCP servers in this space.
  2. Cleaner auth UX. Takes the two credentials Hostaway gives you on the API settings page — Account ID + API Key — and handles the OAuth token exchange internally. No "go generate a bearer token elsewhere first" step.
  3. Built by someone who works the API. The author has 3+ years of production Hostaway / Ciirus integration work behind the design decisions. Tools map to real operator workflows, not just REST endpoints.

Tools (v0.1)

All v0.1 tools are read-only. Write operations are coming in later versions, gated behind explicit confirmation.

Tool Description
whoami Health-check — returns connected account counts (listings, reservations, conversations, owner statements, users). Run this first to confirm setup works.
list_listings List properties on the account
get_listing Full detail for a single listing — location, capacity, pricing, reputation, channel URLs
list_reservations List reservations, with optional filters by arrival date range and status
get_reservation Full detail for a single reservation — guest, dates, pricing, channel
list_calendar Per-day availability for a listing across a date range — answers "is property X free between A and B?"
list_conversations List guest message threads with unread state and last activity
list_unread_conversations Only conversations with unread guest messages — answers "who's waiting on a reply?"
get_conversation_messages Full message history of a single conversation
list_owner_statements List owner financial statements

Quick start

1. Get your Hostaway API credentials

In your Hostaway operator account → Settings → Hostaway API. Generate API credentials. You'll get an Account ID and an API Key.

2. Add to Claude Code

claude mcp add hostaway \
  --scope user \
  -e HOSTAWAY_ACCOUNT_ID=your-account-id \
  -e HOSTAWAY_API_KEY=your-api-key \
  -- npx -y @prosperkartik/hostaway-mcp

(Or use --scope local to install for the current project only.)

3. Or add to Claude Desktop

Edit ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) and add:

{
  "mcpServers": {
    "hostaway": {
      "command": "npx",
      "args": ["-y", "@prosperkartik/hostaway-mcp"],
      "env": {
        "HOSTAWAY_ACCOUNT_ID": "your-account-id",
        "HOSTAWAY_API_KEY": "your-api-key"
      }
    }
  }
}

Restart Claude Desktop. The Hostaway tools appear in the tools picker.

4. Try it

Ask Claude things like:

  • "Run whoami to confirm Hostaway is connected."
  • "List my Hostaway listings."
  • "What reservations are checking in next week?"
  • "Is listing 12345 available May 10–17?"
  • "Do I have any unread guest messages?"
  • "Show me the conversation with [guest]."

Example output (placeholder data)

> List my Hostaway listings.

Found 3 listings:

| ID    | Name              | Location          | Beds | Baths | Capacity | Status |
|-------|-------------------|-------------------|------|-------|----------|--------|
| 10001 | Sample Apt 2BR    | Sample City, US   | 2    | 2     | 4        | active |
| 10002 | Sample Loft       | Sample City, US   | 1    | 1     | 2        | active |
| 10003 | Sample Beachfront | Sample Beach, US  | 3    | 2     | 6        | active |
> Is listing 10001 available May 10–17?

# Calendar for listing 10001
8 days returned (2026-05-10 → 2026-05-17)  ·  6 available, 2 reserved, 0 blocked

| Date       | Available | Status   | Price | Min stay | Reserved | Blocked | Note |
|------------|-----------|----------|-------|----------|----------|---------|------|
| 2026-05-10 | ✓         | available| 220   | 2        | 0        | 0       |      |
| 2026-05-11 | ✓         | available| 220   | 2        | 0        | 0       |      |
| 2026-05-12 | ✗         | reserved | 220   | 2        | 1        | 0       |      |
| ...                                                                            |

Configuration

Env var Required Description
HOSTAWAY_ACCOUNT_ID yes Your Hostaway account ID (acts as OAuth client_id)
HOSTAWAY_API_KEY yes Your Hostaway API secret (acts as OAuth client_secret)

The server exchanges those for a bearer token at startup and caches it in memory for the lifetime of the process.

Local development

git clone https://github.com/prosperkartik/hostaway-mcp.git
cd hostaway-mcp
npm install
cp .env.example .env  # fill in credentials
npm run build
npm start

Hot-reload via tsx:

npm run dev

Roadmap

  • [x] v0.1 — 10 read-only tools across listings, reservations, calendar, conversations, financials, and health-check
  • [ ] v0.2 — Tasks (list_tasks, get_task); Cancellation policies; Custom fields read
  • [ ] v0.3 — Guest payments read; Webhooks read
  • [ ] v0.4+ — Write operations (send guest messages, update calendar blocks, create tasks) gated behind explicit confirm: true

Have a request? Open an issue or start a discussion.

Security

  • Credentials live in environment variables only — never written to disk by this server
  • The bearer token lives in process memory; no persistent storage
  • v0.1 is read-only end-to-end; nothing in this codebase can mutate Hostaway data
  • For multi-property operators: the Hostaway API returns data scoped to the account whose credentials you supply, so cross-account access is not possible

Contributing

Issues and PRs welcome. The codebase is small and easy to read; start at src/index.ts.

License

MIT — see LICENSE.

Author

Built by Kartik Vats (@prosperkartik) — AI engineer at Kodeit. Three years of production work on PMS / OTA integrations and LLM tooling.

If you're a vacation rental operator or hospitality tech team and want help wiring AI into your ops, get in touch via kodeit.io or email prosperkartik@gmail.com.

Recommended Servers

playwright-mcp

playwright-mcp

A Model Context Protocol server that enables LLMs to interact with web pages through structured accessibility snapshots without requiring vision models or screenshots.

Official
Featured
TypeScript
Magic Component Platform (MCP)

Magic Component Platform (MCP)

An AI-powered tool that generates modern UI components from natural language descriptions, integrating with popular IDEs to streamline UI development workflow.

Official
Featured
Local
TypeScript
Audiense Insights MCP Server

Audiense Insights MCP Server

Enables interaction with Audiense Insights accounts via the Model Context Protocol, facilitating the extraction and analysis of marketing insights and audience data including demographics, behavior, and influencer engagement.

Official
Featured
Local
TypeScript
VeyraX MCP

VeyraX MCP

Single MCP tool to connect all your favorite tools: Gmail, Calendar and 40 more.

Official
Featured
Local
graphlit-mcp-server

graphlit-mcp-server

The Model Context Protocol (MCP) Server enables integration between MCP clients and the Graphlit service. Ingest anything from Slack to Gmail to podcast feeds, in addition to web crawling, into a Graphlit project - and then retrieve relevant contents from the MCP client.

Official
Featured
TypeScript
Kagi MCP Server

Kagi MCP Server

An MCP server that integrates Kagi search capabilities with Claude AI, enabling Claude to perform real-time web searches when answering questions that require up-to-date information.

Official
Featured
Python
E2B

E2B

Using MCP to run code via e2b.

Official
Featured
Neon Database

Neon Database

MCP server for interacting with Neon Management API and databases

Official
Featured
Exa Search

Exa Search

A Model Context Protocol (MCP) server lets AI assistants like Claude use the Exa AI Search API for web searches. This setup allows AI models to get real-time web information in a safe and controlled way.

Official
Featured
Qdrant Server

Qdrant Server

This repository is an example of how to create a MCP server for Qdrant, a vector search engine.

Official
Featured