Skip to main content
Glama

1Stay — 通过 MCP 进行酒店预订

首个在 AI 对话中完成真实酒店预订的 MCP 服务器。不是搜索并重定向,也不是联盟链接。这是一个带有真实确认号的已确认预订 — 您的忠诚度积分可以累积,精英会员权益也适用。

开发者可通过 Stripe Connect 从每笔预订中获利 — 设置您自己的费用,直接收款。将任何 AI 智能体变成创收的旅行助手。

Stayker (WPF Holdings, LLC) 构建,这是一家基于成熟旅游分销架构的持牌旅游科技公司。当您通过 1Stay 预订时,酒店是记录在案的商家 — 您的住宿待遇与直接预订完全相同。

npm version 1Stay Hotel Booking MCP server 1Stay-mcp MCP server

快速入门

npx (最快)

npx 1stay-mcp

Claude Desktop / ChatGPT / Cursor / Windsurf

添加到您的 MCP 配置中:

{
  "mcpServers": {
    "1stay": {
      "url": "https://mcp.stayker.com/mcp"
    }
  }
}

Claude Code

claude mcp add 1stay --transport http https://mcp.stayker.com/mcp

立即尝试

演示环境: 1stay.ai/playground — 在浏览器中测试所有 8 个工具,无需安装。

MCP 端点: https://mcp.stayker.com/mcp 协议: Streamable HTTP | MCP SDK v1.27.1 | 最新协议版本 2025-11-25 支持的版本: 2025-11-25, 2025-06-18, 2025-03-26, 2024-11-05, 2024-10-07

Related MCP server: @striderlabs/mcp-airbnb

功能特性

  • 300,000+ 家酒店 遍布 140 多个国家 — 包括大型连锁酒店、独立酒店和精品酒店

  • 真实的确认号 — 非联盟链接,非重定向

  • 符合忠诚度计划 — 希尔顿、万豪、IHG 积分可累积,精英会员权益适用

  • Stripe Connect 变现 — 开发者可设置自己的预订服务费并直接收款

  • 安全结账 — 支付在符合 PCI 标准的页面上处理,绝不在 AI 对话中进行

  • 实时房价 — 来自旅游分销网络的实时定价,非缓存或抓取数据

工具

工具

描述

注解

search_hotels

按位置、日期、客人数和可选过滤器搜索酒店

readOnlyHint: true

get_hotel_details

获取特定酒店的房型、设施、图片和实时房价

readOnlyHint: true

book_hotel

创建预订并获取安全结账链接

idempotentHint: true

lookup_booking

通过身份验证查询预订

readOnlyHint: true

resend_confirmation

向客人重新发送确认邮件

openWorldHint: true

get_booking

通过预订 ID 或确认号查询预订

readOnlyHint: true

cancel_booking

取消现有预订

destructiveHint: true

search_tools

列出可用的 1Stay 工具,可按关键字过滤

readOnlyHint: true

开发者指南 — 通过 Stripe Connect 变现

1Stay 让开发者和 AI 构建者能够从其智能体完成的每一笔酒店预订中获利。连接您的 Stripe 账户,设置您的预订服务费,并在客人结账时直接收款。

开始使用: 1stay.ai/apply

身份验证

1Stay 使用 OAuth 2.0 授权码流程。通过 Claude 连接时,OAuth 握手会自动处理。您需要一个有效的 1Stay 账户来进行身份验证。

预订流程

1Stay 使用安全链接移交模式进行支付:

  1. 搜索和选择 在 AI 对话中完成

  2. 客人详情(姓名、邮箱、电话)在对话中收集以创建预订

  3. 支付 在安全、符合 PCI 标准的结账页面完成 — 在 AI 层之外

  4. 确认 通过电子邮件发送,包含您的酒店确认号

信用卡和支付信息绝不会通过 AI 对话传输。结账链接有效期约为 30 分钟。

示例

搜索即将到来的行程的酒店

用户提示: “我需要 5 月 7 日至 10 日在夏洛特市中心的酒店,两名成人。”

1Stay 搜索可用酒店,返回带有每晚房价、星级和距离市中心距离的酒店列表。通过后续提问按价格、品牌或设施进行筛选。

获取详情并预订房间

用户提示: “向我展示房型选项,然后预订大床房。”

1Stay 获取实时房型、房价和取消政策。提供客人姓名、邮箱和电话 — 1Stay 创建预订并返回安全结账链接。

查询并管理预订

用户提示: “我需要查询我的预订 — Amy Barker, amy@stayker.com

1Stay 验证您的身份并在对话中返回确认号和预订摘要。您可以要求重新发送确认邮件或直接在对话中取消预订。

即将推出

  • 事件感知库存 — 围绕锦标赛、婚礼和会议进行搜索和预订,提供基于场地的搜索和组织者工具

  • 短信礼宾服务 — 预订后通过短信接收更新和行程支持

  • 多房间协调 — 为团队、家庭和活动参与者提供的团体预订工具

隐私与法律

支持

关于 Stayker

Stayker 是一家旅游科技公司,为活动、组织和品牌提供酒店预订支持。基于成熟的旅游分销架构 — 全球实时库存,无中间商,无加价,无联盟重定向。酒店是每笔预订的记录在案商家。

总部: 北卡罗来纳州夏洛特

构建。预订。连接。


© 2026 WPF Holdings, LLC. 保留所有权利。

Available Tools

8 tools
book_hotelA
Idempotent
Inspect

Book a hotel room. Returns a secure checkout URL where the guest completes payment. Do not collect credit card numbers, payment info, or billing details in conversation.

Guest pays the hotel directly. Their credit card statement shows the hotel name, not 1Stay. Hotel's own confirmation number. Loyalty points apply automatically. A 1Stay Booking Fee is added at checkout.

Requires rate_code from get_hotel_details (expires in approximately 15 minutes). If expired, call get_hotel_details again for a fresh code.

ParametersJSON Schema
NameRequiredDescriptionDefault
hotel_idYesHotel ID from search or details
rate_codeYesRate code from get_hotel_details — you MUST call get_hotel_details first to get a valid rate_code before booking
check_inYesCheck-in date in YYYY-MM-DD format (e.g. 2026-05-06)
check_outYesCheck-out date in YYYY-MM-DD format (e.g. 2026-05-07)
guestsYesNumber of guests
guest_nameYesGuest full name
guest_emailYesGuest email for confirmation
external_reference_idNoYour unique reference ID for this booking (for idempotency and retrieval)

TDQS

A4.9/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations indicate idempotentHint=true and readOnlyHint=false. The description adds that payment is handled externally via checkout URL, no need to collect payment info, a booking fee is added, and loyalty points apply. No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is well-structured, front-loaded with the main action, and uses concise sentences without redundancy. Every part adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given 8 parameters and no output schema, the description covers key behaviors: return type, payment flow, prerequisite, and idempotency. It is complete enough for correct tool invocation.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% so baseline is 3. The description adds context for external_reference_id (idempotency and retrieval) and mentions rate_code expiration. However, most parameters are adequately described in the schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Book a hotel room' and explains it returns a secure checkout URL. It distinguishes from siblings like cancel_booking and get_hotel_details by specifying the booking action and prerequisite (rate_code).

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit instructions: do not collect payment info, requires rate_code from get_hotel_details which expires in ~15 min, and suggests calling get_hotel_details again if expired. Also mentions alternatives indirectly.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

cancel_bookingA
DestructiveIdempotent
Inspect

Cancel a hotel reservation. This action cannot be undone.

Requires guest first name, last name, and hotel confirmation number.

Cancellation of non-refundable rates forfeits the full amount. The guest should be aware of the cancellation policy before this tool is called.

To change dates: the recommended pattern is to search and book new dates first, then cancel the original reservation. Canceling before securing a new booking risks losing the room.

Cancellation confirmation is emailed to the address on file.

ParametersJSON Schema
NameRequiredDescriptionDefault
first_nameYesGuest first name on the reservation
last_nameYesGuest last name on the reservation
confirmation_numberYesHotel confirmation number

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate destructive and idempotent hints. The description adds critical context: the action cannot be undone, non-refundable rates forfeit full amount, and confirmation is emailed. This goes beyond annotations without contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Five sentences with clear front-loading of purpose. Each sentence adds value, with no redundancy or fluff. Well-organized.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given no output schema and moderate complexity, the description covers cancellation policy, consequences, and best practices for date changes. It is complete for agent guidance.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so baseline is 3. The description lists required fields but does not add extra detail beyond what the schema provides (e.g., format, examples).

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it cancels a hotel reservation, listing required fields. It distinguishes from sibling tools like book_hotel and get_booking by focusing solely on cancellation.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly mentions when to use (cancellation), warns about non-refundable rate forfeiture, and provides an alternative pattern for date changes to avoid losing the room. Also advises ensuring guest awareness of cancellation policy.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_bookingA
Read-only
Inspect

Look up a reservation by booking ID (stk_bk_xxxx) or hotel confirmation number. Returns full booking details including hotel, dates, guest info, rate, and status.

Developer-level lookup tool with no identity verification. For guest-facing reservation lookups, use lookup_booking which enforces identity verification before returning any data.

ParametersJSON Schema
NameRequiredDescriptionDefault
booking_idYesBooking ID (e.g. stk_bk_xxxx) or confirmation number

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations show readOnlyHint=true, destructiveHint=false. Description adds behavioral context: 'no identity verification' and lists return fields. No contradiction.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Two concise sentences for main purpose, one sentence for usage guidance. No fluff, front-loaded with key information.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Single parameter, no output schema, but description covers what is returned, parameter format, and provides alternative tool. Fully adequate for the tool's simplicity.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with description for booking_id. Description merely restates the parameter's purpose and gives example format, adding minimal value beyond schema.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states 'Look up a reservation by booking ID (stk_bk_xxxx) or hotel confirmation number. Returns full booking details...' It specifies the verb 'look up', the resource 'reservation', and lists return fields. It also distinguishes from sibling 'lookup_booking' by noting identity verification.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicitly says 'Developer-level lookup tool with no identity verification' and directs to 'use lookup_booking which enforces identity verification' for guest-facing lookups.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

get_hotel_detailsA
Read-only
Inspect

Get rates and room details for a specific hotel. Returns room types, live rates, amenities, cancellation policies, and rate_codes required by book_hotel.

Guest pays the hotel directly. Rates shown are what the hotel charges. A 1Stay Booking Fee is added at checkout. Loyalty points eligible.

Room type notes: "Run of house" means the hotel assigns the room at check-in. "Suite" at select-service brands usually means a larger room with a sofa, not a separate bedroom. Non-refundable rates are cheaper but cannot be changed or canceled.

ParametersJSON Schema
NameRequiredDescriptionDefault
hotel_idYesHotel ID from search results
check_inYesCheck-in date in YYYY-MM-DD format (e.g. 2026-05-06)
check_outYesCheck-out date in YYYY-MM-DD format (e.g. 2026-05-07)
guestsNoNumber of guests (default 2)
roomsNoNumber of rooms (default 1)

TDQS

A4/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds valuable context: payment flows (guest pays hotel, 1Stay fee added), loyalty points eligibility, and room type clarifications (run-of-house, suite definition). No contradiction with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Description is brief, front-loaded with main purpose, and uses separate paragraphs for payment and room notes. Each sentence adds value, though the room type explanations could be slightly trimmed. No wasted words.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Despite lacking an output schema, the description lists all return elements (room types, rates, amenities, policies, rate_codes) and adds payment and eligibility context. For a simple 5-parameter tool, this is comprehensive.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100% with each parameter descriptively named. The description adds no extra meaning beyond the schema for parameters; it only reiterates date format and defaults, which the schema already includes. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool retrieves rates and room details for a specific hotel, enumerating return fields (room types, live rates, amenities, cancellation policies, rate_codes) and explicitly linking rate_codes to the sibling tool book_hotel, which distinguishes it from search_hotels and booking tools.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies when to use (before booking, to get rate_codes) but does not explicitly state when not to use or compare with alternatives like search_hotels for listing hotels. The sibling list exists but no direct guidance in description.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

lookup_bookingA
Read-only
Inspect

Look up a reservation by verifying the guest's identity. Returns the confirmation number and booking summary in conversation.

Required before calling:

  1. Guest full name (first and last)

  2. At least one verification factor: email address used when booking, hotel confirmation number, or last 4 digits of the card used to book (check-in date also required for card verification)

Do not call this tool without the guest's full name and at least one verification factor. If the guest cannot provide any verification factor, their reservation cannot be looked up — this is for the security of their booking.

To resend the confirmation email, use resend_confirmation after verifying identity with this tool. To cancel, use cancel_booking.

ParametersJSON Schema
NameRequiredDescriptionDefault
first_nameYesGuest first name on the reservation
last_nameYesGuest last name on the reservation
confirmation_numberNoHotel confirmation number
emailNoEmail address used when booking
last_four_cardNoLast 4 digits of the card used to book
check_in_dateNoCheck-in date (YYYY-MM-DD) — required with last_four_card

TDQS

A5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false. The description adds valuable behavioral context beyond the annotations, including the identity verification process, required prerequisites, and that it returns confirmation number and booking summary. No contradictions with annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise and well-structured. The first sentence conveys the core purpose, followed by clear prerequisite bullet points and then related tool references. Every sentence adds value, and the information is front-loaded.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

The description is complete for the tool's complexity: it covers all six parameters, explains the verification requirements, and states the return value (confirmation number and booking summary). No output schema is present, but the description adequately sets expectations.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters5/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, but the description adds significant meaning: it explains that first_name and last_name are required, and at least one of confirmation_number, email, or last_four_card (with check_in_date) must be provided as a verification factor. This goes beyond the schema's field descriptions.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's purpose: 'Look up a reservation by verifying the guest's identity. Returns the confirmation number and booking summary.' It specifies the action (look up) and resource (reservation), and distinguishes from sibling tools like cancel_booking and resend_confirmation by mentioning them as alternatives.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description provides explicit when-to-use and when-not-to-use guidance: it lists prerequisites (guest full name and at least one verification factor) and states that if the guest cannot provide any verification, the reservation cannot be looked up. It also mentions alternatives: use resend_confirmation after identity verification or cancel_booking.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

resend_confirmationAInspect

Resend a hotel reservation confirmation email. Use after verifying the guest's identity with lookup_booking.

Sends the full confirmation to the email address on file. If the guest needs it sent to a different email (typo on original, or can't access it), provide updated_email.

ParametersJSON Schema
NameRequiredDescriptionDefault
confirmation_numberYesHotel confirmation number
updated_emailNoIf provided, send confirmation to this email instead of the one on file. Use when guest typo'd their email at booking or can't access the original email.

TDQS

A4.3/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations (readOnlyHint: false, destructiveHint: false, openWorldHint: true) indicate a non-read, non-destructive but open-world operation. The description reinforces this by stating it sends an email and explains the email address handling. It adds context beyond annotations by specifying the side effect of sending and the optional re-routing.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is concise with three sentences, front-loaded with the main purpose, and includes necessary usage details without extraneous information. Every sentence adds value.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple two-parameter tool with no output schema, the description covers the primary use case, explains the optional parameter, and mentions a prerequisite tool (lookup_booking). It is sufficiently complete for an agent to use correctly.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so the schema already documents both parameters. The description adds practical use-case detail for updated_email (typo or inaccessible email), which is helpful but not essential beyond the schema. Baseline 3 is appropriate.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool's action ('Resend a hotel reservation confirmation email') and the specific resource (confirmation email). It also distinguishes from sibling tools by instructing to use after verifying identity with lookup_booking, providing a clear sequential context.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description explicitly advises using this tool after looking up the guest's identity, and explains when to use the updated_email parameter (typo or inaccessible email). While it doesn't list alternative tools for when not to use it, the context is clear enough for an agent.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_hotelsA
Read-only
Inspect

Search and book hotels by location and dates. Returns available properties with nightly rates across major brands, boutique, and independent hotels.

Guest pays the hotel directly. Hotel's own confirmation number. Loyalty points apply.

ParametersJSON Schema
NameRequiredDescriptionDefault
locationYesCity, address, venue, or landmark (e.g. 'Nashville, TN' or 'Times Square, NYC'). Required for all searches.
latitudeNoLatitude — must be provided together with longitude
longitudeNoLongitude — must be provided together with latitude
check_inYesCheck-in date in YYYY-MM-DD format (e.g. 2026-05-06). Must be today or later.
check_outYesCheck-out date in YYYY-MM-DD format (e.g. 2026-05-07). Must be after check_in.
guests_per_roomNoGuests per room (default 2)
roomsNoNumber of rooms (default 1)
radiusNoSearch radius in miles (default 25, max 100)
chain_codeNoTwo-letter hotel chain filter. MC=Marriott, HH=Hilton, HI=IHG, YX=Hyatt, BW=Best Western, WY=Wyndham, EL=Choice. Omit for boutique, independent, or unbranded searches.
currencyNoCurrency code (default USD)
max_resultsNoMax hotels to return, max 15 (default 10)
search_idNoSearch ID from previous results — pass with cursor for next page
cursorNoPagination cursor from previous search response

TDQS

A4.2/5.0
Behavior4/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already indicate readOnlyHint=true and destructiveHint=false, so the description adds value by disclosing that the guest pays the hotel directly, the hotel provides the confirmation number, and loyalty points apply. This contextualizes the search results beyond the safety profile, though it does not cover rate limits or auth requirements.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

The description is three sentences: the first clearly states the function and output, the second and third provide behavioral context about payment and loyalty. It is front-loaded, concise, and every sentence adds value without redundancy.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

Given the tool has 13 parameters and no output schema, the description covers core functionality and payment details. It does not mention pagination behavior even though cursor/search_id parameters exist, nor does it explain default values for guests_per_room or rooms. However, annotations and schema fill some gaps, making it fairly complete for a search tool.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, with detailed parameter descriptions (e.g., chain_code, radius, pagination fields). The description adds payment context but does not elaborate on parameter usage beyond what the schema provides. Baseline score of 3 is appropriate since schema does the heavy lifting.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states the tool searches and books hotels by location and dates, and returns available properties with nightly rates across various brands, distinguishing it from sibling tools like book_hotel (for actual booking) or get_hotel_details (for specific details). It uses specific verbs ('Search and book') and resources ('hotels'), making the purpose unmistakable.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

The description implies usage for searching hotels by location and dates, but does not explicitly state when to use this tool versus alternatives like book_hotel or get_hotel_details. It provides context about what it returns but no direct exclusions or scenario comparisons. Clear but could be more explicit.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

search_toolsA
Read-only
Inspect

List available 1Stay hotel booking tools. Filter by keyword: search, book, cancel, details. Omit keyword to list all tools.

ParametersJSON Schema
NameRequiredDescriptionDefault
keywordNoKeyword to filter tools (e.g. 'book', 'search', 'cancel'). Omit to list all tools.

TDQS

A4.7/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Description and annotations align perfectly. Annotations indicate readOnlyHint: true and destructiveHint: false, and the description adds that the tool lists and filters tools. No contradictions, and the behavior is fully disclosed.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness5/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Single sentence with no unnecessary words. Front-loaded purpose and immediately actionable. Every word earns its place.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a simple list tool with one optional parameter and no output schema, the description is fully adequate. It tells the agent exactly what the tool does and how to use it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema coverage is 100%, so baseline 3. The description adds value by providing examples of acceptable keyword values and stating the effect of omitting keyword, going beyond the schema description.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

The description clearly states it lists available 1Stay hotel booking tools and can filter by keyword. It distinguishes itself from sibling tools like book_hotel and cancel_booking by being a meta-tool for discovery.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Provides explicit guidance on filtering by keyword with examples ('search, book, cancel, details') and says to omit keyword to list all. Lacks explicit when-not-to-use or alternatives, but given its meta-purpose, the context is clear.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

  1. 4 tool updatesv1.2.0
    • Addedlookup_booking
    • Addedresend_confirmation
    • Removedretrieve_booking
    • Changedsearch_hotels1 field changed
      • changedInput schema / properties / chain_code / description
        Previous value: -"Filter by hotel chain code (e.g. 'MC' for Marriott, 'HH' for Hilton)"New value: +"Two-letter hotel chain filter. MC=Marriott, HH=Hilton, HI=IHG, YX=Hyatt, BW=Best Western, WY=Wyndham, EL=Choice. Omit for boutique, independent, or unbranded searches."
  2. 4 tool updatesv1.0.2
    • Changedbook_hotel2 fields changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date (YYYY-MM-DD)"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)"
      • changedInput schema / properties / check_out / description
        Previous value: -"Check-out date (YYYY-MM-DD)"New value: +"Check-out date in YYYY-MM-DD format (e.g. 2026-05-07)"
    • Changedget_hotel_details2 fields changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date (YYYY-MM-DD)"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06)"
      • changedInput schema / properties / check_out / description
        Previous value: -"Check-out date (YYYY-MM-DD)"New value: +"Check-out date in YYYY-MM-DD format (e.g. 2026-05-07)"
    • Changedretrieve_booking1 field changed
      • addedInput schema / properties / updated_email
        Added value: +{
        +  "description": "If provided and identity is verified, send confirmation to this email instead of the one on file. Use when guest typo'd their email at booking or can't access the original email.",
        +  "type": "string"
        +}
    • Changedsearch_hotels6 fields changed
      • changedInput schema / properties / check_in / description
        Previous value: -"Check-in date (YYYY-MM-DD)"New value: +"Check-in date in YYYY-MM-DD format (e.g. 2026-05-06). Must be today or later."
      • changedInput schema / properties / check_out / description
        Previous value: -"Check-out date (YYYY-MM-DD)"New value: +"Check-out date in YYYY-MM-DD format (e.g. 2026-05-07). Must be after check_in."
      • changedInput schema / properties / latitude / description
        Previous value: -"Latitude — skip geocoding if provided with longitude"New value: +"Latitude — must be provided together with longitude"
      • changedInput schema / properties / location / description
        Previous value: -"City, address, venue, or landmark. Required unless latitude/longitude provided."New value: +"City, address, venue, or landmark (e.g. 'Nashville, TN' or 'Times Square, NYC'). Required for all searches."
      • changedInput schema / properties / longitude / description
        Previous value: -"Longitude — skip geocoding if provided with latitude"New value: +"Longitude — must be provided together with latitude"
      • changedInput schema / required
        Previous value: -[
        -  "check_in",
        -  "check_out"
        -]New value: +[
        +  "location",
        +  "check_in",
        +  "check_out"
        +]
  3. 7 tool updatesv1.0.0
    • First observedbook_hotel
    • First observedcancel_booking
    • First observedget_booking
    • First observedget_hotel_details
    • First observedretrieve_booking
    • First observedsearch_hotels
    • First observedsearch_tools

TDQS

A4.4/5.0
Disambiguation5/5

Each tool has a clearly distinct purpose: search_hotels finds properties, get_hotel_details retrieves rates, book_hotel creates bookings, cancel_booking removes them, lookup_booking and get_booking retrieve booking info with different access levels, resend_confirmation emails confirmations, and search_tools lists available tools. No two tools overlap in functionality.

Naming Consistency5/5

All tool names follow a consistent verb_noun pattern using snake_case (e.g., book_hotel, cancel_booking, search_hotels). The naming is predictable and uniform across the entire set.

Tool Count5/5

With 8 tools, the server covers the main hotel booking workflow (search, details, book, cancel, lookup, resend) plus a meta-tool for discovery. This is well-scoped and not excessive or insufficient for the domain.

Completeness3/5

The core operations are covered (search, read, create, delete), but there is no tool to modify an existing booking. The documentation suggests a workaround (re-book then cancel), which is an obvious gap. A modify/update tool is missing, reducing completeness.

Maintenance

ActivitySlowing
ResponsivenessUnresponsive

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • A
    license
    A
    quality
    D
    maintenance
    Enables AI agents to search, browse, and book hotels from a database of 2 million properties worldwide. Provides comprehensive hotel search capabilities with location lookup, filtering by amenities, detailed property information, and integrated booking functionality.
    6
    9
    1
    ISC
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search, compare, and book hotels with real-time pricing and availability, supporting multiple location types, star ratings, and price filters.
    8
    MIT
  • A
    license
    Not graded
    quality
    B
    maintenance
    Enables AI agents to search and book hotels globally with real-time pricing and inventory from over 2 million properties.
    81
    MIT

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/STAYKER-COM/1Stay-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server