Stayport

io.github.CloudCorpRecords由 GitHub 帳號 CloudCorpRecords 發布v0.1.0更新於 Nov 3, 2026

通過 MCP 使用 Hostex PMS:房源、預訂、可用性、訊息、評價和 webhooks。

AI 翻譯由 AI 模型根據下方的原文描述翻譯,可能有誤。

原文描述

Hostex PMS via MCP: properties, reservations, availability, messages, reviews, and webhooks.

已驗證STDIO僅桌面

概覽

Stayport 的本機 MCP 服務;無需登入;STDIO。

暫無 AI 概覽:以下資訊來自註冊中心條目和服務本身。

安裝

在 SourceWeft 中

  1. 開啟 儀表板中的 Stayport,將其新增到工作區。
  2. 為需要使用其工具的對話啟用該服務。

Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。

其他 MCP 客戶端

參照 儲存庫 中的啟動說明。

README

stayport

stayport talks to a Hostex property-management account from the terminal and from MCP clients: properties and room types, reservations (including direct-booking creation, cancellation, lock codes, and per-stay custom fields), availability, guest conversations, reviews, webhooks, listing calendars and prices, custom channels, and income methods. One binary serves a command-line interface and a stdio MCP server, exposing the same 23 operations as hostex_* tools.

Two credentials are involved. Every v3 API call sends a Hostex-Access-Token header whose value comes from the HOSTEX_ACCESS_TOKEN environment variable; calls go to https://api.hostex.io/v3 unless HOSTEX_API_URL overrides the base URL. When the token is not set, commands fail with an error that names the env var — stayport never invents a result. The guest-review operation is the one exception to the token flow: it posts through the Hostex web app, so it logs in with HOSTEX_EMAIL and HOSTEX_PASSWORD (optionally overriding the web base URL, default https://hostex.io/api, with HOSTEX_WEB_API_URL) and fails the same honest way when they are unset.

A v3 call counts as successful only when the response envelope reports error_code 200; the envelope's data is what you get back. Any other envelope is an error carrying the upstream error_msg and request_id.

Install

bash
npx @reneturcios/stayport properties

Or run the container image:

bash
docker run -i ghcr.io/cloudcorprecords/stayport

The container defaults to the MCP server (see below). Pass CLI arguments to use it as a CLI instead, and pass the env vars above with -e so the server can reach your account.

CLI

bash
export HOSTEX_ACCESS_TOKEN=...   # from your Hostex account settings
stayport properties --limit 10stayport room-typesstayport reservations --status accepted --start-check-in-date 2026-11-01stayport create-reservation --property-id 123 --custom-channel-id 9 \  --check-in-date 2026-11-10 --check-out-date 2026-11-12 \  --guest-name "Ada Lovelace" --currency USD --rate-amount 20000 \  --commission-amount 1000 --received-amount 20000 --income-method-id 3stayport cancel-reservation RES-123stayport update-lock-code STAY-9 4321stayport get-custom-fields STAY-9stayport update-custom-fields STAY-9 '{"gate_code":"88"}'stayport availabilities --property-ids 1,2 --start-date 2026-11-01 --end-date 2026-11-07stayport update-availabilities --property-ids 1,2 --available false --dates 2026-11-03stayport conversations --limit 5stayport conversation conv-9stayport send-message conv-9 --message "Welcome! Check-in is at 3pm."stayport reviews --property-id 123stayport create-review RES-123 --score 5 --content "Great guest"stayport webhooksstayport create-webhook https://example.com/hookstayport delete-webhook 17stayport listing-calendar --start-date 2026-11-01 --end-date 2026-11-30 \  --listings '[{"channel_type":"airbnb","listing_id":"L1"}]'stayport update-listing-prices --channel-type airbnb --listing-id L1 \  --prices '[{"date":"2026-11-05","price":15000}]'stayport custom-channelsstayport income-methods
stayport --version

The guest-review command additionally needs the web-app login:

bash
export [email protected]export HOSTEX_PASSWORD=...stayport post-guest-review --reservation-order-code 0-ABC123-xyz \  --content "Lovely stay" --recommend 1 --overall-rating 5 \  --cleanliness 4 --respect-of-house-rules 5 --communication 5

Successful commands print the response data as JSON. Exit codes: 0 on success, 1 when a call fails (missing credential, upstream envelope error, network failure), 2 for usage errors. Amounts on reservation creation are in cents, exactly as the Hostex API takes them; listing prices are passed through in the shape the API expects.

MCP server

One bin serves both faces. The mcp subcommand starts a stdio MCP server:

bash
npx -y @reneturcios/stayport mcp

MCP client configuration:

json
{  "mcpServers": {    "stayport": {      "command": "npx",      "args": ["-y", "@reneturcios/stayport", "mcp"],      "env": {        "HOSTEX_ACCESS_TOKEN": "..."      }    }  }}

Add HOSTEX_EMAIL and HOSTEX_PASSWORD to that env block if you want the guest-review tool to work; the other 22 tools only need the access token.

Tools

ToolInputWhat it does
hostex_list_propertiesoffset, limit, id (all optional)Lists properties with ID, title, address, channels, and coordinates.
hostex_list_room_typesoffset, limit (optional)Lists room types.
hostex_list_reservationsreservation_code, property_id, status, check-in/out date bounds, order_by, offset, limit (all optional)Lists and searches reservations.
hostex_create_reservationproperty_id (string), custom_channel_id, check_in_date, check_out_date, guest_name, currency, rate_amount, commission_amount, received_amount, income_method_id (required); number_of_guests, email, mobile, remarks (optional)Creates a direct booking. Amounts are in cents.
hostex_cancel_reservationreservation_codeCancels a direct booking (channel bookings are not supported).
hostex_update_lock_codestay_code, lock_codeSets a stay's lock code.
hostex_get_custom_fieldsstay_codeReads a stay's custom fields.
hostex_update_custom_fieldsstay_code, custom_fields (object)Writes a stay's custom fields, usable in automated messages as {{cf.field_name}}.
hostex_list_availabilitiesproperty_ids (comma-separated string), start_date, end_dateQueries availability for a date range.
hostex_update_availabilitiesproperty_ids (number array), available; start_date, end_date, dates (optional)Sets availability for dates or a range.
hostex_list_conversationsoffset, limit (optional)Lists guest conversations and inquiries.
hostex_get_conversationconversation_idGets a conversation with all its messages.
hostex_send_messageconversation_id; message, jpeg_base64 (optional)Sends a text or JPEG image message to the guest.
hostex_list_reviewsreservation_code, property_id, review_status, check-out date bounds, offset, limit (all optional)Queries reviews with filters.
hostex_create_reviewreservation_code; host_review_score, host_review_content, host_reply_content (optional)Creates a review or a reply for a reservation.
hostex_post_guest_reviewreservation_order_code, content, recommend ("0"/"1"), overall_rating, cleanliness, respect_of_house_rules, communication ("1"–"5"); three optional *_content notesPosts a full guest review through the web app; needs the email/password login.
hostex_list_webhooks(none)Lists configured webhooks.
hostex_create_webhookurlCreates a webhook.
hostex_delete_webhookwebhook_idDeletes a manageable webhook.
hostex_get_listing_calendarstart_date, end_date, listings ({channel_type, listing_id} array)Gets calendar information for multiple listings.
hostex_update_listing_priceschannel_type, listing_id, prices ({date, price} array)Updates listing prices.
hostex_list_custom_channels(none)Lists custom channels from the Custom Options Page.
hostex_list_income_methods(none)Lists income methods from the Custom Options Page.

Development

bash
npm installnpm run build   # tsc -> dist/npm test        # node test runner over test/*.test.ts, no network (fake fetch fixtures)npm run dev     # run the CLI from source via tsx

License

MIT — see LICENSE.

來源:README.md,提交 b46fb44

工具

0
SourceWeft 尚未在沙箱中啟動過該軟體包,因此其工具未知。

版本歷史

1
  1. v0.1.0最新Nov 3, 2026

評分

已滿足適用檢查項的 50%

該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。

  • 近 30 天內可連通25 分

    請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。

  • 已宣告認證方式10 分

    請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。

  • 已列出工具15 分

    請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。

  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分