guesty-mcp-server 0.5.0 → 0.6.0
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 +23 -0
- package/HACKERNEWS-POST.md +44 -0
- package/guesty-partnership-email.md +48 -0
- package/package.json +1 -1
- package/server.json +31 -4
- package/src/http-server.js +1 -1
- package/src/server.js +1 -1
- package/tripadvisor-partnership-email.md +27 -0
- package/SMITHERY_DESCRIPTION.md +0 -33
- package/SMITHERY_VERIFICATION_REQUEST.md +0 -37
- package/publish-all.sh +0 -44
- package/src/LICENSE-INTEGRATION.md +0 -61
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,29 @@
|
|
|
2
2
|
|
|
3
3
|
All notable changes to the Guesty MCP Server will be documented in this file.
|
|
4
4
|
|
|
5
|
+
## [0.6.0] - 2026-04-10
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
- **License tier gating** — 3-tier monetization (Free/Pro/Business/Enterprise)
|
|
9
|
+
- 23 free tools (read-only operations)
|
|
10
|
+
- 15 gated tools (write operations, messaging, webhooks)
|
|
11
|
+
- License key validation via `GUESTY_MCP_LICENSE_KEY` env var
|
|
12
|
+
- **MCP annotations** on all 38 tools (`readOnlyHint`, `destructiveHint`)
|
|
13
|
+
- **Enhanced rate limiting** with exponential backoff and retry-after header support
|
|
14
|
+
- Streamable HTTP remote endpoint via Vercel deployment
|
|
15
|
+
- License key environment variable documented in server.json
|
|
16
|
+
|
|
17
|
+
### Changed
|
|
18
|
+
- Upgraded from v0.5.0 monetization foundation to production-ready gating
|
|
19
|
+
- Improved server.json with full environment variable documentation
|
|
20
|
+
- Version bumped across all entry points (server.js, http-server.js, cli.js)
|
|
21
|
+
|
|
22
|
+
## [0.5.0] - 2026-04-07
|
|
23
|
+
|
|
24
|
+
### Added
|
|
25
|
+
- License tier system (`src/license.js`) for Pro/Business/Enterprise gating
|
|
26
|
+
- MCP annotations on all 38 tools for better client-side filtering
|
|
27
|
+
|
|
5
28
|
## [0.4.3] - 2026-03-27
|
|
6
29
|
|
|
7
30
|
### Changed
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# Hacker News Show HN Post — Launch Tomorrow 8:30 AM EST
|
|
2
|
+
|
|
3
|
+
## Title (80 chars max)
|
|
4
|
+
Show HN: First MCP server for Guesty property management – 39 tools, open source
|
|
5
|
+
|
|
6
|
+
## URL
|
|
7
|
+
https://github.com/DLJRealty/guesty-mcp-server
|
|
8
|
+
|
|
9
|
+
## First Comment (post within 5 minutes of submission)
|
|
10
|
+
|
|
11
|
+
Hey HN – we built guesty-mcp-server because we manage 8 short-term rental properties on Guesty and wanted our AI agents to actually *do* things, not just chat.
|
|
12
|
+
|
|
13
|
+
**What it does:** Connects any MCP-compatible AI client (Claude, ChatGPT, Copilot, Cline) to the Guesty property management API. 39 tools covering reservations, guest messaging, pricing, financials, calendars, reviews, tasks, and webhooks.
|
|
14
|
+
|
|
15
|
+
**Install:** `npx guesty-mcp-server`
|
|
16
|
+
|
|
17
|
+
**Tech:** Node.js, MCP SDK, Express for the hosted transport layer. MIT licensed. TypeScript would be nice – PRs welcome.
|
|
18
|
+
|
|
19
|
+
**Why MCP:** Guesty has 100K+ listings worldwide but no MCP integration existed. Every major PMS will need one – we built the first.
|
|
20
|
+
|
|
21
|
+
**What we learned:**
|
|
22
|
+
- Guesty's /reservations API only returns future data. Had to use the calendar endpoint as a workaround for historical queries.
|
|
23
|
+
- The MCP Dev Summit is happening this week in NYC (April 2-3). Timing was lucky.
|
|
24
|
+
- 497 npm downloads in the first week, mostly from the Smithery registry listing.
|
|
25
|
+
|
|
26
|
+
**Limitations:**
|
|
27
|
+
- Tool execution requires your own Guesty API credentials (not a hosted SaaS... yet)
|
|
28
|
+
- Some Guesty API endpoints have aggressive rate limiting (5 token refreshes/day)
|
|
29
|
+
- The SSE transport doesn't work on Vercel serverless (expected)
|
|
30
|
+
|
|
31
|
+
Hosted version: https://guesty-mcp-server.vercel.app
|
|
32
|
+
npm: https://www.npmjs.com/package/guesty-mcp-server
|
|
33
|
+
|
|
34
|
+
Happy to answer questions about building MCP servers for vertical SaaS APIs.
|
|
35
|
+
|
|
36
|
+
## Timing
|
|
37
|
+
- Post at 8:30 AM EST / 5:30 AM PT on Wednesday April 3
|
|
38
|
+
- HN peak traffic: Tuesday-Thursday, 8-10 AM PT
|
|
39
|
+
- MCP Dev Summit Day 2 happening same day = topical relevance
|
|
40
|
+
- Engage with EVERY comment within first 2 hours
|
|
41
|
+
|
|
42
|
+
## Backup titles (if first doesn't get traction)
|
|
43
|
+
- "Show HN: We built an MCP server that manages our Airbnb properties"
|
|
44
|
+
- "Show HN: Open-source MCP server for Guesty – manage rentals with AI agents"
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
**To:** partnerships@guesty.com
|
|
2
|
+
**Subject:** First MCP Server for Guesty — Marketplace Partnership Request
|
|
3
|
+
|
|
4
|
+
---
|
|
5
|
+
|
|
6
|
+
Hi Guesty Partnerships Team,
|
|
7
|
+
|
|
8
|
+
We built the first Model Context Protocol (MCP) server for Guesty and would like to discuss listing it in the Guesty Marketplace.
|
|
9
|
+
|
|
10
|
+
**What we built:**
|
|
11
|
+
guesty-mcp-server — an open-source MCP server that enables AI agents (Claude, ChatGPT, Copilot, Cline, and others) to interact with Guesty's Open API through the industry-standard MCP protocol. One install command: `npx guesty-mcp-server`.
|
|
12
|
+
|
|
13
|
+
**39 tools covering the full Guesty workflow:**
|
|
14
|
+
- Reservations: list, get, create, update
|
|
15
|
+
- Guests: get, list, search
|
|
16
|
+
- Messaging: list conversations, get posts, send messages
|
|
17
|
+
- Listings: list, get, update, calendar, availability, photos
|
|
18
|
+
- Pricing: get pricing, update base price, calendar pricing
|
|
19
|
+
- Financials: summary, owner payouts, payout details, revenue report
|
|
20
|
+
- Operations: tasks, cleaning tasks, check-in/check-out, occupancy report
|
|
21
|
+
- Reviews: list, get, reply
|
|
22
|
+
- Webhooks: create, list, delete
|
|
23
|
+
- Analytics: channel distribution
|
|
24
|
+
|
|
25
|
+
**Why this matters for Guesty:**
|
|
26
|
+
- MCP is the fastest-growing AI integration standard — 97M monthly SDK downloads, adopted by Anthropic, OpenAI, Google, Microsoft, and AWS
|
|
27
|
+
- The MCP Dev Summit (April 2-3, NYC) is happening this week under the Linux Foundation
|
|
28
|
+
- Every major property management platform will have MCP integration within 12 months — Guesty can lead by being first
|
|
29
|
+
- This server lets any Guesty customer connect AI agents to their account in under 60 seconds
|
|
30
|
+
|
|
31
|
+
**Traction:**
|
|
32
|
+
- Live and hosted: https://guesty-mcp-server.vercel.app
|
|
33
|
+
- Published on npm: https://www.npmjs.com/package/guesty-mcp-server
|
|
34
|
+
- Listed on Smithery (accepted), Cline MCP Marketplace, official MCP servers directory, and 4 additional MCP directories
|
|
35
|
+
- Battle-tested in production at DLJ Properties (7 units across Colorado and Miami)
|
|
36
|
+
- Open source: https://github.com/DLJRealty/guesty-mcp-server
|
|
37
|
+
|
|
38
|
+
**What we're asking:**
|
|
39
|
+
We'd like to be listed as a Community Partner or Integrated Partner in the Guesty Marketplace. We're happy to work with your team on any requirements — documentation, security review, or deeper API integration.
|
|
40
|
+
|
|
41
|
+
We're also open to co-marketing the launch. Our case study shows measurable results: 500+ automated guest replies, reduced response times, and streamlined operations across 7 properties using Guesty + MCP.
|
|
42
|
+
|
|
43
|
+
Happy to jump on a call anytime. Looking forward to partnering.
|
|
44
|
+
|
|
45
|
+
Best,
|
|
46
|
+
Danny Perez
|
|
47
|
+
DLJ Properties
|
|
48
|
+
https://guestycopilot.com
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "guesty-mcp-server",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.6.0",
|
|
4
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": {
|
package/server.json
CHANGED
|
@@ -1,14 +1,41 @@
|
|
|
1
1
|
{
|
|
2
|
-
"
|
|
2
|
+
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
|
|
3
3
|
"name": "io.github.DLJRealty/guesty",
|
|
4
4
|
"title": "Guesty MCP Server",
|
|
5
5
|
"description": "The first MCP server for Guesty property management. 38 tools for reservations, guests, messaging, pricing, financials, calendars, reviews, tasks, and webhooks.",
|
|
6
|
-
"version": "0.
|
|
6
|
+
"version": "0.6.0",
|
|
7
|
+
"repository": {
|
|
8
|
+
"url": "https://github.com/DLJRealty/guesty-mcp-server",
|
|
9
|
+
"source": "github"
|
|
10
|
+
},
|
|
7
11
|
"packages": [{
|
|
8
12
|
"registryType": "npm",
|
|
9
13
|
"identifier": "guesty-mcp-server",
|
|
10
|
-
"version": "0.
|
|
11
|
-
"transport": { "type": "stdio" }
|
|
14
|
+
"version": "0.6.0",
|
|
15
|
+
"transport": { "type": "stdio" },
|
|
16
|
+
"environmentVariables": [
|
|
17
|
+
{
|
|
18
|
+
"description": "Guesty OAuth2 Client ID",
|
|
19
|
+
"isRequired": true,
|
|
20
|
+
"format": "string",
|
|
21
|
+
"isSecret": true,
|
|
22
|
+
"name": "GUESTY_CLIENT_ID"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"description": "Guesty OAuth2 Client Secret",
|
|
26
|
+
"isRequired": true,
|
|
27
|
+
"format": "string",
|
|
28
|
+
"isSecret": true,
|
|
29
|
+
"name": "GUESTY_CLIENT_SECRET"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"description": "License key for Pro/Business/Enterprise features (optional for free tier)",
|
|
33
|
+
"isRequired": false,
|
|
34
|
+
"format": "string",
|
|
35
|
+
"isSecret": true,
|
|
36
|
+
"name": "GUESTY_MCP_LICENSE_KEY"
|
|
37
|
+
}
|
|
38
|
+
]
|
|
12
39
|
}],
|
|
13
40
|
"remotes": [{
|
|
14
41
|
"transportType": "streamable-http",
|
package/src/http-server.js
CHANGED
|
@@ -23,7 +23,7 @@ app.use((req, res, next) => {
|
|
|
23
23
|
// Server info
|
|
24
24
|
const SERVER_INFO = {
|
|
25
25
|
name: "guesty-mcp-server",
|
|
26
|
-
version: "0.
|
|
26
|
+
version: "0.6.0",
|
|
27
27
|
description: "The first MCP server for Guesty property management. 38 tools for reservations, guests, messaging, pricing, financials, calendars, reviews, tasks, and webhooks.",
|
|
28
28
|
capabilities: {
|
|
29
29
|
tools: { listChanged: false },
|
package/src/server.js
CHANGED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
**To:** pmsupport@tripadvisor.com
|
|
2
|
+
**From:** DLJrealty@yahoo.com
|
|
3
|
+
**Subject:** API Access Request — Vacation Rental Property Manager (7 Properties)
|
|
4
|
+
|
|
5
|
+
---
|
|
6
|
+
|
|
7
|
+
Hi TripAdvisor Rentals Team,
|
|
8
|
+
|
|
9
|
+
I manage 7 short-term rental properties across Colorado and Miami through DLJ Properties. I'd like to request API access to programmatically manage our TripAdvisor Rentals listings.
|
|
10
|
+
|
|
11
|
+
Our portfolio:
|
|
12
|
+
- 4 boutique tiny homes in Woodland Park, Colorado (Pikes Peak area)
|
|
13
|
+
- 3 apartments in Miami, Florida
|
|
14
|
+
- 628+ five-star reviews across platforms
|
|
15
|
+
- Airbnb Superhost, every quarter
|
|
16
|
+
|
|
17
|
+
We use Guesty as our PMS and would like to integrate with TripAdvisor's Content Connect API to manage listings, calendars, rates, and photos.
|
|
18
|
+
|
|
19
|
+
Our website: https://tinyhomeboutiques.com
|
|
20
|
+
Our properties: https://tinyhomeboutiques.com/unit-y-boutique-tinyhome.html
|
|
21
|
+
|
|
22
|
+
Could you provide API access and documentation? Happy to discuss our setup and integration needs.
|
|
23
|
+
|
|
24
|
+
Best,
|
|
25
|
+
Danny Perez
|
|
26
|
+
DLJ Properties
|
|
27
|
+
DLJrealty@yahoo.com
|
package/SMITHERY_DESCRIPTION.md
DELETED
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
# Smithery Listing — Optimized Description (v2 — Operations Focus)
|
|
2
|
-
|
|
3
|
-
## Display Name
|
|
4
|
-
Guesty MCP Server
|
|
5
|
-
|
|
6
|
-
## Short Description (for search results)
|
|
7
|
-
The first MCP server for Guesty — automate property operations, reports, calendar sync, pricing, and occupancy monitoring for short-term rentals and vacation rental portfolios.
|
|
8
|
-
|
|
9
|
-
## Full Description (for server detail page)
|
|
10
|
-
Automate short-term rental operations with Guesty — the leading property management system (PMS). 39 production-ready tools for property managers, Airbnb hosts, VRBO operators, and hospitality teams managing vacation rentals, boutique hotels, and serviced apartments.
|
|
11
|
-
|
|
12
|
-
Reports & Revenue: Generate financial reports, owner statements, expense summaries, and revenue breakdowns across your entire portfolio. Track reservation-level financials and host payouts in real time.
|
|
13
|
-
|
|
14
|
-
Calendar & Availability: Sync calendars across all channels, manage date blocks, and monitor occupancy rates. Never miss a booking gap or double-booking risk.
|
|
15
|
-
|
|
16
|
-
Pricing Management: View and update nightly rates, cleaning fees, seasonal pricing, and weekly/monthly discounts. Optimize revenue across every listing.
|
|
17
|
-
|
|
18
|
-
Reservations & Guest Data: Search and filter reservations by date, status, channel, or listing. Look up guest details, contact info, and booking history.
|
|
19
|
-
|
|
20
|
-
Property Operations: Create and track maintenance tasks, view listing details, manage property photos, monitor automation rules, and check channel distribution status.
|
|
21
|
-
|
|
22
|
-
Reviews & Reputation: Monitor guest reviews across all platforms — track your rating trends and response rates.
|
|
23
|
-
|
|
24
|
-
Webhooks & Automation: Configure real-time event webhooks for check-ins, check-outs, new bookings, cancellations, and message events.
|
|
25
|
-
|
|
26
|
-
Free tier includes 23 operations and data tools. Pro tier unlocks guest messaging, review responses, and write operations. Production-tested across 7 properties. Supports stdio and HTTP/SSE transports. Open source, MIT licensed.
|
|
27
|
-
|
|
28
|
-
## Keywords Hit
|
|
29
|
-
property management, PMS, vacation rental, short-term rental, Airbnb, VRBO, Booking.com,
|
|
30
|
-
hospitality, operations, reports, revenue, calendar sync, pricing, occupancy monitoring,
|
|
31
|
-
task management, property operations, channel manager, reservations, financial reports,
|
|
32
|
-
owner statements, expenses, webhooks, automation, property manager, host, real estate,
|
|
33
|
-
boutique hotel, serviced apartment, cleaning fee, reviews, reputation management
|
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
# Smithery Verification Request — Guesty MCP Server
|
|
2
|
-
|
|
3
|
-
## To: Smithery Team
|
|
4
|
-
|
|
5
|
-
Subject: Verification Request — First-Ever Guesty MCP Server
|
|
6
|
-
|
|
7
|
-
Hi Smithery team,
|
|
8
|
-
|
|
9
|
-
We are requesting verification for our Guesty MCP Server — the first and only MCP integration for Guesty, the leading property management system serving 100,000+ properties worldwide.
|
|
10
|
-
|
|
11
|
-
### Why This Deserves Verification
|
|
12
|
-
|
|
13
|
-
1. **Category First-Mover**: No PMS (Property Management System) MCP server exists on Smithery. We are defining a new category.
|
|
14
|
-
|
|
15
|
-
2. **Production-Tested**: Running in production across 7 short-term rental properties handling real guest messages, pricing updates, and reservation management daily.
|
|
16
|
-
|
|
17
|
-
3. **Comprehensive Coverage**: 39 tools spanning reservations, guest messaging, pricing, financials, calendars, reviews, tasks, and webhooks — the most complete PMS integration available via MCP.
|
|
18
|
-
|
|
19
|
-
4. **Quality**: All tools include MCP annotations (readOnlyHint, destructiveHint, idempotentHint, openWorldHint), detailed parameter descriptions, and proper error handling.
|
|
20
|
-
|
|
21
|
-
5. **Published & Documented**: Available on npm (guesty-mcp-server v0.4.3, 500+ downloads), MIT licensed, with full documentation.
|
|
22
|
-
|
|
23
|
-
6. **Dual Transport**: Supports both stdio and HTTP/SSE (Streamable HTTP) transports for maximum compatibility.
|
|
24
|
-
|
|
25
|
-
### Server Details
|
|
26
|
-
- **npm**: https://www.npmjs.com/package/guesty-mcp-server
|
|
27
|
-
- **GitHub**: https://github.com/DLJRealty/guesty-mcp-server
|
|
28
|
-
- **Live Endpoint**: https://guesty-mcp-server.vercel.app
|
|
29
|
-
- **Namespace**: @dlj/guesty
|
|
30
|
-
|
|
31
|
-
### About Guesty
|
|
32
|
-
Guesty is the #1 property management platform for short-term rentals, used by property managers managing vacation rentals on Airbnb, VRBO, Booking.com, and direct booking channels. Bringing Guesty to the MCP ecosystem opens automation for an industry managing billions in rental revenue.
|
|
33
|
-
|
|
34
|
-
We would appreciate verification to help property managers discover this integration with confidence.
|
|
35
|
-
|
|
36
|
-
Best regards,
|
|
37
|
-
DLJ Properties Engineering Team
|
package/publish-all.sh
DELETED
|
@@ -1,44 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# Guesty MCP Server v0.5.0 — Full Publish Pipeline
|
|
3
|
-
# Danny runs this once. Approves browser auths. All platforms go live.
|
|
4
|
-
|
|
5
|
-
export PATH=/opt/homebrew/bin:/opt/homebrew/opt/node/bin:/Users/dljrealty/.local/bin:$PATH
|
|
6
|
-
cd /Users/dljrealty/guesty-mcp-server
|
|
7
|
-
|
|
8
|
-
echo '=== STEP 0: npm Login (if needed) ==='
|
|
9
|
-
npm whoami 2>/dev/null || npm adduser
|
|
10
|
-
echo ''
|
|
11
|
-
|
|
12
|
-
echo '=== STEP 0.5: Commit & push v0.5.0 to GitHub (triggers Vercel deploy) ==='
|
|
13
|
-
git add package.json server.json src/server.js src/license.js
|
|
14
|
-
git commit -m 'v0.5.0: Add license tier gating and MCP annotations
|
|
15
|
-
|
|
16
|
-
- 23 free operations/data tools, 15 gated behind Pro+ (messaging, writes, webhooks)
|
|
17
|
-
- MCP annotations (readOnlyHint, destructiveHint, etc.) on all 38 tools
|
|
18
|
-
- License key system via GUESTY_MCP_LICENSE_KEY env var
|
|
19
|
-
- get_license_info tool shows current tier and available tools'
|
|
20
|
-
git push origin main
|
|
21
|
-
echo ''
|
|
22
|
-
|
|
23
|
-
echo '=== STEP 1: Publish v0.5.0 to npm ==='
|
|
24
|
-
npm publish
|
|
25
|
-
echo ''
|
|
26
|
-
|
|
27
|
-
echo '=== STEP 2: Publish to Smithery ==='
|
|
28
|
-
echo 'A browser will open for auth. Approve it.'
|
|
29
|
-
smithery auth login
|
|
30
|
-
smithery mcp publish 'https://guesty-mcp-server.vercel.app' -n @dlj/guesty
|
|
31
|
-
echo ''
|
|
32
|
-
|
|
33
|
-
echo '=== STEP 3: Publish to MCP Registry ==='
|
|
34
|
-
echo 'A browser will open for GitHub device auth. Enter the code shown.'
|
|
35
|
-
/Users/dljrealty/.local/bin/mcp-publisher login github
|
|
36
|
-
/Users/dljrealty/.local/bin/mcp-publisher publish
|
|
37
|
-
echo ''
|
|
38
|
-
|
|
39
|
-
echo '=== ALL DONE ==='
|
|
40
|
-
echo 'Verify:'
|
|
41
|
-
echo ' npm: https://www.npmjs.com/package/guesty-mcp-server'
|
|
42
|
-
echo ' Smithery: https://smithery.ai/server/@dlj/guesty'
|
|
43
|
-
echo ' Registry: curl https://registry.modelcontextprotocol.io/v0.1/servers?search=guesty'
|
|
44
|
-
echo ' Vercel: https://guesty-mcp-server.vercel.app (auto-deploys from GitHub push)'
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
# License Key Integration Guide
|
|
2
|
-
|
|
3
|
-
## How it works
|
|
4
|
-
|
|
5
|
-
1. `license.js` reads `GUESTY_MCP_LICENSE_KEY` env var on startup
|
|
6
|
-
2. Maps key prefix to tier: `gmcp_pro_*` = Pro, `gmcp_biz_*` = Business, `gmcp_ent_*` = Enterprise
|
|
7
|
-
3. No key or invalid key = Free tier (5 read-only tools)
|
|
8
|
-
4. `gatedHandler()` wraps each tool's handler — returns upgrade message for gated tools
|
|
9
|
-
|
|
10
|
-
## Integration into server.js (2 changes)
|
|
11
|
-
|
|
12
|
-
### Change 1: Import at top of server.js
|
|
13
|
-
```js
|
|
14
|
-
import { getTier, getTierInfo, gatedHandler } from './license.js';
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
### Change 2: Wrap each tool handler
|
|
18
|
-
Before:
|
|
19
|
-
```js
|
|
20
|
-
server.tool('send_guest_message', 'Send a message...', { ... }, async (params) => {
|
|
21
|
-
// handler code
|
|
22
|
-
});
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
After:
|
|
26
|
-
```js
|
|
27
|
-
server.tool('send_guest_message', 'Send a message...', { ... }, gatedHandler('send_guest_message', async (params) => {
|
|
28
|
-
// handler code — unchanged
|
|
29
|
-
}));
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
### Change 3 (optional): Add tier info tool
|
|
33
|
-
```js
|
|
34
|
-
server.tool('get_license_info', 'Show current license tier and available tools', {}, async () => {
|
|
35
|
-
const info = getTierInfo();
|
|
36
|
-
return { content: [{ type: 'text', text: JSON.stringify(info, null, 2) }] };
|
|
37
|
-
});
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Testing
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
# Free tier (no key)
|
|
44
|
-
unset GUESTY_MCP_LICENSE_KEY
|
|
45
|
-
npx guesty-mcp-server
|
|
46
|
-
# Only 5 tools work, others return upgrade message
|
|
47
|
-
|
|
48
|
-
# Pro tier (test key)
|
|
49
|
-
GUESTY_MCP_LICENSE_KEY=test_pro npx guesty-mcp-server
|
|
50
|
-
# All 38 tools unlocked
|
|
51
|
-
|
|
52
|
-
# Pro tier (production key)
|
|
53
|
-
GUESTY_MCP_LICENSE_KEY=gmcp_pro_abc123 npx guesty-mcp-server
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
## Key Format
|
|
57
|
-
- Free: no key
|
|
58
|
-
- Pro: `gmcp_pro_<random>`
|
|
59
|
-
- Business: `gmcp_biz_<random>`
|
|
60
|
-
- Enterprise: `gmcp_ent_<random>`
|
|
61
|
-
- Test keys: `test_pro`, `test_biz`, `test_ent`
|