npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

guesty-mcp-server

v0.9.4

Published

MCP server for Guesty property management — 43 production tools + 7 addressable resource templates covering reservations, guests, messaging, pricing, revenue, tasks, webhooks, and IoT/property-health Enterprise tier.

Readme

Guesty MCP Server

npm version License: MIT

The first MCP (Model Context Protocol) server for Guesty property management. Connect any MCP-compatible AI client (Claude, ChatGPT, Copilot, Cline) to your Guesty account — manage reservations, communicate with guests, track finances, update pricing.

Just shipped v0.9.3 (2026-05-23): 23 free read-only tools — reservations, listings, guests, calendars, financial reports, operations, reviews, and webhook reads — live now. The full 43-tool surface (write/destructive ops + webhook management) ships behind a paid tier in v1.0 next week.

Why MCP: Guesty is one of the larger PMS platforms in the short-term-rental space and no MCP integration existed. Every major PMS will need one — we built the first.

Built in production on 8 of our own short-term rentals. Node.js + MCP SDK + Express, MIT licensed. Things we learned: Guesty's /reservations endpoint only returns future data (we use the calendar endpoint for historical), and the SSE transport doesn't run on Vercel serverless (expected). 2,112 lifetime npm downloads, 676 in the last 30 days.

Full tool surface: 43 tools across reservations, listings, guests, messaging, financials, tasks, calendars, webhooks, and pricing — plus 1 IoT tool (get_readiness_score) and 3 Enterprise-tier aggregators (get_property_health, submit_checkout_photos, get_maintenance_alerts).

Want AI to handle your guest messages 24/7? Guesty Copilot -- AI guest management for Guesty hosts, built on this MCP server. Now in beta.

Stay updated: Sign up for release notes and new tool announcements

v0.9.2 (2026-05-21) — Paid tiers launching v1.0 next week. Free tier (23 read-only tools) is fully functional now: reservations, listings, guests, calendars, financial reports, operations, reviews, and webhook reads. Write operations (create/update/delete) and the full 43-tool surface ship in v1.0 with Stripe-backed paid-tier activation. Until then, paid-tier license keys return a NOT YET WIRED — PAID TIERS LAUNCH v1.0 refusal — set or omit GUESTY_MCP_LICENSE_KEY to use the free tier.

Quick Start

npx guesty-mcp-server

Or add to your Claude Code settings (~/.claude/settings.json):

{
  "mcpServers": {
    "guesty": {
      "command": "npx",
      "args": ["-y", "guesty-mcp-server"],
      "env": {
        "GUESTY_CLIENT_ID": "your-client-id",
        "GUESTY_CLIENT_SECRET": "your-client-secret"
      }
    }
  }
}

Get Guesty API Credentials

  1. Log into Guesty Dashboard
  2. Go to Settings > API (or Marketplace > API Credentials)
  3. Create an API application with open-api scope
  4. Copy your Client ID and Client Secret

All 43 Tools

Reservations & Guests

| Tool | Description | |------|-------------| | get_reservations | Fetch reservations with filters (dates, listing, status, guest) | | create_reservation | Create direct bookings (website to Guesty) | | update_reservation | Update reservation status, dates, guest info, or add notes | | search_reservations | Search by guest name, email, or confirmation code | | get_reservation_financials | Detailed financial breakdown for a reservation | | create_reservation_note | Add internal notes to a reservation | | get_guests | Search guest database by name or email | | get_guest_by_id | Get detailed guest profile |

Listings & Calendar

| Tool | Description | |------|-------------| | get_listing | Get property details or list all properties | | update_listing | Update title, description, amenities, min nights, max guests | | get_calendar | Check availability and pricing by date | | update_calendar | Block/unblock dates, set minimum nights | | get_calendar_blocks | Get blocked dates with reasons | | get_listing_occupancy | Calculate occupancy rate over a date range | | get_photos | Fetch listing photos with captions | | update_photos | Replace or reorder listing photos |

Messaging

| Tool | Description | |------|-------------| | get_conversations | Fetch guest message history | | send_guest_message | Send messages to guests in conversations |

Financials & Pricing

| Tool | Description | |------|-------------| | get_financials | Revenue, payouts, and commission data | | update_pricing | Update base price or date-specific pricing | | get_listing_pricing | Get base price, discounts, and fee details | | update_listing_pricing | Update base price, cleaning fee, discounts | | get_owner_statements | Owner revenue statements and reports | | get_expenses | Track operational expenses | | create_expense | Create new expense records | | get_revenue_summary | Aggregated revenue across all listings |

Operations

| Tool | Description | |------|-------------| | get_tasks | Fetch cleaning and maintenance tasks | | create_task | Create cleaning or maintenance tasks | | get_reviews | Fetch guest reviews from all channels | | respond_to_review | Post responses to guest reviews | | get_channels | List connected booking channels per property | | get_supported_languages | Get supported languages for a listing |

Automation & Integrations

| Tool | Description | |------|-------------| | get_automation_rules | List automation and workflow rules | | get_webhooks | List registered webhooks | | create_webhook | Register new webhook for event notifications | | delete_webhook | Remove a registered webhook | | get_custom_fields | Fetch custom fields for listings or reservations | | get_account_info | Get account info and subscription details |

Enterprise Tier

| Tool | Description | |------|-------------| | get_property_health | Aggregate health signal per property: reservation status, open maintenance alerts, review-score, last-clean timestamp, IoT hub status | | submit_checkout_photos | Accept post-checkout photo uploads and log them to the property's maintenance/cleaning record | | get_maintenance_alerts | List or filter open maintenance alerts for a property or portfolio |

Requires GUESTY_MCP_LICENSE_KEY with an Enterprise key (gmcp_ent_*). See pricing.

Use Cases

  • Guest Communication: AI agents auto-respond to guest inquiries using real reservation data
  • Revenue Management: Pull financial reports, analyze occupancy, optimize pricing
  • Operations: Track check-ins/outs, coordinate cleaning schedules, manage availability
  • Marketing: Identify low-occupancy periods, create targeted promotions
  • Multi-Agent Teams: Give your entire AI team access to property data

Requirements

  • Node.js 18+
  • Guesty account with API access (Professional plan or higher)
  • MCP-compatible AI client (Claude Code, Cursor, Windsurf, etc.)

Environment Variables

| Variable | Default | Purpose | |----------|---------|---------| | GUESTY_CLIENT_ID | — | OAuth2 client id (required) | | GUESTY_CLIENT_SECRET | — | OAuth2 client secret (required) | | IOT_WEBHOOK_PORT | 3100 | Port for the Enterprise-tier IoT webhook receiver stub (src/webhook/iot-receiver-server.js). Local/reverse-proxy only — do not expose publicly. Production requires a reverse proxy that terminates TLS and enforces real HMAC against IOT_WEBHOOK_SECRET. |

API Reference

This server wraps the Guesty Open API. Authentication uses OAuth2 client credentials flow with automatic token caching, retry logic, and rate limit handling.

Built By

DLJ Properties -- Running 7 properties with a fully autonomous AI agent team. Built for our own use, shared with the STR community.

License

MIT