Nomad Stays

io.github.nomadstays由 GitHub 帳號 nomadstays 發布v0.7.0更新於 Oct 24, 2026

Search remote-work accommodations worldwide; Trusted Stay Partners can manage their own listings.

已驗證Streamable HTTP可網頁執行位置與生活效率與工作流商業與電商

概覽

AI 產生的概覽

Nomad Stays 讓助理搜尋全球遠端工作住宿、查詢空房,並讓房東管理自己的房源。

可以做什麼
  • 依國家、洲別、地點、生活型態、預算、設施或 WiFi 速度搜尋住宿,並查看單一住宿的完整資訊
  • 查詢指定日期的空房、依房間或依月份查看可訂區間,或尋找最近的可用日期
  • 取得生活型態、設施、貨幣、房型與房間設施等參考選項清單
  • 搜尋並閱讀 Nomad Stays 說明中心的文章與分類
  • 代他人註冊帳號;持有權杖時可報價或預訂住宿、送出申請與詢問
  • 持有權杖的房東可讀取與修改房源資訊、房間、照片、價格方案、政策、設施與商家資料
適用情境
適合有人在規劃遠端工作住宿、希望助理依地點、預算、設施或日期篩選選項時使用。也適合 Trusted Stay Partner 想用自己的助理維護房源內容,而不必登入後台管理介面。
執行需求
透過 streamable HTTP 連線遠端端點 mcp.nomadstays.com,無需本機安裝。公開搜尋與說明中心工具不需憑證。帳號、預訂、申請與房東管理工具需要 Nomad Stays 帳號及 MCP 代理權杖,透過環境變數 NOMADSTAYS_MCP_AGENT_TOKEN 提供;申請房東權杖需帳號已啟用雙因素驗證。自架版本需 Node.js 20+ 與 SQL Server 連線字串。
安裝前請注意
註冊工具可在無驗證的情況下建立真實帳號,但須本人點擊郵件確認連結後才會啟用。持有權杖的工具會以帳號身分操作:可建立預訂與購買並回傳結帳連結、送出申請,以及新增、調整順序或刪除房間、照片和價格方案,其中方案刪除為永久刪除。住宿與體驗申請需支付一次性 39 歐元費用。個人、銀行與稅務資料不會透過工具曝光。

安裝

在 SourceWeft 中

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

Web executable,透過 Streamable HTTP。 遠端服務在工作區中設定後即可從網頁執行環境執行。

交給代理程式安裝

把這段提示詞貼上到 Claude Code、Codex、Cursor 等代理程式,或 SourceWeft 對話中。代理程式會讀取該伺服器的安裝指南,先向你展示發布者、端點和登入方式,經你同意後再把它新增到你的客戶端。金鑰不會寫進任何命令。

閱讀 https://sourceweft.com/mcp/io.github.nomadstays%2Fmcp-server/install.md,並按其中說明把這個 MCP 伺服器接入我的客戶端。修改任何設定之前,先告訴我它的發布者、端點和登入方式,等我確認。不要把 API 金鑰寫進命令或我會提交的檔案;問我金鑰應從哪裡取得。

檢視代理程式所依據的安裝指南

其他 MCP 客戶端

把它新增到你客戶端的 mcpServers 設定中。

{
  "mcpServers": {
    "nomad-stays": {
      "type": "http",
      "url": "https://mcp.nomadstays.com/mcp"
    }
  }
}

README

NomadStays MCP Server

An MCP (Model Context Protocol) server that gives AI agents access to Nomad Stays accommodation data — search by country, continent, location, lifestyle, budget, amenities, and availability.

Compatible with Claude, ChatGPT, and any MCP-aware AI agent.

Tools available

Full, current tool list: 78 tools total. See mcp.nomadstays.com for the complete reference with parameters — this README lists them grouped by category; keep both in sync when tools are added or changed.

Search, availability, and reference (public, no auth)

ToolDescription
getStaysByCountrySearch stays by 2-letter country code or country name
getStaysByContinentSearch by continent (Europe, Asia, Africa, etc.)
getStaysByLocationFree-text search across city, region, location description
getStaysByLifestyleFilter by lifestyle category (Digital Nomad, Beach, City…)
getStaysByBudgetFind stays within a budget for a given duration and currency
getStaysByAmenitiesFilter by amenities (WiFi, Pool, Air Conditioning…)
getStaysByWiFiSpeedFilter by minimum WiFi download speed (Mbps)
getStayByIDFull details for a single stay
getStayCountsByCountryNumber of stays per country, most first (optional continent filter)
getAllLifestylesList all available lifestyle categories
getAllAmenitiesList all available amenities
checkStayAvailabilityCheck if a stay is available for given dates
findNearestAvailabilityFind nearest available dates when preferred dates are taken
getAvailabilityByMonthAll available windows in a specific month
getRoomAvailabilityPer-room availability for a date range
getRoomAmenitiesFull amenity list for a specific room including WiFi metrics
searchHelpCenterSearch Nomad Stays help centre articles
getHelpCenterArticleFetch a specific help article by ID
listHelpCenterCategoriesList all help centre categories

Account signup for AI agents

If the person you're assisting doesn't have a Nomad Stays account yet, use the signupNomadStaysAccount tool to create one for them — no authentication, browser, or CAPTCHA required.

ToolDescription
signupNomadStaysAccountCreate a new Nomad Stays account for someone who doesn't have one yet. Returns pending_email_confirmation — no session or token.

Notes:

  • The account is created but inactive until the human clicks the confirmation link emailed to them — no session or token is returned by this call, and the agent cannot sign in or act as the user itself. This is the trust boundary: it proves a real inbox exists behind the request, standing in for the CAPTCHA/honeypot checks the public browser signup form uses instead.
  • Rate-limited to 2 requests per 5 minutes per source IP, server-side (Controllers/AgentSignupApiController.cs in the main repo).
  • Once the human confirms their email and logs in normally at www.nomadstays.com/Account/Login, they can request an MCP bearer token or complete OAuth (see "Trusted Stay Partner management tools" below) to let their own agent act on their behalf going forward.

Product, purchase, and application tools (require an MCP agent token)

Stay, Experience, and Coworking applications each go through the same list / get / create / save / submit lifecycle. Stay and Experience applications carry a one-time EUR 39 Application Fee (products 8 and 9); Coworking applications have no fee.

ToolDescription
getProductInfoLook up a product's price and purchasability (product 8 = Stay Application, 9 = Experience Application)
purchaseProductStart a purchase on the caller's own behalf; returns a checkoutUrl or resolves as "waived"
getPurchaseStatusCheck whether a purchase has been paid, verified fresh against the payment provider
listStayApplications / getStayApplication / createStayApplication / saveStayApplication / submitStayApplicationFull Stay Application lifecycle
listExperienceApplications / getExperienceApplication / createExperienceApplication / saveExperienceApplication / submitExperienceApplicationFull Experience Application lifecycle (min. 4-day experiences, enforced server-side)
listCoworkingApplications / getCoworkingApplication / createCoworkingApplication / saveCoworkingApplication / submitCoworkingApplicationFull Coworking Application lifecycle — no Application Fee

Booking (require an MCP agent token)

ToolDescription
quoteStayBookingPrice a prospective booking (package, dates, guests) before committing
bookStayCreate a booking on the caller's own behalf; returns a checkoutUrl or resolves as confirmed
getBookingStatusCheck whether a booking is confirmed, verified fresh against the payment provider
listMyBookingsList the caller's own bookings, including needsAction/checkoutUrl for anything still pending
getCancellationOptionsWhether the caller's own paid booking can still be cancelled under the Stay's policy, the deadline and what they'd get back
cancelBookingCancel the caller's own paid booking (requires confirm: true); refund/credit to the member's wallet, Custom policy sends a request only
createStayEnquiryEnquire about a Stay that can't be booked right now; the Nomad Stays team replies to the member by email

Trusted Stay Partner management tools

The tools above are read-only and public (aside from applications, which are self-service but still token-gated). A separate set of tools lets an authorized Trusted Stay Partner's own AI agent read AND write their own listing data — with the same capabilities (no more, no less) as they have via the Nomad Stays admin UI. These require a bearer token issued from the partner's Operator Information page at www.nomadstays.com/stayadmin/user-profile-stays (2FA must be enabled on the account to request one), set as NOMADSTAYS_MCP_AGENT_TOKEN. Every call is scoped server-side to Stays the authenticated account actually owns.

ToolDescription
getMyStays / getMyStayDetail / updateStayDetailRead/update a Stay's core details (title, description, address, policies)
getMyStayOnboardingStatusThe six "Listing Completion" scores from the Stay dashboard (Stay Details, Availability, Rooms, Packages, Wi-Fi, Operator Information) plus an overall percentage — Wi-Fi is a test-freshness score, not a speed rating
getMyStayRooms / createStayRoom / updateStayRoom / deleteStayRoomFull room CRUD, including bed sizes, facilities, and photos
getRoomTypeOptions / getRoomFacilityOptionsReference lookups for valid room types/facilities (differ for boutique vs standard Stays)
uploadStayPhoto / getMyStayPhotos / deleteStayPhoto / reorderStayPhotosStay-level photo management, including reordering
deleteRoomPhoto / reorderRoomPhotosRoom-level photo management
getMyStayPackages / createStayPackage / updateStayPackage / deleteStayPackagePricing package CRUD — sellPrice is always server-computed, never directly settable
getCurrencyOptions / getBusinessModelOptionsReference lookups for package currency and business model
getMyStayOrganisationalData / updateStayOrganisationalDataAddress, check-in/out policy, cancellation policy, pets/children/parking rules
getStayTypeOptions / getCountryOptions / getCancellationPolicyOptions / getAdditionalInformationOptionsReference lookups for organisational-data fields
getMyStayContacts / updateStayContactsPublic-facing contact details
getMyStayFacilities / updateStayFacilities / getFacilityGroupsFacility checkboxes, grouped exactly as on the admin UI
getMyBusinessProfile / updateHostBusinessProfileBusiness profile (excludes personal, bank, and tax fields — never exposed via MCP)

Key rules: boutique Stays (Boutique1–Boutique6 room types) and standard Stays are validated separately — always call getRoomTypeOptions first. Package price tiers are locked to 7/14/21/30 nights and don't all need to be set — a subset (e.g. 1-week-only) is valid. advertisingEndpoint only applies to Advertising-business-model Stays. Personal, bank, and tax details are permanently excluded from every tool.

Setup

1. Prerequisites

  • Node.js 20+
  • Access to a Nomad Stays SQL Server database (hosted on Coolify/Hetzner)

2. Install

bash
git clone https://github.com/nomadstays/nomadstays-mcp-server.gitcd nomadstays-mcp-servernpm install

3. Configure

bash
cp .env.example .env# Edit .env and set your NOMADSTAYS_DB_CONNECTION string

4. Build

bash
npm run build

5. Run (stdio mode — for Claude Desktop / local MCP clients)

bash
node build/index.js

6. Run (HTTP mode — for hosted / remote deployments)

bash
PORT=8080 node build/index.js

HTTP endpoints:

  • POST /mcp — MCP Streamable HTTP transport
  • GET /health — Health check
  • GET /api/mcp/stats/daily — Daily usage stats
  • GET /api/mcp/stats/tools — Per-tool usage stats

Claude Desktop configuration

Copy claude_desktop_config.example.json, update the path and connection string, then merge into your claude_desktop_config.json:

json
{  "mcpServers": {    "nomadstays": {      "command": "node",      "args": ["/path/to/nomadstays-mcp-server/build/index.js"],      "env": {        "NOMADSTAYS_DB_CONNECTION": "Server=tcp:..."      }    }  }}

Deploy

The production Nomad Stays deployment runs its MCP servers as Docker containers on Coolify (self-hosted on Hetzner) rather than Azure App Service. This repo doesn't include a Dockerfile of its own — containerize it with a standard Node.js build (Node 20+, npm run build, run dist/index.js) and deploy to any Docker-capable host, setting NOMADSTAYS_DB_CONNECTION (and PORT/HTTP_PORT for HTTP mode) as environment variables on the target platform.

Tech stack

來源:README.md,提交 11533a7

工具

79

getStayByID

Get Stay Details

Returns full details for a single stay. The id parameter searches both EntryId and StayId fields.

輸入參數id必填

signupNomadStaysAccount

Sign Up for a Nomad Stays Account

Creates a new NomadStays account on behalf of a person who does not have one yet. No authentication required — this is how an AI agent gets a person started. The account is created but inactive until the person clicks the confirmation link sent to their email; this call returns no session or token, so the agent cannot sign in or act as the user itself. Once confirmed, the person can log in at nomadstays.com/Account/Login and request their own MCP bearer token or OAuth grant to let an agent manage their account/listings going forward.

輸入參數email必填lastName必填password必填firstName必填telephone必填acceptGdpr必填

getStaysByCountry

Search Stays by Country

Returns stays from the NomadStays database. Search by 2-letter country code (e.g., 'MA', 'US') or country name (e.g., 'Antigua' matches 'Antigua and Barbuda')

輸入參數limitcountrycode必填

getStaysByContinent

Search Stays by Continent

Returns stays from the NomadStays database filtered by continent. Search by continent name (e.g., 'Europe', 'Asia', 'Africa', 'North America', 'South America', 'Oceania')

輸入參數limitcontinent必填

getStaysByLocation

Search Stays by Location

Returns stays from the NomadStays database that match a location search term. Searches across City, State, location_name, location_country, and location_description fields. Use this for flexible location searches (e.g., 'Paris', 'California', 'Beach', 'Mountain')

輸入參數limitlocation必填

searchHelpCenter

Search Help Center

Search NomadStays Help Center articles from the public knowledgebase endpoint and return matching title/content/slug entries.

輸入參數limitquery

getHelpCenterArticle

Get Help Center Article

Fetch a specific NomadStays Help Center article by its ID. Returns the full article content, title, slug, and categories.

輸入參數id必填

listHelpCenterCategories

List Help Center Categories

List all available NomadStays Help Center categories. Returns category ID, name, slug, description, and article count for each category.

無需輸入參數。

getStaysByLifestyle

Search Stays by Lifestyle

Returns stays from the NomadStays database filtered by lifestyle/genre category (e.g., 'Digital Nomad', 'Beach Life', 'City Living', 'Mountain Retreat'). Each stay can belong to multiple lifestyle categories.

輸入參數limitlifestyle必填

getStaysByBudget

Search Stays by Budget

Search for stays that fit within a budget for a given duration. Country is OPTIONAL - can search globally or filter by specific country. Perfect for queries like 'Find me somewhere to stay for 1 month under EUR 1000' or 'Find me a place in Spain for 1 month under EUR 1000'.

輸入參數limitcurrency必填maxPrice必填continentcheckInDatecountryCodedurationDays必填

getStaysByAmenities

Search Stays by Amenities

Find all stays that have specific amenities. Searches both stay-level amenities (referenced by tbStayFacilities) and room-level amenities (referenced by tbRoomFacilities). Use matchType 'any' to find stays with at least one amenity, or 'all' to find stays with all requested amenities. Can optionally filter by minimum WiFi download speed.

輸入參數limitamenities必填matchTypeminWifiSpeed

getStaysByWiFiSpeed

Find Stays with Fast Wi-Fi

Find all stays with WiFi download speed greater than 10Mbps, listed and not suspended.

輸入參數limitminWiFiDownloadSpeed

getAllLifestyles

List Lifestyle Categories

Returns all active lifestyle/genre categories available in NomadStays. Use this to discover what lifestyle categories exist before searching with getStaysByLifestyle.

無需輸入參數。

getStayCountsByCountry

Count Stays by Country

Returns how many stays NomadStays has in each country, most first. Each row has the country name, 2-letter code, continent, 'stays' (live public listings) and 'bookableNow' (those currently listed for booking). Use this for questions like 'which countries have the most stays', 'how many stays do you have in Spain' or 'where do you have stays'. Optionally filter by continent.

輸入參數continent

getAllAmenities

List All Amenities

List all possible amenities in the database, grouped into Stay Amenities (referenced by tbStaysFacilities) and Room Amenities (referenced by tbStaysRoom.RoomFacilityFk).

無需輸入參數。

checkStayAvailability

Check Stay Availability

Check if a specific stay is available for given check-in and check-out dates. Returns availability status and room details.

輸入參數stayId必填checkIn必填checkOut必填roomType

hasAvailabilityInWindow

Check Availability in a Date Window

Efficiently checks whether a stay has ANY open booking window of a minimum length within a date range, without checking every single day. Use this to filter search results down to stays with real availability somewhere in the near future (e.g. 'available at all in the next 6 months for a month-long stay'), instead of calling checkStayAvailability repeatedly for individual dates.

輸入參數stayId必填fromDate必填windowDaysminLengthOfStay必填

findNearestAvailability

Find Nearest Available Dates

Find the nearest available dates when requested dates are not available. Searches for alternative check-in dates within a specified window and can adjust length of stay.

輸入參數stayId必填maxLengthOfStayminLengthOfStay必填preferredCheckIn必填searchWindowDays

getAvailabilityByMonth

Get Availability by Month

Get all available booking windows in a specific month that meet the minimum length of stay requirement. Returns all possible check-in dates and their corresponding available periods.

輸入參數year必填month必填stayId必填minLengthOfStay必填

getRoomAvailability

Check Room Availability by Night

Check a specific room's availability for each night in a date range. Returns availability status (available/not available) for each night.

輸入參數roomId必填checkIn必填checkOut必填

getRoomAmenities

Get Room Amenities and Wi-Fi Speeds

Get comprehensive list of all facilities and amenities for a specific room, including WiFi metrics (download/upload speed, jitter). Returns room details, all facilities, and network performance data.

輸入參數roomId必填

getMyStays

List My Stays

List all Stays owned by the account bound to the MCP agent token. Returns stayId, title, and listed status for each — use this to find a stayId before calling any other owner-scoped tool. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

getMyStayDetail

Get My Stay Title and Description

Get the current title, description, and listed status for one of your Stays. Call this before updateStayDetail so the agent knows the current values and doesn't accidentally overwrite them. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數stayId必填

getMyStayOnboardingStatus

Get Listing Completion Status

Get the Stay's listing-completion scores — the same six 'Listing Completion' cards shown on the Stay dashboard (Stay Details, Availability, Rooms, Packages, Wi-Fi, Operator Information), plus an overall completion percentage. Use this when a host asks how far along they are with onboarding or what's left to finish. Note: Wi-Fi is a test-freshness score (recency of the last speed test), not a speed rating. Operator Information is the same score the owner's dashboard shows, with a missingItems list of labels (e.g. 'Date of Birth', 'Banking Details') — those fields are owner-only and never writable via MCP, so relay the list to the owner. Stay Details is recalculated automatically after every MCP edit to details, organisational data, contacts, facilities or photos. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數stayId必填

getMyStayRooms

List My Stay's Rooms

List all rooms currently configured on one of your Stays, including bed setup, occupancy, facilities (resolved to names, not just IDs), and every room/workspace photo as a viewable CDN URL. Call this before createStayRoom, updateStayRoom, deleteStayRoom, deleteRoomPhoto, or reorderRoomPhotos so the agent can show current values or find the right roomId/fileName. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數stayId必填

getMyStayPackages

List My Stay's Pricing Packages

List all pricing packages on one of your Stays, including their full price tiers (days, buy price, sell price, comparison price, listed status). Call this before createStayPackage or updateStayPackage — hosts often forget exactly what packages/pricing they've already set. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數stayId必填

getMyStayOrganisationalData

Get My Stay's Organisational Data

Get a Stay's organisational data: address, check-in/out policy, pets/children/parking, cancellation policy, tourism/land-registration numbers. Call this before updateStayOrganisationalData so the agent knows current values. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數stayId必填

getMyBusinessProfile

Get My Business Profile

Get the host account's business profile: legal business name, VAT/business registration numbers, whether registered as a business entity. Does NOT include bank or tax-ID details — those are never exposed via MCP. Call this before updateHostBusinessProfile. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

updateStayDetail

Update Stay Title and Description

Update a Stay's title and/or description. Requires an MCP agent token (NOMADSTAYS_MCP_AGENT_TOKEN) scoped to the owning account. Only fields supplied are changed.

輸入參數titlestayId必填description

createStayRoom

Add a Room to a Stay

Create a new room on a Stay. Call getRoomTypeOptions(stayId) and getRoomFacilityOptions() first to find valid roomTypeFK/roomFacilityFk values. Boutique Stays are capped at 6 rooms total (one per Boutique1-6 slot) — creation is rejected once all 6 exist. Requires an MCP agent token scoped to the owning account.

輸入參數bedsstayId必填maxPersonmcpRoomIdroomTitle必填roomTypeFKmainBedSizeotherBedSizeroomFacilityFkroomDescription

updateStayRoom

Update a Room

Update an existing room on a Stay. Only fields supplied are changed. Call getRoomTypeOptions(stayId) and getRoomFacilityOptions() first to find valid roomTypeFK/roomFacilityFk values. Requires an MCP agent token scoped to the owning account.

輸入參數bedsroomId必填stayId必填maxPersonmcpRoomIdroomTitleroomTypeFKmainBedSizeotherBedSizeroomFacilityFkroomDescription

deleteStayRoom

Delete a Room

Delete (soft-delete) a room from a Stay. Requires an MCP agent token scoped to the owning account.

輸入參數roomId必填stayId必填

getRoomTypeOptions

List Room Type Options

List valid room types for a specific Stay's rooms (roomTypeFK in createStayRoom/updateStayRoom). Valid values depend on the Stay: boutique Stays choose from a fixed boutique type range; standard Stays are restricted to types already used on one of their own rooms. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數stayId必填

getRoomFacilityOptions

List Room Facility Options

List every room-level amenity/facility option available (roomFacilityFk in createStayRoom/updateStayRoom) — e.g. Wi-Fi, Air Conditioning, Private Bathroom. Wi-Fi is mandatory and always included even if not explicitly selected. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

deleteRoomPhoto

Delete a Room Photo

Delete one photo from a room's gallery. Call getMyStayRooms first to find the exact fileName. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數roomId必填stayId必填fileName必填roomArea必填

reorderRoomPhotos

Reorder Room Photos

Change the display order of a room's photo gallery. fileNames must be the FULL current gallery (same set, just reordered) — call getMyStayRooms first. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數roomId必填stayId必填roomArea必填fileNames必填

createStayPackage

Create a Pricing Package

Create a new pricing package on a Stay, optionally with initial price tiers. Requires an MCP agent token scoped to the owning account.

輸入參數listedmaxPaxpricesstayId必填endDatestartDatecurrencyFK必填roomTypeFKstayRoomFKdescriptionpackageName必填advertisingEndpoint

updateStayPackage

Update a Pricing Package

Update an existing pricing package on a Stay. Supplying 'prices' replaces ALL price rows for that package. Requires an MCP agent token scoped to the owning account.

輸入參數listedmaxPaxpricesstayId必填endDateisActivepackageId必填startDatecurrencyFKroomTypeFKstayRoomFKdescription另有 2 個

deleteStayPackage

Delete a Pricing Package

Permanently delete a pricing package and all its price tiers from a Stay. This is a hard delete (unlike room deletion, which is soft). Requires an MCP agent token scoped to the owning account.

輸入參數stayId必填packageId必填

getCurrencyOptions

List Currency Options

List valid currency ids/codes for use as a package's currencyFK.

無需輸入參數。

updateStayOrganisationalData

Update Stay Organisational Data

Update a Stay's organisational data: address, check-in/out policy, pets/children/parking, cancellation policy, accommodation type, tourism/land-registration numbers, 'Why Choose Us' reasons, and more. Only fields supplied are changed. IMPORTANT: countryId, petsAllowedId, childrenAllowedId, parkingId, cxPolicyId, and stayTypeId are lookup IDs, NOT plain text or booleans — call getCountryOptions / getAdditionalInformationOptions / getCancellationPolicyOptions / getStayTypeOptions first to find the correct ID to send. Requires an MCP agent token scoped to the owning account.

輸入參數citystategeoLatgeoLngstayId必填addressreason1reason2reason3postCodecheckInTocountryId另有 18 個

updateHostBusinessProfile

Update My Business Profile

Update the host account's business profile (legal business name, VAT/business registration numbers). Applies to the account owning the MCP agent token, not a specific stay. Only fields supplied are changed. Does NOT touch bank or tax-ID details — those are not MCP-writable.

輸入參數vatNumberbusinessNameentityAccountbusinessNumber

uploadStayPhoto

Upload a Stay Photo

Upload a photo to one of your Stay's photo areas. Supply EXACTLY ONE of 'url' (a public https:// link, e.g. a Google Drive or Dropbox share link — the server downloads it) or 'base64' (the raw image bytes, base64-encoded — use this when you already have the image data in hand, e.g. a user attached a photo in the conversation, and have nowhere public to host it first). The photo is validated against the same minimum specs as a manual upload: JPEG, PNG, or WebP, under 20MB, and a minimum resolution that depends on area. Most areas require at least 1920x1080 landscape; 'host' requires at least 1080x1350 PORTRAIT — a landscape photo will be rejected for that area. Every upload is downscaled to fit within 2560x1440 and re-encoded server-side as WebP (stripping metadata and anything that isn't genuine image data) before storage. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數urlarea必填base64roomIdstayId必填

getMyStayContacts

Get My Stay's Contacts and Social Links

Get a Stay's contact/owner/manager details and social media links: owner name/email/mobile, manager (day-to-day contact person) name/email/mobile, booking email/phone/mobile, host display name, and website/Facebook/Twitter/YouTube/Instagram/TikTok/LinkedIn links. Call this before updateStayContacts so the agent knows current values. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數stayId必填

updateStayContacts

Update Stay Contacts and Social Links

Update a Stay's contact/owner/manager details and social media links. Only fields supplied are changed. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數stayId必填tikToktwitterwebsiteyoutubelinkedIninstagramownerNameownerEmailmanagerNameownerMobilebookingEmail另有 6 個

getMyStayFacilities

Get My Stay's Facilities

Get the available options AND current selections for one facility/checkbox group on a Stay — e.g. 'Languages Spoken' returns every language the platform supports plus which ones are currently selected for this Stay. Call getFacilityGroups first if you don't know the exact group name. Common groups: 'General', 'Services', 'Languages Spoken', 'Meal', 'Position', 'Remote Worker'. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數group必填stayId必填

updateStayFacilities

Update Stay Facilities

Set which options are selected for one facility/checkbox group on a Stay — e.g. which languages are spoken. facilityDetailIds is the COMPLETE replacement list: anything not included will be UNCHECKED. Call getMyStayFacilities first to see current selections and valid IDs before changing them. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數group必填stayId必填facilityDetailIds必填

getFacilityGroups

List Facility Groups

List every facility/checkbox group name that exists on the platform (e.g. 'Languages Spoken', 'General', 'Services', 'Meal', 'Position', 'Remote Worker'). Call this first if you don't already know the exact group name to pass to getMyStayFacilities/updateStayFacilities. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

getStayTypeOptions

List Accommodation Type Options

List valid values for a Stay's 'Main Accommodation Type' (stayTypeId in updateStayOrganisationalData). Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

getCountryOptions

List Country Options

List valid values for a Stay's country (countryId in updateStayOrganisationalData), with each country's name and 2-letter code. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

getCancellationPolicyOptions

List Cancellation Policy Options

List valid values for a Stay's cancellation policy (cxPolicyId in updateStayOrganisationalData). Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

getAdditionalInformationOptions

List Children, Pets and Parking Options

List valid values for one of the Additional Information picklists used in updateStayOrganisationalData: Children Allowed, Pets Allowed, or Parking. These are NOT booleans — they're lookup IDs (e.g. 'Yes', 'No', 'On Request') — call this to find the right value before writing petsAllowedId/childrenAllowedId/parkingId. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數filterName必填

getBusinessModelOptions

List Business Model Options

List valid values for a Stay's listing/business model (businessModelId, read-only — displayed on the Stay but not editable via MCP or the host UI itself). Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

getMyStayPhotos

List My Stay's Photos

Get every current photo for a Stay across all areas (listing gallery, main/hero, workspace/coworking gallery, host), each as a full https:// CDN URL an agent can view directly (not just a filename). Call this before deleteStayPhoto or reorderStayPhotos to see current filenames. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數stayId必填

deleteStayPhoto

Delete a Stay Photo

Delete one photo from a Stay. Call getMyStayPhotos first to find the exact fileName. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數area必填stayId必填fileName必填

reorderStayPhotos

Reorder Stay Photos

Change the display order of a Stay's listing or workspace photo gallery. fileNames must be the FULL current gallery (same set of files, just reordered) — call getMyStayPhotos first. This only reorders; it cannot add or remove photos. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數area必填stayId必填fileNames必填

getProductInfo

Get Product Price

Look up a Nomad Stays product's price and purchasability — currently only product 8, the Stay Application fee (EUR 39). Returns isWaivedForCaller: true if the caller is already a Stay Partner re-applying, in which case there's nothing to pay and purchaseProduct will process the waiver automatically. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數productId必填

purchaseProduct

Start a Product Purchase

Start a purchase of a Nomad Stays product on the caller's own behalf. If the caller already qualifies for a waiver (e.g. an existing Stay Partner re-applying), this resolves immediately with no payment step and returns status 'waived'. Otherwise it returns a checkoutUrl hosted on nomadstays.com — you must hand this URL to the member and ask them to open it in their own browser and pay; you cannot complete payment on their behalf. Poll getPurchaseStatus with the returned saleId afterwards to find out when it's actually paid. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數productId必填applicationId

getPurchaseStatus

Check Purchase Status

Check whether a purchase has been paid. Only ever reports 'paid' after a fresh server-side check against the payment provider — never trust the member's own claim that they've paid, always poll this instead. Possible statuses: pending, paid, failed, waived. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數saleId必填

listStayApplications

List My Stay Applications

List the caller's Stay Applications (draft and submitted), each with a nextAction hint telling you what's needed next (provide_applicant_details, provide_property_details, pay_application_fee, submit, awaiting_review, or accepted). Call this to find an in-progress application's applicationId before resuming it. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

getStayApplication

Get a Stay Application

Get the full current state of one Stay Application, including a nextAction hint and (if incomplete) a missingFields list naming exactly which required fields are still empty. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數applicationId必填

createStayApplication

Start a Stay Application

Start a new Stay Application for the caller. Any fields can be supplied now or filled in later via saveStayApplication — the applicant's name defaults from their Nomad Stays profile if not supplied. Call getCountryOptions and getBusinessModelOptions first to resolve stayCountryId/postalCountryId/businessModelId, since country-specific rules (VAT number, tourism number, permitted business models) are enforced server-side and rejections name the specific field/reason. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數zipcitystatemobilestreetwebsitecommentsstayNamevatNumberhasKitchenbusinessNamemonthlyPrice另有 12 個

saveStayApplication

Update a Stay Application

Update any subset of fields on an existing, not-yet-submitted Stay Application. Same field set and validation rules as createStayApplication — only pass the fields you're changing. Fails with a 409 if the application has already been submitted. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數zipcitystatemobilestreetwebsitecommentsstayNamevatNumberhasKitchenbusinessNamemonthlyPrice另有 13 個

submitStayApplication

Submit a Stay Application

Submit a completed Stay Application for human review. Rejects with a missingFields list if any required field is still empty, or a 409 if the Application Fee hasn't been paid/waived yet (call purchaseProduct with productId 8 and applicationId first). There is no partial/optimistic submission — everything required must already be in place. On success the application moves to human review; nothing further is needed from the agent. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數applicationId必填

listExperienceApplications

List My Experience Applications

List the caller's Experience Applications (draft and submitted), each with a nextAction hint telling you what's needed next (provide_applicant_details, provide_experience_details, pay_application_fee, submit, awaiting_review, or accepted). Call this to find an in-progress application's applicationId before resuming it. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

getExperienceApplication

Get an Experience Application

Get the full current state of one Experience Application, including a nextAction hint and (if incomplete) a missingFields list naming exactly which required fields are still empty. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數applicationId必填

createExperienceApplication

Start an Experience Application

Start a new Experience Application for the caller. Any fields can be supplied now or filled in later via saveExperienceApplication — the applicant's name defaults from their Nomad Stays profile if not supplied. Call getCountryOptions and getBusinessModelOptions first to resolve experienceCountryId/postalCountryId/businessModelId, since country-specific rules (VAT number, tourism number, permitted business models) are enforced server-side and rejections name the specific field/reason. Experiences must run a minimum of 4 days. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數zipcitystatemaxPaxmobilestreetdaysQtywebsitecommentsvatNumberhasKitchendescription另有 16 個

saveExperienceApplication

Update an Experience Application

Update any subset of fields on an existing, not-yet-submitted Experience Application. Same field set and validation rules as createExperienceApplication — only pass the fields you're changing. Fails with a 409 if the application has already been submitted. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數zipcitystatemaxPaxmobilestreetdaysQtywebsitecommentsvatNumberhasKitchendescription另有 17 個

submitExperienceApplication

Submit an Experience Application

Submit a completed Experience Application for human review. Rejects with a missingFields list if any required field is still empty, or a 409 if the Application Fee hasn't been paid/waived yet (call purchaseProduct with productId 9 and applicationId first — Experience uses product 9, NOT product 8). There is no partial/optimistic submission. On success the application moves to human review. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數applicationId必填

quoteStayBooking

Get a Booking Quote

Get a server-computed price and availability quote for booking a Stay package on the caller's own behalf. Price is always re-derived from the package's actual pricing tiers — never trust or reuse a price shown elsewhere. Picks the largest price tier whose length is <= the requested nights (e.g. 10 nights against 7/14/21/30-day tiers uses the 7-day tier's rate), falling back to the smallest tier if the stay is shorter than all of them. Returns a quoteId valid for about 15 minutes — call bookStay with it to actually create the booking and get a payment link. Requires the caller's token to carry the 'bookings' OAuth scope (McpMember role), separate from the listings-management 'McpAgent' scope other tools here use.

輸入參數petsroomsadultscheckIn必填checkOut必填childrenpackageId必填

bookStay

Book a Stay

Create a real booking from a quoteId returned by quoteStayBooking, and return a hosted checkoutUrl. The quote's price/availability is re-validated server-side one more time before the booking is created — a stale or expired quote will be rejected with a message to call quoteStayBooking again. You MUST send the checkoutUrl to the member and tell them to open it in their own browser to pay — you cannot complete this payment on their behalf, and no card details ever pass through you. Requires NOMADSTAYS_MCP_AGENT_TOKEN with the 'bookings' scope.

輸入參數quoteId必填contactNamecontactEmailcontactPhonespecialRequest

createStayEnquiry

Enquire About a Stay

Send an enquiry about a Stay that can't be booked right now — for example quoteStayBooking finds no bookable package, or the Stay page says it isn't bookable online. The enquiry goes to the Nomad Stays team, who check availability with the Stay and reply to the member by email (usually within one working day). The member's name and email come from their Nomad Stays account; do not ask for them. Only send an enquiry the member has asked for, and include what they told you (who is travelling, work needs, questions). Use bookStay instead whenever a quote succeeds. Requires the 'bookings' scope.

輸入參數nightsstayId必填message必填arrivalDate

getBookingStatus

Check Booking Status

Check a Stay booking's real payment status by PNR. Status is always freshly re-verified against Airwallex directly if not already confirmed paid — never trust a client-supplied claim of success. Only ever returns bookings owned by the caller's own account. Requires NOMADSTAYS_MCP_AGENT_TOKEN with the 'bookings' scope.

輸入參數pnr必填

listMyBookings

List My Bookings

List all Stay bookings owned by the caller's own account, most recent first, with each one's current status. Each booking includes needsAction: true if it's still unpaid, with a ready-to-use checkoutUrl — call this proactively (e.g. at the start of a session, or when the member asks what's pending) and surface any needsAction bookings to the member, since there is no other way for them to be notified of an incomplete booking through this connection. Requires NOMADSTAYS_MCP_AGENT_TOKEN with the 'bookings' scope.

無需輸入參數。

listCoworkingApplications

List My Coworking Applications

List the caller's Coworking Applications (draft and submitted), each with a nextAction hint (provide_coworking_details, submit, awaiting_review, or accepted). Coworking has no Application Fee, so unlike Stay/Experience there is no pay_application_fee step. Call this to find an in-progress application's applicationId before resuming it. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

無需輸入參數。

getCoworkingApplication

Get a Coworking Application

Get the full current state of one Coworking Application, including a nextAction hint and (if incomplete) a missingFields list naming exactly which required fields are still empty. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數applicationId必填

createCoworkingApplication

Start a Coworking Application

Start a new Coworking Application for the caller. Much simpler than the Stay/Experience applications: no VAT/tourism-number/business-model rules, no Application Fee, and no billing step at all — once coworkingName, applicantName, applicantEmail, city and country are present, nextAction goes straight to 'submit'. Call getCountryOptions first to find a valid country name (must be the exact tbCountry.CountryName, not an ID). Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數cityaddresscountrywebsitetelephoneapplicantNamecoworkingNameapplicantEmail

saveCoworkingApplication

Update a Coworking Application

Update any subset of fields on an existing, not-yet-submitted Coworking Application. Same field set and validation rules as createCoworkingApplication — only pass the fields you're changing. Fails with a 409 if the application has already been submitted. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數cityaddresscountrywebsitetelephoneapplicantNameapplicationId必填coworkingNameapplicantEmail

submitCoworkingApplication

Submit a Coworking Application

Submit a completed Coworking Application for human review. Rejects with a missingFields list if any required field is still empty. There is no Application Fee to pay for Coworking, so — unlike submitStayApplication/submitExperienceApplication — this never returns a pay_application_fee/409-unpaid response. On success the application moves to human review. Requires NOMADSTAYS_MCP_AGENT_TOKEN.

輸入參數applicationId必填

版本歷史

1
  1. v0.7.0最新Sep 16, 2026

評分

已滿足適用檢查項的 100%

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

  • 近 30 天內可連通必需25 分
  • 已宣告認證方式必需10 分
  • 已列出工具必需15 分
  • 描述必需15 分
  • 圖示10 分
  • 文件15 分
  • 授權條款10 分