Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
作者提供的说明(英文原文)
Hostex PMS via MCP: properties, reservations, availability, messages, reviews, and webhooks.
这三项永远不会合并成一个分数:意见、测量和人气是不同的东西。
我们还没有为它写通俗的介绍。下面是我们从注册中心读取到的事实。
选择你使用的 AI 应用,然后复制设置。
你需要
你用的是哪个应用?
在上方选择你的应用。我们会记住它,下次按钮会显示“安装到 …”。
打开 Claude Desktop → Settings → Developer → Edit Config,把下面的内容粘贴到 claude_desktop_config.json
{
"mcpServers": {
"stayport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/stayport",
"mcp"
]
}
}
}在终端中运行这条命令
claude mcp add stayport -- npx -y @reneturcios/stayport mcp粘贴到项目中的 .cursor/mcp.json,或 ~/.cursor/mcp.json
{
"mcpServers": {
"stayport": {
"command": "npx",
"args": [
"-y",
"@reneturcios/stayport",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
粘贴到项目中的 .vscode/mcp.json
{
"servers": {
"stayport": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@reneturcios/stayport",
"mcp"
]
}
}
}浏览器会先询问是否打开应用,然后应用会显示设置并请你确认。密钥的值会留空,由你自己填写。
这个服务器在你的电脑上运行,而 ChatGPT 只能连接互联网上的服务器。请选择其他应用。
你的选择通过 Cookie 保存在这台设备上,无需账户。
这些设置是根据作者在注册中心的条目生成的。如果 README 的写法不同,请以 README 为准。
它在你的电脑上运行;安装后,工具列表会显示在你的 AI 应用中。
我们检查的是任何人都能看到的信息;我们没有阅读代码。不适用的检查项不计入总数。 · 检查于 2026年11月7日
注册名称已通过 GitHub 账户 CloudCorpRecords 验证,该账户拥有此仓库
我们还没有从 GitHub 读取这个仓库
我们还没有从 GitHub 读取这个仓库
它在你的电脑上运行,没有互联网端点
在你的电脑上运行,改用本地设置
它在你的电脑上运行;我们只能读取互联网端点的工具列表
与注册中心里这个分类中所有活跃的服务器比较。只有当发布者拥有该仓库时,星标数才计入。
它在 1 项适用的基础检查中通过了 1 项。我们没有阅读代码。在添加密钥或令牌之前,请先看看这个服务器要求哪些权限,并使用只具备所需权限的密钥。
注册中心没有列出必需的密钥,不过有些服务器会在首次使用时要求你登录。
它在你的电脑上运行。你的 AI 应用会在需要时启动它,数据不会经过作者的服务器(除非它自己调用在线服务)。
GitHub 仓库最后更新于–,最新版本(0.1.0)于5天前进入注册中心。
支持 MCP 的应用,例如 Claude Desktop、Claude Code、Cursor 和 VS Code。你的电脑上还需要有 Node.js, Docker。
同一分类中有:Spec Driven Development, Remote Desktop Commander, Kanal Varna — drains, leaks & plumbing (Varna, BG)
同一分类中其他作者的服务器,按星标数排序。
如何看卡片:★ GitHub 星标i三大支柱:评价 · 检查 · 使用情况i更新 = 最新版本发布到注册中心的时间i
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Drain unblocking, leak detection & plumbing in Varna, Bulgaria: services, prices, areas, contact
按原文从作者的仓库复制。PopNx MCP 没有审查或背书其内容。HTML、图片和脚本已被移除。链接会离开本站。
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.
npx @reneturcios/stayport properties
Or run the container image:
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.
export HOSTEX_ACCESS_TOKEN=... # from your Hostex account settings
stayport properties --limit 10 stayport room-types stayport reservations --status accepted --start-check-in-date 2026-11-01 stayport 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 3 stayport cancel-reservation RES-123 stayport update-lock-code STAY-9 4321 stayport get-custom-fields STAY-9 stayport update-custom-fields STAY-9 '{"gate_code":"88"}' stayport availabilities --property-ids 1,2 --start-date 2026-11-01 --end-date 2026-11-07 stayport update-availabilities --property-ids 1,2 --available false --dates 2026-11-03 stayport conversations --limit 5 stayport conversation conv-9 stayport send-message conv-9 --message "Welcome! Check-in is at 3pm." stayport reviews --property-id 123 stayport create-review RES-123 --score 5 --content "Great guest" stayport webhooks stayport create-webhook https://example.com/hook stayport delete-webhook 17 stayport 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-channels stayport income-methods
stayport --version
The guest-review command additionally needs the web-app login:
export HOSTEX_EMAIL=you@example.com
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.
One bin serves both faces. The mcp subcommand starts a stdio MCP server:
npx -y @reneturcios/stayport mcp
MCP client configuration:
{
"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.
| Tool | Input | What it does |
|---|---|---|
hostex_list_properties | offset, limit, id (all optional) | Lists properties with ID, title, address, channels, and coordinates. |
hostex_list_room_types | offset, limit (optional) | Lists room types. |
hostex_list_reservations | reservation_code, property_id, status, check-in/out date bounds, order_by, offset, limit (all optional) | Lists and searches reservations. |
hostex_create_reservation | property_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_reservation | reservation_code | Cancels a direct booking (channel bookings are not supported). |
hostex_update_lock_code | stay_code, lock_code | Sets a stay's lock code. |
hostex_get_custom_fields | stay_code | Reads a stay's custom fields. |
hostex_update_custom_fields | stay_code, custom_fields (object) | Writes a stay's custom fields, usable in automated messages as {{cf.field_name}}. |
hostex_list_availabilities | property_ids (comma-separated string), start_date, end_date | Queries availability for a date range. |
hostex_update_availabilities | property_ids (number array), available; start_date, end_date, dates (optional) | Sets availability for dates or a range. |
hostex_list_conversations | offset, limit (optional) | Lists guest conversations and inquiries. |
hostex_get_conversation | conversation_id | Gets a conversation with all its messages. |
hostex_send_message | conversation_id; message, jpeg_base64 (optional) | Sends a text or JPEG image message to the guest. |
hostex_list_reviews | reservation_code, property_id, review_status, check-out date bounds, offset, limit (all optional) | Queries reviews with filters. |
hostex_create_review | reservation_code; host_review_score, host_review_content, host_reply_content (optional) | Creates a review or a reply for a reservation. |
hostex_post_guest_review | reservation_order_code, content, recommend ("0"/"1"), overall_rating, cleanliness, respect_of_house_rules, communication ("1"–"5"); three optional *_content notes | Posts a full guest review through the web app; needs the email/password login. |
hostex_list_webhooks | (none) | Lists configured webhooks. |
hostex_create_webhook | url | Creates a webhook. |
hostex_delete_webhook | webhook_id | Deletes a manageable webhook. |
hostex_get_listing_calendar | start_date, end_date, listings ({channel_type, listing_id} array) | Gets calendar information for multiple listings. |
hostex_update_listing_prices | channel_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. |
npm install
npm 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
MIT — see LICENSE.