guesty-mcp-server 0.4.1 → 0.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -2,10 +2,69 @@
2
2
 
3
3
  All notable changes to the Guesty MCP Server will be documented in this file.
4
4
 
5
+ ## [0.4.3] - 2026-03-27
6
+
7
+ ### Changed
8
+ - Updated package description to reflect full 38-tool capability
9
+ - Updated CHANGELOG with complete version history (v0.3.0–v0.4.2)
10
+
11
+ ## [0.4.2] - 2026-03-27
12
+
13
+ ### Fixed
14
+ - MCP Registry namespace case fix (`io.github.DLJRealty/guesty`)
15
+ - Added `.gitignore` entry for token files
16
+
17
+ ## [0.4.1] - 2026-03-27
18
+
19
+ ### Fixed
20
+ - Server.json description length exceeding MCP Registry limits
21
+
22
+ ## [0.4.0] - 2026-03-27
23
+
24
+ ### Added
25
+ - MCP Registry `server.json` and Smithery `smithery.yaml` config
26
+ - `mcpName` field in package.json for registry discovery
27
+ - Expanded from 29 to **38 tools**:
28
+ - `get_reservation_financials` - Detailed financial breakdown per reservation
29
+ - `get_reservation_notes` - Internal notes on reservations
30
+ - `add_reservation_note` - Add notes to reservations
31
+ - `get_listing_pricing` - Pricing rules and rate plans
32
+ - `get_account_info` - Guesty account details
33
+ - `create_webhook` - Register webhooks for real-time events
34
+ - `delete_webhook` - Remove registered webhooks
35
+ - `get_custom_fields` - Custom field definitions
36
+ - `update_custom_fields` - Update custom field values
37
+ - Delete helper utility for webhook management
38
+ - Improved error handling across all tools
39
+
40
+ ### Fixed
41
+ - 5 failing tools identified and fixed via E2E test against live Guesty API
42
+
43
+ ## [0.3.0] - 2026-03-26
44
+
45
+ ### Added
46
+ - Expanded from 15 to **29 tools**:
47
+ - `get_photos` - Property photo URLs and metadata
48
+ - `get_guest` - Guest profile details
49
+ - `get_guests` - Search and list guests
50
+ - `get_occupancy_stats` - Occupancy rates and statistics
51
+ - `get_revenue_stats` - Revenue analytics and trends
52
+ - And additional operational tools
53
+ - Docker support with `Dockerfile` and `docker-compose.yml`
54
+ - HTTP transport module for remote MCP access (non-stdio)
55
+ - Integration test suite (`tests/test-tools.js`) for all tools
56
+ - CLI tool (`guesty-cli`) for command-line usage
57
+ - Security guide (`SECURITY.md`)
58
+ - Health check endpoint for production monitoring
59
+ - Webhook handler module for real-time Guesty events (v3 prep)
60
+ - Multi-account design doc for v3 architecture
61
+ - GitHub Actions CI workflow
62
+ - Example configs for Claude Code and Docker Compose
63
+
5
64
  ## [0.2.0] - 2026-03-26
6
65
 
7
66
  ### Added
8
- - `create_reservation` - Create direct bookings (website Guesty)
67
+ - `create_reservation` - Create direct bookings (website to Guesty)
9
68
  - `get_reviews` - Fetch guest reviews from all channels
10
69
  - `get_calendar` - Check availability and pricing by date range
11
70
  - `update_calendar` - Block/unblock dates, set minimum nights
package/README.md CHANGED
@@ -1,63 +1,26 @@
1
1
  # Guesty MCP Server
2
2
 
3
- The first MCP (Model Context Protocol) server for [Guesty](https://guesty.com) property management. Connect AI agents directly to your Guesty account to manage reservations, communicate with guests, track finances, and update pricing -- all autonomously.
3
+ [![npm version](https://img.shields.io/npm/v/guesty-mcp-server)](https://www.npmjs.com/package/guesty-mcp-server)
4
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
5
 
5
- ## Features
6
+ The first MCP (Model Context Protocol) server for [Guesty](https://guesty.com) property management. Connect AI agents directly to your Guesty account to manage reservations, communicate with guests, track finances, and update pricing -- all autonomously.
6
7
 
7
- | Tool | Description |
8
- |------|-------------|
9
- | `get_reservations` | Fetch reservations with filters (dates, listing, status, guest) |
10
- | `get_listing` | Get property details or list all properties |
11
- | `get_conversations` | Fetch guest message history |
12
- | `send_guest_message` | Send messages to guests in conversations |
13
- | `get_financials` | Revenue, payouts, and commission data |
14
- | `update_pricing` | Update base price or date-specific pricing |
15
- | `create_reservation` | Create direct bookings (website → Guesty) |
16
- | `get_reviews` | Fetch guest reviews from all channels |
17
- | `get_calendar` | Check availability and pricing by date |
18
- | `update_calendar` | Block/unblock dates, set minimum nights |
19
- | `respond_to_review` | Post responses to guest reviews |
20
- | `get_owner_statements` | Owner revenue statements and reports |
21
- | `get_expenses` | Track operational expenses |
22
- | `get_channels` | List connected booking channels per property |
23
- | `get_tasks` | Fetch cleaning and maintenance tasks |
8
+ **38 tools** covering reservations, listings, guests, messaging, financials, tasks, calendars, webhooks, pricing, and more.
24
9
 
25
10
  ## Quick Start
26
11
 
27
- ### 1. Get Guesty API Credentials
28
-
29
- 1. Log into [Guesty Dashboard](https://app.guesty.com)
30
- 2. Go to **Settings > API** (or Marketplace > API Credentials)
31
- 3. Create an API application with `open-api` scope
32
- 4. Copy your **Client ID** and **Client Secret**
33
-
34
- ### 2. Install
35
-
36
12
  ```bash
37
- git clone https://github.com/DLJRealty/guesty-mcp-server.git
38
- cd guesty-mcp-server
39
- npm install
13
+ npx guesty-mcp-server
40
14
  ```
41
15
 
42
- ### 3. Configure
43
-
44
- Set your Guesty credentials as environment variables:
45
-
46
- ```bash
47
- export GUESTY_CLIENT_ID="your-client-id"
48
- export GUESTY_CLIENT_SECRET="your-client-secret"
49
- ```
50
-
51
- ### 4. Add to Claude Code
52
-
53
- Add to your Claude Code settings (`~/.claude/settings.json`):
16
+ Or add to your Claude Code settings (`~/.claude/settings.json`):
54
17
 
55
18
  ```json
56
19
  {
57
20
  "mcpServers": {
58
21
  "guesty": {
59
- "command": "node",
60
- "args": ["/path/to/guesty-mcp-server/src/server.js"],
22
+ "command": "npx",
23
+ "args": ["-y", "guesty-mcp-server"],
61
24
  "env": {
62
25
  "GUESTY_CLIENT_ID": "your-client-id",
63
26
  "GUESTY_CLIENT_SECRET": "your-client-secret"
@@ -67,17 +30,76 @@ Add to your Claude Code settings (`~/.claude/settings.json`):
67
30
  }
68
31
  ```
69
32
 
70
- ### 5. Use
33
+ ## Get Guesty API Credentials
34
+
35
+ 1. Log into [Guesty Dashboard](https://app.guesty.com)
36
+ 2. Go to **Settings > API** (or Marketplace > API Credentials)
37
+ 3. Create an API application with `open-api` scope
38
+ 4. Copy your **Client ID** and **Client Secret**
39
+
40
+ ## All 38 Tools
71
41
 
72
- Once connected, your AI agent can:
42
+ ### Reservations & Guests
43
+ | Tool | Description |
44
+ |------|-------------|
45
+ | `get_reservations` | Fetch reservations with filters (dates, listing, status, guest) |
46
+ | `create_reservation` | Create direct bookings (website to Guesty) |
47
+ | `update_reservation` | Update reservation status, dates, guest info, or add notes |
48
+ | `search_reservations` | Search by guest name, email, or confirmation code |
49
+ | `get_reservation_financials` | Detailed financial breakdown for a reservation |
50
+ | `create_reservation_note` | Add internal notes to a reservation |
51
+ | `get_guests` | Search guest database by name or email |
52
+ | `get_guest_by_id` | Get detailed guest profile |
53
+
54
+ ### Listings & Calendar
55
+ | Tool | Description |
56
+ |------|-------------|
57
+ | `get_listing` | Get property details or list all properties |
58
+ | `update_listing` | Update title, description, amenities, min nights, max guests |
59
+ | `get_calendar` | Check availability and pricing by date |
60
+ | `update_calendar` | Block/unblock dates, set minimum nights |
61
+ | `get_calendar_blocks` | Get blocked dates with reasons |
62
+ | `get_listing_occupancy` | Calculate occupancy rate over a date range |
63
+ | `get_photos` | Fetch listing photos with captions |
64
+ | `update_photos` | Replace or reorder listing photos |
73
65
 
74
- ```
75
- "Show me all reservations checking in this week"
76
- "What's the total revenue for March?"
77
- "Send a welcome message to the guest checking in tomorrow"
78
- "Update the base price for Unit Y to $159"
79
- "List all my properties with their current status"
80
- ```
66
+ ### Messaging
67
+ | Tool | Description |
68
+ |------|-------------|
69
+ | `get_conversations` | Fetch guest message history |
70
+ | `send_guest_message` | Send messages to guests in conversations |
71
+
72
+ ### Financials & Pricing
73
+ | Tool | Description |
74
+ |------|-------------|
75
+ | `get_financials` | Revenue, payouts, and commission data |
76
+ | `update_pricing` | Update base price or date-specific pricing |
77
+ | `get_listing_pricing` | Get base price, discounts, and fee details |
78
+ | `update_listing_pricing` | Update base price, cleaning fee, discounts |
79
+ | `get_owner_statements` | Owner revenue statements and reports |
80
+ | `get_expenses` | Track operational expenses |
81
+ | `create_expense` | Create new expense records |
82
+ | `get_revenue_summary` | Aggregated revenue across all listings |
83
+
84
+ ### Operations
85
+ | Tool | Description |
86
+ |------|-------------|
87
+ | `get_tasks` | Fetch cleaning and maintenance tasks |
88
+ | `create_task` | Create cleaning or maintenance tasks |
89
+ | `get_reviews` | Fetch guest reviews from all channels |
90
+ | `respond_to_review` | Post responses to guest reviews |
91
+ | `get_channels` | List connected booking channels per property |
92
+ | `get_supported_languages` | Get supported languages for a listing |
93
+
94
+ ### Automation & Integrations
95
+ | Tool | Description |
96
+ |------|-------------|
97
+ | `get_automation_rules` | List automation and workflow rules |
98
+ | `get_webhooks` | List registered webhooks |
99
+ | `create_webhook` | Register new webhook for event notifications |
100
+ | `delete_webhook` | Remove a registered webhook |
101
+ | `get_custom_fields` | Fetch custom fields for listings or reservations |
102
+ | `get_account_info` | Get account info and subscription details |
81
103
 
82
104
  ## Use Cases
83
105
 
@@ -85,17 +107,17 @@ Once connected, your AI agent can:
85
107
  - **Revenue Management**: Pull financial reports, analyze occupancy, optimize pricing
86
108
  - **Operations**: Track check-ins/outs, coordinate cleaning schedules, manage availability
87
109
  - **Marketing**: Identify low-occupancy periods, create targeted promotions
88
- - **Multi-Agent Teams**: Give your entire AI team (CEO, Marketing, CS, Ops) access to property data
110
+ - **Multi-Agent Teams**: Give your entire AI team access to property data
89
111
 
90
112
  ## Requirements
91
113
 
92
114
  - Node.js 18+
93
115
  - Guesty account with API access (Professional plan or higher)
94
- - MCP-compatible AI client (Claude Code, OpenClaw, etc.)
116
+ - MCP-compatible AI client (Claude Code, Cursor, Windsurf, etc.)
95
117
 
96
118
  ## API Reference
97
119
 
98
- This server wraps the [Guesty Open API](https://open-api.guesty.com/api-docs). Authentication uses OAuth2 client credentials flow with automatic token caching and refresh.
120
+ This server wraps the [Guesty Open API](https://open-api.guesty.com/api-docs). Authentication uses OAuth2 client credentials flow with automatic token caching, retry logic, and rate limit handling.
99
121
 
100
122
  ## Built By
101
123
 
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "guesty-mcp-server",
3
- "version": "0.4.1",
4
- "description": "MCP Server for Guesty Property Management - The first Guesty MCP server",
3
+ "version": "0.4.3",
4
+ "description": "The first MCP server for Guesty property management. 38 tools for reservations, guests, messaging, pricing, financials, calendars, reviews, tasks, and webhooks.",
5
5
  "main": "src/server.js",
6
6
  "bin": {
7
7
  "guesty-mcp-server": "src/server.js",
@@ -30,8 +30,8 @@
30
30
  "url": "https://github.com/DLJRealty/guesty-mcp-server.git"
31
31
  },
32
32
  "homepage": "https://github.com/DLJRealty/guesty-mcp-server",
33
- "mcpName": "io.github.dljrealty/guesty",
33
+ "mcpName": "io.github.DLJRealty/guesty",
34
34
  "engines": {
35
35
  "node": ">=18.0.0"
36
36
  }
37
- }
37
+ }
package/server.json CHANGED
@@ -1,17 +1,17 @@
1
1
  {
2
2
  "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
- "name": "io.github.dljrealty/guesty",
4
- "description": "First-ever MCP server for Guesty property management. 38 tools for reservations, listings, guests, financials, messaging, tasks, webhooks, pricing, and more.",
3
+ "name": "io.github.DLJRealty/guesty",
4
+ "description": "MCP server for Guesty property management 38 tools for STR operations.",
5
5
  "repository": {
6
6
  "url": "https://github.com/DLJRealty/guesty-mcp-server",
7
7
  "source": "github"
8
8
  },
9
- "version": "0.4.0",
9
+ "version": "0.4.2",
10
10
  "packages": [
11
11
  {
12
12
  "registryType": "npm",
13
13
  "identifier": "guesty-mcp-server",
14
- "version": "0.4.0",
14
+ "version": "0.4.2",
15
15
  "transport": {
16
16
  "type": "stdio"
17
17
  },