Threshold

Search and book verified independent vacation rentals directly from hosts, with no guest fees.

我该使用它吗

质量与安全性

A
描述质量
100%
模式完整度
81%
命名质量
96%
投毒风险
100%
权限匹配度
100%
协议合规性
100%

基于对工具定义和协议合规性的自动分析。

上下文开销

~1,737token 数(工具定义)
~883 B典型响应大小
对注意力有中等影响(占 128k 上下文窗口的 1.36%)

这是每次将服务器的工具加载到模型上下文窗口时所消耗的大致 token 数。数值越高,可用于其他任务的注意力就越少。

安装

一键安装

将以下内容添加到你的 `claude_desktop_config.json` 文件中:

{
  "mcpServers": {
    "stays": {
      "url": "https://threshold.rentals/api/mcp"
    }
  }
}

远程端点

https://threshold.rentals/api/mcpstreamable-http

它能做什么

工具清单

工具(10)

🟢 只读🟡 写入🔴 删除⚪ 未知
🟢search_stays(place, near_lat, near_lng, radius_km, check_in, ...)

Find verified independent vacation rentals. Filters are strict: every listed amenity must be present. With dates, results include a cached availability signal and an indicative all-in total (no guest service fee). Maps to GET /v1/search.

输入模式

{
  "type": "object",
  "properties": {
    "place": {
      "type": "string",
      "description": "Town and state/country, e.g. 'Asheville, NC'. Use near_lat/near_lng instead when you have coordinates."
    },
    "near_lat": {
      "type": "number"
    },
    "near_lng": {
      "type": "number"
    },
    "radius_km": {
      "type": "number",
      "default": 25
    },
    "check_in": {
      "type": "string",
      "format": "date"
    },
    "check_out": {
      "type": "string",
      "format": "date"
    },
    "adults": {
      "type": "integer",
      "minimum": 1,
      "default": 2
    },
    "children": {
      "type": "integer",
      "minimum": 0
    },
    "infants": {
      "type": "integer",
      "minimum": 0
    },
    "pets": {
      "type": "integer",
      "minimum": 0
    },
    "min_bedrooms": {
      "type": "integer"
    },
    "amenities": {
      "type": "array",
      "items": {
        "type": "string"
      },
      "description": "Amenity codes, e.g. hot_tub, wifi, ev_charger, dedicated_workspace, pool, fireplace_wood."
    },
    "max_total_usd": {
      "type": "number",
      "description": "Maximum all-in total in dollars. Requires dates."
    },
    "instant_only": {
      "type": "boolean"
    },
    "step_free_entrance": {
      "type": "boolean"
    },
    "min_wifi_mbps": {
      "type": "number"
    },
    "limit": {
      "type": "integer",
      "maximum": 20,
      "default": 8
    }
  }
}
🟢get_property(property_id)

Full record for one property: beds by room, amenities with details, access and stairs, rules, host FAQ, policies, and verification status. Maps to GET /v1/properties/{id}.

输入模式

{
  "type": "object",
  "properties": {
    "property_id": {
      "type": "string"
    }
  },
  "required": [
    "property_id"
  ]
}
🟢check_availability(property_id, from, to)

Day-by-day availability and indicative nightly prices for up to 180 days. Cached; use get_quote to confirm. Useful when the guest's dates are flexible. Maps to GET /v1/properties/{id}/availability.

输入模式

{
  "type": "object",
  "properties": {
    "property_id": {
      "type": "string"
    },
    "from": {
      "type": "string",
      "format": "date"
    },
    "to": {
      "type": "string",
      "format": "date",
      "description": "Exclusive"
    }
  },
  "required": [
    "property_id",
    "from",
    "to"
  ]
}
🟢get_quote(property_id, check_in, check_out, adults, children, ...)

Itemized, binding price for exact dates and party, after re-checking the host's live calendars. Valid 10 minutes. Returns house rules and an exact refund schedule to show the guest. Does not reserve the dates. Maps to POST /v1/properties/{id}/quotes.

输入模式

{
  "type": "object",
  "properties": {
    "property_id": {
      "type": "string"
    },
    "check_in": {
      "type": "string",
      "format": "date"
    },
    "check_out": {
      "type": "string",
      "format": "date"
    },
    "adults": {
      "type": "integer",
      "minimum": 1
    },
    "children": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
    "infants": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    },
    "pets": {
      "type": "integer",
      "minimum": 0,
      "default": 0
    }
  },
  "required": [
    "property_id",
    "check_in",
    "check_out",
    "adults"
  ]
}
🟢get_booking(booking_id)

Status, amounts, refund schedule, guest ID verification link, and when arrival details will be sent. Maps to GET /v1/bookings/{id}.

输入模式

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "string"
    }
  },
  "required": [
    "booking_id"
  ]
}
🟡ask_host(property_id, question)

Send a question the property record and FAQ don't answer. The answer arrives later; tell the guest you'll follow up. Don't include the guest's contact details. Maps to POST /v1/properties/{id}/questions.

输入模式

{
  "type": "object",
  "properties": {
    "property_id": {
      "type": "string"
    },
    "question": {
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "property_id",
    "question"
  ]
}
🟢get_messages(booking_id, guest_email)

The conversation between the guest and the host about a booking, oldest first (including the guest's note with the request and the host's note when accepting or declining). Use it to relay the host's replies. Pass guest_email (the email the booking was made with) unless you connect with an agent token.

输入模式

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "string"
    },
    "guest_email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "booking_id"
  ]
}
🟡send_message(booking_id, body, guest_email)

Send a message to the host on the guest's behalf, e.g. a question about check-in or a late arrival. Only send what the guest asked you to say. The host is emailed and replies appear in get_messages. Open from the request until two weeks after check-out.

输入模式

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "string"
    },
    "body": {
      "type": "string",
      "maxLength": 2000
    },
    "guest_email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "booking_id",
    "body"
  ]
}
🔴cancel_booking(booking_id, confirm, expected_refund_cents, guest_email)

Two-step. First call with confirm=false to see what the guest gets back if they cancel now (nothing changes). Tell the guest that refund and get their go-ahead, then call again with confirm=true and expected_refund_cents set to the refund amount from the first call. If the refund changed in between, the call fails with refund_changed instead of cancelling. Refunds go to the guest's card automatically. Pass guest_email (the email the booking was made with) unless you connect with an agent token.

输入模式

{
  "type": "object",
  "properties": {
    "booking_id": {
      "type": "string"
    },
    "confirm": {
      "type": "boolean"
    },
    "expected_refund_cents": {
      "type": "integer",
      "description": "Required when confirm is true: refund.amount from the confirm=false call."
    },
    "guest_email": {
      "type": "string",
      "format": "email"
    }
  },
  "required": [
    "booking_id",
    "confirm"
  ]
}
🟡request_booking(quote_id, first_name, last_name, email, phone, ...)

Request a stay from a quote. Set house_rules_accepted only after the guest has seen and agreed to the quote's house_rules. If the quote's payment.collected_by is "threshold", the booking starts as awaiting_payment and the response includes payment_url: the guest must open payment_url and add a card within 60 minutes, after which the host gets the request (status pending_host_confirmation). Otherwise the request goes to the host immediately and the host arranges payment after accepting. Returns the booking and a status link to give the guest; poll get_booking for changes.

输入模式

{
  "type": "object",
  "properties": {
    "quote_id": {
      "type": "string"
    },
    "first_name": {
      "type": "string"
    },
    "last_name": {
      "type": "string"
    },
    "email": {
      "type": "string",
      "format": "email"
    },
    "phone": {
      "type": "string"
    },
    "house_rules_accepted": {
      "type": "boolean"
    },
    "special_requests": {
      "type": "string",
      "maxLength": 500
    }
  },
  "required": [
    "quote_id",
    "first_name",
    "last_name",
    "email",
    "house_rules_accepted"
  ]
}

社区

评价此服务器

证据

最近观测

已验证未记录版本10 个工具