guesty-mcp-server 0.4.0 → 0.4.2

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.
@@ -0,0 +1 @@
1
+ ghu_erLfGY4zAYVbjzUz0jwdlWjPzYIRaP0Kql1T
@@ -0,0 +1 @@
1
+ {"token":"eyJhbGciOiJFZERTQSIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJtY3AtcmVnaXN0cnkiLCJleHAiOjE3NzQ1NzkyNTksIm5iZiI6MTc3NDU3ODk1OSwiaWF0IjoxNzc0NTc4OTU5LCJhdXRoX21ldGhvZCI6ImdpdGh1Yi1hdCIsImF1dGhfbWV0aG9kX3N1YiI6IkRMSlJlYWx0eSIsInBlcm1pc3Npb25zIjpbeyJhY3Rpb24iOiJwdWJsaXNoIiwicmVzb3VyY2UiOiJpby5naXRodWIuRExKUmVhbHR5LyoifV19.U8Lmee0qloF-2ugZuRdpi7Wnu-HeODY6kfMmztM1TamM4mWppFfytEELC9EM6nTs6Sq_y1HSKOmHiWOhODVYDg","expires_at":1774579259}
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,6 +1,6 @@
1
1
  {
2
2
  "name": "guesty-mcp-server",
3
- "version": "0.4.0",
3
+ "version": "0.4.2",
4
4
  "description": "MCP Server for Guesty Property Management - The first Guesty MCP server",
5
5
  "main": "src/server.js",
6
6
  "bin": {
@@ -30,7 +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
34
  "engines": {
34
35
  "node": ">=18.0.0"
35
36
  }
36
- }
37
+ }
package/server.json ADDED
@@ -0,0 +1,36 @@
1
+ {
2
+ "$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
3
+ "name": "io.github.DLJRealty/guesty",
4
+ "description": "MCP server for Guesty property management — 38 tools for STR operations.",
5
+ "repository": {
6
+ "url": "https://github.com/DLJRealty/guesty-mcp-server",
7
+ "source": "github"
8
+ },
9
+ "version": "0.4.1",
10
+ "packages": [
11
+ {
12
+ "registryType": "npm",
13
+ "identifier": "guesty-mcp-server",
14
+ "version": "0.4.1",
15
+ "transport": {
16
+ "type": "stdio"
17
+ },
18
+ "environmentVariables": [
19
+ {
20
+ "description": "Guesty OAuth2 Client ID",
21
+ "isRequired": true,
22
+ "format": "string",
23
+ "isSecret": true,
24
+ "name": "GUESTY_CLIENT_ID"
25
+ },
26
+ {
27
+ "description": "Guesty OAuth2 Client Secret",
28
+ "isRequired": true,
29
+ "format": "string",
30
+ "isSecret": true,
31
+ "name": "GUESTY_CLIENT_SECRET"
32
+ }
33
+ ]
34
+ }
35
+ ]
36
+ }
package/smithery.yaml ADDED
@@ -0,0 +1,17 @@
1
+ startCommand:
2
+ type: stdio
3
+ configSchema:
4
+ type: object
5
+ required:
6
+ - guestyClientId
7
+ - guestyClientSecret
8
+ properties:
9
+ guestyClientId:
10
+ type: string
11
+ description: Guesty OAuth2 Client ID
12
+ guestyClientSecret:
13
+ type: string
14
+ description: Guesty OAuth2 Client Secret
15
+ commandFunction:
16
+ |-
17
+ (config) => ({ command: 'npx', args: ['-y', 'guesty-mcp-server'], env: { GUESTY_CLIENT_ID: config.guestyClientId, GUESTY_CLIENT_SECRET: config.guestyClientSecret } })