Skip to main content
Glama

Hostaway MCP Server

A FastAPI-based Model Context Protocol (MCP) server that exposes Hostaway property management operations as AI-callable tools.

Overview

This project enables AI assistants like Claude to interact with Hostaway's property management platform through standardized MCP tools. Built with FastAPI-MCP, it provides type-safe, authenticated access to listings, bookings, and guest communication.

Features

  • MCP Protocol Support: Expose Hostaway API as AI-callable tools

  • Type Safety: Full Pydantic model validation

  • Authentication: Secure API key and OAuth2 support

  • Async Performance: ASGI transport for efficient communication

  • Spec-Driven Development: Integrated with Spec-Kit workflow

Quick Start

Prerequisites

  • Python 3.12+

  • uv or pip package manager

  • Hostaway API credentials

Installation

# Clone repository
git clone <repository-url>
cd hostaway-mcp

# Create virtual environment
python3.12 -m venv .venv
source .venv/bin/activate

# Install dependencies
uv add fastapi fastapi-mcp uvicorn httpx pydantic-settings

# Configure environment
cp .env.example .env
# Edit .env with your Hostaway credentials

Running the Server

# Development mode
uvicorn src.mcp.server:mcp_app --reload

# Production mode
gunicorn src.mcp.server:mcp_app \
  --workers 4 \
  --worker-class uvicorn.workers.UvicornWorker \
  --bind 0.0.0.0:8000

Documentation

Core Documentation

  • FastAPI-MCP Integration Guide - Complete guide to using FastAPI-MCP

    • Installation and setup

    • Core concepts and architecture

    • Implementation examples

    • Authentication strategies

    • Deployment options

    • Best practices and troubleshooting

  • Implementation Roadmap - Project implementation plan

    • Phase-by-phase development strategy

    • Sprint timeline and milestones

    • Project structure and organization

    • Risk mitigation

    • Success criteria

Spec-Kit Workflow

This project uses Spec-Kit for spec-driven development:

  1. Define Constitution: /speckit.constitution

  2. Create Specification: /speckit.specify

  3. Generate Plan: /speckit.plan

  4. Create Tasks: /speckit.tasks

  5. Implement: /speckit.implement

Project Structure

hostaway-mcp/
├── .claude/              # Spec-kit commands
├── .specify/             # Spec-kit templates
├── src/
│   ├── api/             # FastAPI application
│   │   ├── main.py      # Main app
│   │   └── routes/      # API endpoints
│   ├── mcp/             # MCP server
│   │   ├── server.py    # MCP setup
│   │   ├── config.py    # Configuration
│   │   └── auth.py      # Authentication
│   ├── services/        # Business logic
│   └── models/          # Pydantic models
├── tests/               # Test suite
├── docs/                # Documentation
└── .env                 # Environment config

Available Tools (Planned)

Listings

  • get_listing - Retrieve listing details

  • list_listings - List all listings

  • check_availability - Check date availability

Bookings

  • search_bookings - Search with filters

  • get_booking - Get booking details

  • create_booking - Create new booking

Guests

  • send_guest_message - Send message to guest

  • get_guest - Get guest details

  • get_message_history - View communication history

Development

Running Tests

# Unit tests
pytest tests/unit

# Integration tests
pytest tests/integration

# All tests with coverage
pytest --cov=src tests/

Code Quality

# Linting
ruff check src/

# Type checking
mypy src/

# Formatting
ruff format src/

Deployment

Docker

# Build image
docker build -t hostaway-mcp .

# Run container
docker run -p 8000:8000 --env-file .env hostaway-mcp

Docker Compose

docker-compose up -d

Security

  • API keys stored in environment variables

  • Input validation with Pydantic

  • Rate limiting enabled

  • Audit logging for all tool calls

  • HTTPS required in production

Contributing

  1. Follow spec-driven development workflow

  2. Write tests for all new features

  3. Maintain >80% code coverage

  4. Update documentation

  5. Follow security best practices

License

MIT

Resources

Support

For issues and questions:


Status: Initial Setup Complete ✅ Next Step: Begin Phase 1 - Environment Setup (see Implementation Roadmap)

-
security - not tested
-
license - not tested
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

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

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/darrentmorgan/hostaway-mcp'

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