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 +60 -1
- package/README.md +79 -57
- package/package.json +4 -4
- package/server.json +4 -4
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
|
|
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
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/guesty-mcp-server)
|
|
4
|
+
[](https://opensource.org/licenses/MIT)
|
|
4
5
|
|
|
5
|
-
|
|
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
|
-
|
|
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
|
-
|
|
38
|
-
cd guesty-mcp-server
|
|
39
|
-
npm install
|
|
13
|
+
npx guesty-mcp-server
|
|
40
14
|
```
|
|
41
15
|
|
|
42
|
-
|
|
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": "
|
|
60
|
-
"args": ["
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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
|
|
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,
|
|
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
|
|
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.
|
|
4
|
-
"description": "MCP
|
|
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.
|
|
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.
|
|
4
|
-
"description": "
|
|
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.
|
|
9
|
+
"version": "0.4.2",
|
|
10
10
|
"packages": [
|
|
11
11
|
{
|
|
12
12
|
"registryType": "npm",
|
|
13
13
|
"identifier": "guesty-mcp-server",
|
|
14
|
-
"version": "0.4.
|
|
14
|
+
"version": "0.4.2",
|
|
15
15
|
"transport": {
|
|
16
16
|
"type": "stdio"
|
|
17
17
|
},
|