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

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