StayForWork - Housing and Hotels for Travel Workers
Server Details
Find extended-stay hotels and furnished housing near work assignments.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
TDQS
Scored across 5 tools
The set forms a clean 2x2 matrix (home/hotel x details/offers) plus a search tool, and descriptions explicitly enforce boundaries: homes require a propertyRef from results while hotels accept propertyId or hotelName. The only residual friction is details-vs-offers for the same entity type, where an agent must remember that 'offers' means live dated pricing and 'details' means undated facts/photos.
All names are snake_case verb_noun with a predictable pattern: get_<entity>_details, get_<entity>_offers, and search_stays. The singular deviation ('stays' rather than 'home'/'hotel') is intentional since search spans both entity types.
Five tools is tightly scoped: one discovery entry point and exactly the two follow-up actions (details, offers) needed for each of the two property types. Nothing is redundant or missing at the structural level.
The search -> detail -> offer lifecycle is fully covered for both hotels and homes, including work-stay specifics like multi-week quotes and signed propertyRefs. Gaps remain at the terminal end: no booking/request/inquiry action, no review or host-contact retrieval, and search returns a single page with no pagination or follow-up filter refinement.
Available Tools
5 toolsget_home_detailsGet a furnished home from search resultsARead-onlyInspect
Return photos, amenities, and property facts for a furnished home selected from search results. Requires that home's signed propertyRef; a home name alone is insufficient. Search results include each home's name, position, and propertyRef.
| Name | Required | Description | Default |
|---|---|---|---|
| currency | No | USD | |
| propertyRef | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/open-world safety, and the description adds real context beyond them: the propertyRef must be signed, and search results carry name, position, and propertyRef. It omits error behavior for an expired/invalid ref and any pagination or size limits on the returned photos/amenities.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with what is returned, then the blocking precondition. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-param read tool with no output schema, the description covers the return contents and the critical prerequisite. The only real gap is the undocumented currency parameter, which an agent would have to infer from the schema's name and default.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must compensate. It explains propertyRef well (signed, sourced from search results, not a name), but says nothing about the currency parameter or its USD default, leaving one of two params undocumented everywhere.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Specific verb+resource: returns photos, amenities, and property facts for a furnished home. It also scopes the input to a home 'selected from search results,' which implicitly chains it after search_stays, but it never names get_home_offers or get_hotel_details to sharpen the distinction among siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states the precondition clearly (must come from search results, must have the signed propertyRef, a name alone is insufficient) and says where to get the ref. It stops short of naming alternatives or saying when-not to use it versus the offers/hotel siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_home_offersRefresh a furnished home's price estimateARead-onlyInspect
Refresh the availability and estimated full-stay price for a furnished home selected from search results. Requires that home's signed propertyRef. Omitted dates or guests retain the original search stay. The result is an estimate subject to host confirmation, not a hotel room offer.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | No | ||
| currency | No | USD | |
| checkinDate | No | ||
| propertyRef | Yes | ||
| checkoutDate | No | ||
| childrenAges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, yet the description still adds real value: the signed propertyRef requirement, the fallback semantics when dates/guests are omitted, and the crucial caveat that the returned price is an estimate subject to host confirmation rather than a bookable offer. That caveat is exactly the kind of behavioral context annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the action and resource, then the prerequisite, then fallback semantics, then the estimate caveat. Every sentence carries information the agent cannot get from the schema or annotations.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter pricing lookup with no output schema, the description covers the prerequisite, the omitted-parameter fallback, and characterizes the return as an estimate pending host confirmation. Missing only coverage of currency and the childrenAges array semantics.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate and it does so partially: it explains propertyRef (must be the signed ref from search), and the semantics of checkinDate/checkoutDate/adults in one sentence about retaining the original search stay. currency and childrenAges receive no explanation anywhere, leaving the agent to guess at currency behavior and child-age sensitivity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (refresh) and precise resource (availability and estimated full-stay price for a furnished home from search results). It partially separates itself from the hotel siblings by clarifying this is not a hotel room offer, but it never names get_hotel_offers/get_home_details as alternatives.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"selected from search results" establishes the prerequisite that the item must come from a prior search, and "Omitted dates or guests retain the original search stay" tells the agent it can call without re-specifying the stay. No sibling is named for the contrasting case (full hotel offers, property details), so routing is implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hotel_detailsGet hotel details by name or IDARead-onlyInspect
Return undated hotel or motel facts, photos, and amenities by propertyId from a search result or directly by hotelName. Optional destination narrows a named-hotel match. Furnished homes require a propertyRef from search results and cannot be queried by name alone.
| Name | Required | Description | Default |
|---|---|---|---|
| currency | No | USD | |
| hotelName | No | ||
| propertyId | No | ||
| destination | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, openWorldHint=true, and destructiveHint=false, so the safety profile is covered. The description usefully adds that results are 'undated' (no availability/pricing) and that home lookups require a reference from search results. It does not say what happens with an ambiguous hotelName or a name that fails to match.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core behavior and no padding. The 'propertyRef' vs 'propertyId' terminology drift is the one spot where wording costs clarity rather than saving space.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, and the description only gestures at the return payload ('facts, photos, and amenities') without indicating structure or currency handling. Combined with the unexplained currency parameter and the propertyRef ambiguity, an agent has enough to attempt the call but not enough to predict the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry the load. It explains hotelName, propertyId, and destination semantics well, but currency is never mentioned, and the description references a 'propertyRef' that does not exist in the input schema (the parameter is propertyId), which risks confusing the agent about which field to send.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Return undated hotel or motel facts, photos, and amenities.' The word 'undated' plus the fact/photo/amenity scope implicitly separates it from get_hotel_offers, and the closing sentence about furnished homes separates it from get_home_details, though neither sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear lookup-mode guidance: use propertyId from a search result, or hotelName directly, with optional destination to narrow a name match. It also states a hard constraint (furnished homes cannot be queried by name alone). It stops short of explicitly routing to get_hotel_offers for pricing or to search_stays for discovery.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_hotel_offersGet hotel room offers by name or IDARead-onlyInspect
Return live room offers for a hotel or motel for explicit dates and guests, including multi-week work stays. Accepts a propertyId from search results or a hotelName with optional destination. Named-hotel resolution uses a confidence threshold and returns candidates when ambiguous. Private member prices are masked until sign-in.
| Name | Required | Description | Default |
|---|---|---|---|
| adults | Yes | ||
| currency | No | USD | |
| hotelName | No | ||
| hotelRooms | No | ||
| propertyId | No | ||
| checkinDate | Yes | ||
| destination | No | ||
| checkoutDate | Yes | ||
| childrenAges | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnlyHint, destructiveHint=false, openWorldHint), so the bar is lower, and the description adds genuinely non-obvious behavior: confidence-threshold name resolution, candidate results on ambiguity, and private member prices masked until sign-in. It also notes multi-week work-stay coverage. Missing are failure modes (no availability, invalid propertyId) and rate/limit behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each front-loaded with a distinct fact — purpose and scope, input modes, ambiguity handling, price masking. No restatement of the title and no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With 9 parameters at 0% schema coverage and no output schema, the description should explain the remaining inputs and at least the shape of an offer (rooms, rates, taxes, cancellation terms). It covers the core call path and the sign-in caveat but leaves enough undefined that an agent must guess at currency/room-count semantics and return structure.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% across 9 parameters, so the description carries the burden and only partly discharges it: it explains the propertyId vs hotelName+destination split and confirms checkin/checkout dates and guest count are required. currency, hotelRooms, and childrenAges go entirely unmentioned, and no date format or currency constraints are restated.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Return live room offers for a hotel or motel") plus the scoping dimensions (explicit dates and guests). It is readily separable from get_hotel_details (property attributes) and search_stays (property discovery), so an agent can route without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives the decision rule between the two input modes: a propertyId from search results, or a hotelName with optional destination. It also flags the ambiguous-name outcome (candidates returned via a confidence threshold), which shapes follow-up behavior. It does not say when to prefer get_hotel_details or search_stays instead, so no explicit alternatives or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_staysSearch extended-stay hotels and furnished housing for work travelARead-onlyInspect
Search extended-stay hotels, motels, and furnished housing for work travel lodging near a city, neighborhood, hospital, worksite, or landmark. Intended for travel nurses, construction crews, outage workers, and others on assignments lasting weeks or months. Resolves destination internally; verified coordinates are optional. Requires check-in and check-out dates and adult count. Returns one ordered page with full-stay prices, distances, hotel IDs, and signed propertyRef values for homes. housingType filters hotels or homes, and sort supports price or distance. A home selected by name or position in the returned list can be identified by its propertyRef.
| Name | Required | Description | Default |
|---|---|---|---|
| page | No | ||
| size | No | ||
| sort | No | total | |
| adults | Yes | ||
| currency | No | USD | |
| latitude | No | Optional verified latitude for the destination; supply with longitude. | |
| longitude | No | Optional verified longitude for the destination; supply with latitude. | |
| hotelRooms | No | Hotel rooms required; furnished homes remain whole-property results. | |
| checkinDate | Yes | ||
| destination | Yes | City, neighborhood, hospital, worksite, or landmark near the desired stay. | |
| housingType | No | all | |
| checkoutDate | Yes | ||
| childrenAges | No | ||
| locationLabel | No | Legacy display label; use destination for new calls. | |
| maximumNightlyPrice | No | ||
| minimumNightlyPrice | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only and open-world annotations, the description explains that the destination is resolved internally, coordinates are optional, results are one ordered page, and returns include prices, distances, IDs, and signed propertyRef values. It also clarifies that propertyRef can identify a home for later reference, which is important behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and key constraints are front-loaded and easy to scan. There is minor redundancy around propertyRef and the audience sentence is helpful but not strictly invocation-critical, keeping it just below maximally concise.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, open-world search with no output schema, the description covers the main requirements, filters, and return shape well. It still leaves some parameter behavior, especially pagination details and child/price/currency semantics, to the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The description adds useful meaning for required dates/adults, optional coordinates, housingType, sort, and propertyRef. However, with 16 parameters and only 31% schema description coverage, several parameters such as page, size, currency, childrenAges, and nightly price bounds remain unclarified beyond their names and types.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, "Search," and names the resources: extended-stay hotels, motels, and furnished housing. It also distinguishes the scope from detail/offer siblings by focusing on discovery near a destination for work-travel assignments.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states the intended context: work-travel lodging for travel nurses, construction crews, outage workers, and similar assignments. It does not explicitly name when to use this versus get_hotel_details, get_hotel_offers, or get_home_offers, so alternatives are left implicit.
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.
5 tool updates
- First observed
get_home_details - First observed
get_home_offers - First observed
get_hotel_details - First observed
get_hotel_offers - First observed
search_stays
Related MCP Connectors
Search remote-work accommodations worldwide; Trusted Stay Partners can manage their own listings.
Search, check availability and quote furnished extended-stay rentals (30+ nights) in Australia.
Agent-facing lodging decision tool. Non-sensitive categories only. Alpha, unauthenticated.
GSA Per Diem access readiness, lodging, and meals and incidental expense rates. 7 tools.
Related MCP Servers
- AlicenseAqualityAmaintenanceSearches hotels and vacation rentals with nightly and total rates, ratings, amenities, and detailed property information through natural language in any MCP client.1191 npm38 PyPI2MIT
- AlicenseNot gradedqualityBmaintenanceMCP server for searching stays, comparing prices across Booking.com, Airbnb, Vrbo, and Google Hotels, and fetching reviews via natural language in AI assistants.MIT
- AlicenseAqualityAmaintenanceEnables users to find, compare, and plan hotel stays across India around railway stations, airports, bus terminals, landmarks, localities, or coordinates, merging live prices with road distance and drive times, and supporting multi-stop stay planning.8Apache 2.0
- AlicenseNot gradedqualityDmaintenanceEnables AI agents to search, compare, and interact with Apartments.com rental listings, including scheduling tours and contacting property managers.3 npmMIT
Glama MCP Gateway
Add one secure layer between your agents and this server.