Skip to main content
Glama

hostaway

Server Details

Manage Hostaway listings, reservations, calendar, guest messages, reviews and tasks.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-06-18
URL
Repository
m190/usefulapi-mcp
GitHub Stars
0

TDQS

A3.8/5.0

Scored across 20 tools

Disambiguation5/5

Each tool targets a distinct resource+action: reservations, listings, calendar, tasks, conversations/messages, reviews, expenses and owner statements are all clearly separated. The only near-neighbors (calculate_price vs get_calendar) are differentiated by their descriptions as stay-quote vs day-by-day availability.

Naming Consistency5/5

Every tool follows the same hostaway_verb_noun snake_case convention (list_*, get_*, create_*, update_*, send_*). No mixing of styles or divergent verb forms across the set.

Tool Count4/5

20 tools is on the heavier side, but the domain genuinely spans many resources (reservations, listings, calendar, tasks, messaging, reviews, finances). Each tool maps to a real operation, with no obvious filler, though it sits at the upper edge of comfortable scope.

Completeness3/5

Reads are broad but several lifecycle operations are missing: no reservation cancellation (update_reservation explicitly never cancels), no review reply tool despite reviews being listed, no expense creation, and no listing create/update. These gaps would force agents to dead-end on common workflows.

Available Tools

20 tools
hostaway_calculate_priceQuote a stayA
Read-only
Inspect

Calculate what a stay at a listing would cost — total price plus the component breakdown (base rate, cleaning fee, taxes, discounts). A calculation only: nothing is booked or held. Hostaway: POST /v1/listings/{listingId}/calendar/priceDetails (version 2).

ParametersJSON Schema
NameRequiredDescriptionDefault
markupNoPrice markup multiplier (must be more than 1.0).
listingIdYesListing id.
endingDateYesDeparture date (YYYY-MM-DD).
startingDateYesArrival date (YYYY-MM-DD).
numberOfGuestsYesNumber of guests.
reservationCouponIdNoReservation coupon id to apply.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already assert readOnlyHint=true, and the description reinforces the non-mutating nature ('nothing is booked or held') rather than contradicting it. It also adds the underlying endpoint and the shape of the result (total plus base rate, cleaning fee, taxes, discounts), which is useful beyond the annotation.

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 tight sentences: purpose and non-mutation caveat are front-loaded, and the endpoint detail is appended without crowding the core message. No filler.

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?

With no output schema, the description compensates by naming the returned components (total, base rate, cleaning fee, taxes, discounts). Combined with 100% schema coverage and the readOnly annotation, an agent has everything needed to call and interpret this 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 description coverage is 100%, so all six parameters (including markup and reservationCouponId) are already documented in the schema. The description adds no further parameter-level meaning such as the semantics of markup or coupon applicability, so baseline 3 applies.

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?

Specific verb (calculate) plus resource (price of a stay) with scope stated: total price and component breakdown. It clearly distinguishes itself from booking siblings by declaring 'A calculation only: nothing is booked or held.'

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 'nothing is booked or held' line gives clear context that this is for quoting rather than committing, which implicitly routes the agent away from hostaway_create_reservation. No sibling is named explicitly, so it stops short of full alternative routing.

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

hostaway_create_reservationCreate a reservationA
Destructive
Inspect

Create a new reservation on a listing (it blocks the calendar and syncs to connected channels). Only channelId 2000 (direct, the default), 2002 (homeaway) or 2020 (partner) are accepted. To price it correctly, call hostaway_calculate_price first and pass its total as totalPrice. Overbooking protection is always left on. Hostaway: POST /v1/reservations.

ParametersJSON Schema
NameRequiredDescriptionDefault
petsNoPets.
phoneNoGuest phone, e.g. +15125551212.
adultsNoAdults.
commentNoFree-text comment.
infantsNoInfants.
childrenNoChildren.
currencyNoCurrency code, e.g. USD.
doorCodeNoDoor / lock code for this stay.
hostNoteNoInternal host note (not shown to the guest).
channelIdNo2000 direct (default), 2002 homeaway, 2020 partner.
guestCityNoGuest city.
guestNameNoGuest full name.
guestNoteNoNote from the guest.
guestEmailNoGuest email.
totalPriceNoTotal price of the stay.
arrivalDateYesArrival date (YYYY-MM-DD).
checkInTimeNoCheck-in time (hour of day, 0-23).
checkOutTimeNoCheck-out time (hour of day, 0-23).
guestAddressNoGuest street address.
guestCountryNoGuest country (ISO 3166 code, e.g. US).
guestZipCodeNoGuest ZIP / postal code.
listingMapIdYesListing id to book.
departureDateYesDeparture date (YYYY-MM-DD).
guestLastNameNoGuest last name.
doorCodeVendorNoLock vendor.
guestFirstNameNoGuest first name.
numberOfGuestsNoTotal number of guests.
doorCodeInstructionNoDoor-code instructions.

TDQS

A4.4/5.0
Behavior4/5

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

The annotations declare only destructiveHint=true. The description adds valuable behavioral context beyond that: it blocks the calendar, syncs to connected channels, restricts accepted channelId values, and mentions overbooking protection is always left on. It does not explicitly state irreversibility or auth requirements, but the side effects are disclosed clearly.

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 five tight sentences, front-loaded with the core action and side effects, followed by channel constraints, pricing guidance, overbooking note, and endpoint. Every sentence earns its place with no 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?

For a complex 28-parameter mutation with no output schema, the description supplies the most critical operational context: side effects, channel constraints, pricing prerequisite, and overbooking behavior. It does not describe the return value or auth requirements, but given the lack of output schema and rich input schema, it is largely complete for correct 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 the baseline is 3. The description goes beyond raw schema by explaining how to populate totalPrice (use hostaway_calculate_price's total) and by emphasizing the accepted channelId values. This adds decision-relevant meaning for two key parameters among 28.

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 states a specific verb and resource: 'Create a new reservation on a listing.' It also names the tool's side effects (blocks calendar, syncs to channels), which distinguishes it from siblings like hostaway_update_reservation and hostaway_get_reservation. An agent can immediately tell what this tool does.

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 gives clear prerequisite guidance: call hostaway_calculate_price first and pass its total as totalPrice. It also constrains channelId values and notes overbooking protection is always on. However, it does not explicitly state when not to use this tool or name alternative creation paths beyond the pricing prerequisite.

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

hostaway_create_taskCreate a taskA
Destructive
Inspect

Create an operational task — e.g. a cleaning after a checkout or a maintenance job — optionally tied to a listing and reservation, assigned to a user, with a time window, category and cost. Hostaway: POST /v1/tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
costNoTask cost.
colorNoColour in hex, e.g. #FF8800.
titleYesTask title.
statusNopending, confirmed, inProgress, completed or cancelled.
priorityNoPriority.
descriptionNoTask description.
shouldEndByNoDeadline ("YYYY-MM-DD HH:MM:SS", UTC).
canStartFromNoEarliest start time ("YYYY-MM-DD HH:MM:SS", UTC).
costCurrencyNoCost currency, e.g. USD.
listingMapIdNoListing id the task belongs to.
categoriesMapNoCategories: 1 cleaning, 2 maintenance, 3 check-in, 4 check-out, 5 back office, 6 other.
reservationIdNoReservation id the task relates to.
assigneeUserIdNoUser id to assign the task to.
costDescriptionNoCost description.
supervisorUserIdNoSupervisor user id.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations only carry destructiveHint=true, so the description must carry the rest. It adds the underlying endpoint (POST /v1/tasks) and the mutation model, but says nothing about auth requirements, side effects (notifications to assignee/supervisor), or whether referenced ids must pre-exist. Useful but not rich 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.

Conciseness4/5

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

A single front-loaded sentence that leads with the action and then the scope. It is efficient, though the trailing field enumeration is partly redundant with the 100%-documented schema.

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

Completeness3/5

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

For a 15-parameter mutation tool with no output schema, the description covers the conceptual shape of a task but omits what the call returns (e.g. the created task id needed for subsequent hostaway_update_task calls) and any permission/side-effect context. Adequate but with clear gaps.

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% across all 15 parameters, so the schema already documents every field including enums and formats. The description only paraphrases those same fields ('time window, category and cost') without adding format, defaults, or validation semantics beyond 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?

States the specific verb (create) and resource (operational task), then enumerates the domain scope with concrete examples ('cleaning after a checkout', 'maintenance job') and the optional relationships/facets (listing, reservation, assignee, time window, category, cost). An agent can immediately distinguish this from hostaway_list_tasks and hostaway_update_task.

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 examples ('cleaning after a checkout or a maintenance job') give clear context for when this tool applies, and the optionality of listing/reservation linkage is stated. There is no explicit when-not guidance or prerequisite note (e.g. listing/reservation must already exist), which keeps it below a 5.

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

hostaway_get_calendarGet listing calendarA
Read-only
Inspect

Day-by-day availability and pricing for one listing over a date range: status (available, blocked, reserved, pending), nightly price, min/max stay, closed-to-arrival/departure and notes. Set includeResources to see the reservations occupying each day. Hostaway: GET /v1/listings/{listingId}/calendar.

ParametersJSON Schema
NameRequiredDescriptionDefault
endDateYesLast day (YYYY-MM-DD).
listingIdYesListing id.
startDateYesFirst day (YYYY-MM-DD).
includeResourcesNoInclude attached sub-resources (sent as includeResources=1).

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered. The description adds genuine value beyond that: it discloses the per-day fields returned, the meaning of includeResources, and the underlying endpoint (GET /v1/listings/{listingId}/calendar), giving the agent a concrete mental model of the payload.

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?

Front-loaded with the resource scope, followed by returned fields, the includeResources hint, and the endpoint. Dense but each clause earns its place; the raw endpoint reference is the only marginally extraneous element.

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?

For a read-only tool with no output schema, the description adequately characterizes the returned data (status values, pricing, stay constraints, notes) so the agent knows what it gets. Minor gaps remain around pagination/range limits, which for a date-bounded calendar call are low-risk.

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, but the description goes beyond the schema by explaining what includeResources actually surfaces ('the reservations occupying each day') rather than the schema's generic 'attached sub-resources'. The date-range parameters are still only defined by 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?

States a specific verb and resource ('Day-by-day availability and pricing for one listing over a date range') and enumerates exactly what is returned (status, nightly price, min/max stay, CTA/CTD, notes). This is clearly distinguishable from siblings like hostaway_get_listing and hostaway_update_calendar.

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?

Usage is implied by the scoping ('one listing over a date range') and the includeResources hint, but there is no explicit when-to-use/when-not guidance or named alternative (e.g. how it differs from hostaway_get_listing or hostaway_calculate_price). Minimum viable rather than routing guidance.

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

hostaway_get_listingGet one listingA
Read-only
Inspect

Fetch a single listing by id — full details including description, house rules, amenities, images, fees, taxes, cancellation policy and access info (door code, wifi). Hostaway: GET /v1/listings/{listingId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
listingIdYesListing id.
includeResourcesNoInclude attached sub-resources (sent as includeResources=1).

TDQS

A3.8/5.0
Behavior3/5

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

readOnlyHint=true already declares the safe-read profile, so the safety burden is covered. The description adds useful scope context by enumerating what comes back (house rules, cancellation policy, door code, wifi), which helps the agent gauge sensitivity and payload size. It says nothing about permissions or rate limits, so with annotations present this sits at a solid 3.

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?

One front-loaded sentence naming the verb, key, and returned contents, plus a compact endpoint reference. No filler and nothing redundant.

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?

With no output schema, the description correctly compensates by enumerating the returned fields, and the required listingId is unambiguous. Minor gaps around permissions or behavior for missing ids keep it from a 5.

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 both listingId and includeResources are already documented in the schema, and the description adds no syntax or semantics beyond that. Baseline 3 is appropriate when the schema carries the parameter burden.

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?

States a specific verb ('Fetch') and resource ('a single listing by id') and immediately enumerates the returned fields, which clearly distinguishes it from hostaway_list_listings. An agent can tell the single-record lookup apart from the list operation without opening either schema.

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 phrase 'by id' and the single-record framing imply when to use this over hostaway_list_listings, but no explicit when/when-not or alternative routing is stated. Usage is implied rather than prescribed.

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

hostaway_get_owner_statementGet one owner statementA
Read-only
Inspect

Fetch one owner statement — the filter it was generated with (listings, date range), summary and per-reservation financial data, grand totals, expenses, and owner / property-manager details. Hostaway: GET /v1/ownerStatement/{ownerStatementId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
ownerStatementIdYesOwner statement id.

TDQS

A3.5/5.0
Behavior3/5

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

readOnlyHint=true already establishes this is a safe read, so the bar is lower. The description adds useful behavioral context by naming the response contents (financial breakdown, totals, expenses), but says nothing about pagination/limits or the fact that a missing/invalid id behavior is undefined.

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?

A single dense sentence with the resource and returned fields front-loaded, followed by a terse API mapping. No filler, though the enumerated field list is somewhat long relative to what an agent strictly needs.

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?

With no output schema, the description usefully compensates by summarizing the returned structure. It is nearly complete for this simple one-parameter read, with only id-validity and error/pagination behavior unaddressed.

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?

Only one parameter (ownerStatementId) and schema description coverage is 100%, so the schema fully documents it. The description adds no id-format or sourcing guidance beyond the schema, so baseline 3 applies.

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

Purpose4/5

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

States a specific verb (fetch) and resource (one owner statement) and enumerates the content returned (filter, summary, per-reservation data, totals, expenses, owner/PM details). The singular 'one' implicitly separates it from hostaway_list_owner_statements, though it never names that sibling explicitly.

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?

Usage is implied rather than stated: an agent infers this is the single-record detail call taken when it already holds an ownerStatementId. There is no explicit when-to-use, no when-not-to-use, and no routing to the list sibling.

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

hostaway_get_reservationGet one reservationA
Read-only
Inspect

Fetch a single reservation by its Hostaway id — guest contact details, dates, guest counts, price breakdown, payment state, door code, notes, channel and cancellation policy. Hostaway: GET /v1/reservations/{reservationId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
reservationIdYesHostaway reservation id.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description goes beyond that by disclosing the concrete data surface returned (guest contact, price breakdown, payment state, door code, notes, channel, cancellation policy), which meaningfully helps an agent judge whether this call yields what it needs. It omits auth scope, rate limits, and error/not-found behavior.

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 tight sentences: the core action and the returned-data summary are front-loaded, and the trailing REST endpoint reference is compact. No filler or redundancy.

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?

With no output schema, the description's enumeration of returned fields is exactly the compensating detail an agent needs for a single-resource fetch. Given the trivial one-parameter schema and readOnly annotation, nothing essential is missing.

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?

There is a single parameter with 100% schema description coverage, so the schema already carries the semantics; baseline 3 applies. The description only restates 'by its Hostaway id' and adds no format or constraint detail beyond 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?

States a specific verb and resource ('Fetch a single reservation by its Hostaway id') and enumerates the payload the caller will receive. This clearly distinguishes it from hostaway_list_reservations and hostaway_update_reservation without needing to open any schema.

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 phrase 'by its Hostaway id' implies you need a known id (vs. listing), which is a mild routing signal. However, no alternative sibling is named and no when-not-to-use condition or prerequisite is stated, so usage is only implied.

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

hostaway_get_reservation_logsGet reservation change historyA
Read-only
Inspect

The audit trail for one reservation: every field change with previous and new value, when, and by which user (most recent first). Useful for 'who changed these dates / this price?'. Hostaway: GET /v1/reservations/{reservationId}/logs.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return (1-500).
offsetNoRecords to skip from the start.
reservationIdYesHostaway reservation id.

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, so safety is covered; the description adds real behavioral value by disclosing the return ordering (most recent first) and the granularity of each entry. It does not mention pagination semantics despite limit/offset params, which keeps it from a 5.

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?

Two tight sentences with the core purpose and result shape front-loaded, followed by a short endpoint reference. Minor redundancy in the trailing API route, but nothing is bloated.

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?

With no output schema, the description carries the burden of describing returns, and it does so adequately (field, old value, new value, timestamp, user, ordering). Pagination behavior goes unaddressed, which is the only notable gap for a read tool with limit/offset.

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% with all three parameters documented in the schema itself, so the baseline is 3. The description adds no extra meaning about reservationId, limit, or offset beyond what the schema provides.

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?

States a specific resource (the audit trail for one reservation) with an exact description of what each record contains — field change, previous and new value, timestamp, actor. This clearly separates it from hostaway_get_reservation (current state) and hostaway_update_reservation (mutation) without needing to read either schema.

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 phrase "Useful for 'who changed these dates / this price?'" gives a concrete triggering context, which is more than most siblings offer. It does not explicitly exclude or route against alternatives (e.g. use hostaway_get_reservation for current values), so it stops short of a 5.

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

hostaway_list_conversation_messagesRead a conversationA
Read-only
Inspect

The messages in one guest conversation — body, direction (isIncoming), channel/email/SMS type, send status and timestamps. By default only sent messages; set includeScheduledMessages to also see scheduled, paused or failed ones. Hostaway: GET /v1/conversations/{conversationId}/messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return (1-500).
offsetNoRecords to skip from the start.
conversationIdYesConversation id.
includeScheduledMessagesNoAlso return scheduled / failed / paused messages.

TDQS

A4.2/5.0
Behavior4/5

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

With readOnlyHint=true already declaring the safe read profile, the description adds useful behavioral context: what is returned by default and which message states require an extra parameter. It does not cover pagination behavior or rate limits, which are minor gaps for a read-only list endpoint.

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 compact sentences that front-load the core purpose, then add filtering behavior and the underlying endpoint. Every sentence carries useful information with no repetition or filler.

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?

For a read-only list tool with no output schema, the description adequately explains the returned message fields and the default filtering behavior. Pagination details are left to the schema, which is acceptable given the 100% parameter description coverage.

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 all four parameters are already documented in the input schema. The description elaborates on includeScheduledMessages and default filtering but adds little for conversationId, limit, or offset beyond the schema, matching the baseline for high schema coverage.

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 that it retrieves messages for one guest conversation and lists the returned fields (body, direction, channel/type, status, timestamps). It is easily distinguishable from siblings like hostaway_list_conversations and hostaway_send_message.

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?

It explains the default filter (only sent messages) and how to include scheduled, paused, or failed messages via includeScheduledMessages. It does not explicitly name alternatives or when not to use this tool, but the context is clear for an agent that already has a conversation id.

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

hostaway_list_conversationsList guest conversationsA
Read-only
Inspect

List guest conversations (the unified inbox across channels), each with its latest message and linked reservation. Filter to one reservation. Hostaway: GET /v1/conversations.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return (1-500).
offsetNoRecords to skip from the start.
reservationIdNoOnly conversations for this reservation.
includeResourcesNoInclude attached sub-resources (sent as includeResources=1).

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already establishes this as a safe read, so the bar is lower, and the description earns some credit by disclosing the return shape (latest message and linked reservation per conversation) and the backing endpoint GET /v1/conversations. It says nothing about pagination, ordering, or default/max page size behavior beyond what the limit/offset params state.

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?

Three tight sentences: identity/scope first, then the filtering capability, then the API mapping. Every clause carries information and nothing is padded.

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?

With no output schema, the description usefully characterizes what each returned record contains and how to narrow results, and all four params are self-documented. The only material omission is pagination/ordering behavior for a list endpoint.

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 limit, offset, reservationId and includeResources are already fully documented and the baseline is 3. The description restates only the reservation filter ("Filter to one reservation") and adds no syntax or interaction detail beyond the schema.

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

Purpose4/5

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

The description gives a specific verb and resource ("List guest conversations") plus useful scope: "the unified inbox across channels", with each item carrying its latest message and linked reservation. This implicitly separates it from the sibling hostaway_list_conversation_messages, but it never names an alternative, so it stops short of full sibling differentiation.

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?

"Filter to one reservation" implies the main scoping use case, and the channel/inbox framing hints at when this list is the right call. However, there is no explicit when-to-use, when-not-to-use, or named alternative (e.g. use list_conversation_messages to read a thread), leaving routing to inference.

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

hostaway_list_expensesList expenses and extrasB
Read-only
Inspect

List expenses (negative amounts) and extras (positive amounts) recorded against listings and reservations, with date, concept, categories and the owner statements they appear on. Hostaway: GET /v1/expenses.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return (1-500).
offsetNoRecords to skip from the start.

TDQS

B3.2/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safety profile is covered. The description adds useful framing beyond that — the negative/positive sign semantics and the fact that records link to listings, reservations and owner statements — but says nothing about pagination limits, default ordering, or scope of the underlying GET /v1/expenses call.

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?

A single front-loaded sentence covering scope, semantics and returned fields, plus a compact API mapping. No padding, though the trailing endpoint reference is marginally redundant for an agent choosing a tool.

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?

With no output schema, the description usefully enumerates what comes back (date, concept, categories, owner statements). Pagination is covered by the schema. Only the absence of filtering-on-use guidance keeps it short of complete.

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% with only limit and offset, both fully documented in the schema itself. The description adds no parameter-level detail, so the baseline 3 is appropriate.

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

Purpose4/5

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

States a specific verb ('List') and resource ('expenses and extras'), and goes further by defining the sign convention (negative = expenses, positive = extras) and the fields returned. It is clearly a distinct resource from siblings like hostaway_list_reservations or hostaway_list_owner_statements, but never explicitly contrasts itself with them.

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

Usage Guidelines2/5

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

There is no when-to-use guidance, no exclusions, and no named alternative. The agent must infer from the name alone that this is the read path for expense data rather than the owner-statement path that expenses reportedly appear on.

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

hostaway_list_listingsList listingsA
Read-only
Inspect

List the account's properties (listings) with name, address, capacity, base price, fees and check-in times. Filter by name, city, country, property type, availability for a date range and guest count, or active/archived status. Hostaway: GET /v1/listings.

ParametersJSON Schema
NameRequiredDescriptionDefault
cityNoCity.
limitNoMaximum records to return (1-500).
matchNoSearch by listing name.
offsetNoRecords to skip from the start.
countryNoCountry.
sortOrderNoSort order.
specialStatusNoFilter by status; omit for both active and archived.
propertyTypeIdNoProperty type id.
includeResourcesNoInclude attached sub-resources (sent as includeResources=1).
availabilityDateEndNoOnly listings available until (YYYY-MM-DD).
availabilityDateStartNoOnly listings available from (YYYY-MM-DD).
availabilityGuestNumberNoOnly listings that fit this many guests.

TDQS

A3.6/5.0
Behavior3/5

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

readOnlyHint=true already tells the agent this is a safe, non-mutating read. The description adds the returned field set, which is useful, but says nothing about pagination behavior despite limit/offset parameters, nor about sort behavior or result volume. Adds some value beyond annotations, but not rich.

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 tight sentences: the first front-loads what is returned, the second delivers the filter surface, and the API endpoint tag is a compact, useful trailing note. No filler.

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?

With no output schema, the description compensates by naming the returned fields, and it covers the full filter surface. The only meaningful gap is the absence of pagination guidance for a list tool that exposes limit/offset and can return up to 500 records.

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 every one of the 12 parameters is already documented in the schema, making 3 the baseline. The description echoes the filter set but adds no format or interaction detail beyond what the schema provides (e.g. it doesn't explain how availability date range interacts with guest count).

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

Purpose4/5

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

States a specific verb (List) and resource (the account's properties/listings) and enumerates the fields returned, so the agent knows exactly what comes back. It doesn't explicitly differentiate itself from the sibling hostaway_get_listing, but 'list' vs 'get' is unambiguous enough that no confusion arises.

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 enumerates the available filter dimensions (name, city, country, type, availability window, guest count, status), which implies usage but never states when to pick this over hostaway_get_listing or how the filters combine. No exclusions or prerequisites are given.

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

hostaway_list_owner_statementsList owner statementsA
Read-only
Inspect

List the account's owner statements (id and name). Hostaway: GET /v1/ownerStatements.

ParametersJSON Schema
NameRequiredDescriptionDefault

No parameters

TDQS

A3.7/5.0
Behavior3/5

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

Annotations already declare readOnlyHint=true, so the safe-read profile is covered. The description adds the underlying endpoint (GET /v1/ownerStatements) and the returned shape (id and name), but says nothing about pagination, rate limits, or auth.

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 short sentences, zero waste, purpose front-loaded before the API reference. Every clause earns its place.

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?

For a parameterless read-only list with no output schema, the description covers purpose, return fields, and endpoint, which is nearly everything an agent needs. Only pagination/volume behavior is left unstated.

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?

The tool takes zero parameters, so the baseline is 4; there is nothing for the description to disambiguate beyond the documented return fields.

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

Purpose4/5

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

States a specific verb+resource ('List the account's owner statements') and even names the returned fields (id and name). It is distinguishable from the singular sibling hostaway_get_owner_statement by the plural/list framing, but it never explicitly contrasts with it.

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?

Usage is only implied: the agent must infer that 'List' means enumerate all statements while the sibling get_owner_statement fetches a single one. There is no explicit when-to-use, prerequisite, or alternative named.

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

hostaway_list_reservationsList reservationsA
Read-only
Inspect

List reservations across all channels (Airbnb, Vrbo, Booking.com, direct…) with guest, dates, status, price and channel. Filter by listing, channel, arrival/departure window, guest name or email, unread messages, and more. Default order is newest first; for large accounts page with afterId (the id of the last reservation on the previous page). Channel ids: 2000 direct, 2018 airbnbOfficial, 2002 homeaway/Vrbo, 2005 bookingcom, 2007 expedia, 2013 bookingengine, 2019 marriott, 2020 partner, 2022 google. Hostaway: GET /v1/reservations.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return (1-500).
matchNoSearch by guest name.
offsetNoRecords to skip from the start.
afterIdNoCursor: the id of the last reservation from the previous page (offset is then ignored).
endDateNoUpper bound for dateType (YYYY-MM-DD).
dateTypeNoWhich date startDate/endDate bound (only on accounts with the new reservations query; 'cancellation' also restricts to cancelled).
channelIdNoOnly this channel id.
isStarredNoOnly starred.
listingIdNoOnly reservations for this listing.
sortOrderNoSort order.
startDateNoLower bound for dateType (YYYY-MM-DD).
guestEmailNoFilter by guest email.
isArchivedNoArchived or not.
arrivalEndDateNoArrival on or before (YYYY-MM-DD).
assigneeUserIdNoOnly reservations assigned to this user.
arrivalStartDateNoArrival on or after (YYYY-MM-DD).
departureEndDateNoDeparture on or before (YYYY-MM-DD).
includeResourcesNoInclude attached sub-resources (sent as includeResources=1).
latestActivityEndNoLatest activity on or before (YYYY-MM-DD).
departureStartDateNoDeparture on or after (YYYY-MM-DD).
latestActivityStartNoLatest activity on or after (YYYY-MM-DD).
includeCancellationPolicyNoAttach the cancellation-policy snapshot to each reservation.
hasUnreadConversationMessagesNoOnly reservations with unread guest messages.

TDQS

A4.3/5.0
Behavior4/5

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

readOnlyHint already declares this a safe read, yet the description adds real context: default newest-first ordering, cursor semantics for afterId, and the caveat that dateType "only on accounts with the new reservations query." It stops short of mentioning auth needs or result caps.

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?

Front-loads purpose, then filters, then pagination and lookup data. Every clause serves a purpose, though the long channel-id enumeration makes it denser than ideal. No filler sentences.

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?

For a 23-parameter, zero-required list tool with no output schema, the description covers what is returned, how to filter, ordering, and pagination. Auth/error behavior is omitted, but that is a minor gap given the read-only annotation.

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, but the description adds the channel-id legend (2000 direct, 2018 airbnbOfficial, 2002 homeaway/Vrbo, ...), which the channelId property schema does not provide. That is genuine meaning beyond the structured field.

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?

Opens with a specific verb+resource ("List reservations") and enumerates the payload shape (guest, dates, status, price, channel), so the agent knows exactly what comes back. The "across all channels" scope plus the endpoint reference cleanly separates it from the get_reservation/update_reservation siblings.

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?

States the filtering dimensions (listing, channel, arrival/departure window, guest name/email, unread messages) and gives concrete pagination guidance ("for large accounts page with afterId"). No explicit when-not or named alternative, but the usage context is unambiguous.

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

hostaway_list_reviewsList reviewsA
Read-only
Inspect

List guest-to-host and host-to-guest reviews with rating (0-10), public review, private feedback and the host's reply. Filter by listings, reservation, type, status, rating range, dates, guest name, or whether the host has replied. Hostaway: GET /v1/reviews.

ParametersJSON Schema
NameRequiredDescriptionDefault
typeNoReview direction.
limitNoMaximum records to return (1-500).
offsetNoRecords to skip from the start.
sortByNoSort field.
statusesNoReview statuses.
guestNameNoPartial, case-insensitive guest-name match.
ratingMaxNoMaximum rating (0-10).
ratingMinNoMinimum rating (0-10).
sortOrderNoSort direction (default desc).
hasHostReplyNotrue = only replied-to reviews; false = only unanswered.
listingMapIdsNoOnly reviews for these listing ids.
reservationIdNoHostaway reservation id.
submittedAtEndNoSubmitted on or before (YYYY-MM-DD).
departureDateEndNoReservation departure on or before (YYYY-MM-DD).
submittedAtStartNoSubmitted on or after (YYYY-MM-DD).
departureDateStartNoReservation departure on or after (YYYY-MM-DD).

TDQS

A3.9/5.0
Behavior4/5

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

Annotations only declare readOnlyHint=true; the description goes further by disclosing the shape of the returned records (rating scale, public vs private feedback, host reply) and the underlying endpoint. It omits pagination/rate-limit behavior, but adds genuine context beyond the annotation.

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?

Two sentences, front-loaded with the core action and result payload, then the filter surface. The filter enumeration is long but each item maps to a real parameter, so it earns its place; slight density rather than waste.

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?

For a read-only list tool with a fully documented 16-parameter schema and no output schema, the description usefully covers what comes back and how to narrow it. It lacks any note on pagination or result size limits, which is the main remaining gap.

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 every parameter is already documented with format and bounds. The description's filter list restates categories that map to those parameters without adding syntax or semantics beyond the schema, which is the baseline 3 case.

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?

States a specific verb (List) and resource (reviews), including both review directions and the fields returned (rating, public review, private feedback, host reply). No sibling tool touches reviews, so it is unambiguous among the listed 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 enumeration of filters implies how the tool is used, but there is no explicit when-to-use/when-not guidance or named alternative. With no review-related siblings the routing risk is low, so implied usage is adequate rather than strong.

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

hostaway_list_tasksList tasksB
Read-only
Inspect

List operational tasks (cleaning, maintenance, check-in/out) with assignee, status, time window and cost. Filter by reservation, status, text match, channel, or start/deadline windows. Hostaway: GET /v1/tasks.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoMaximum records to return (1-500).
matchNoText search.
offsetNoRecords to skip from the start.
statusNoTask status.
channelIdNoChannel id.
reservationIdNoOnly tasks for this reservation.
shouldEndByEndNoDeadline until (YYYY-MM-DD).
canStartFromEndNoStart window until (YYYY-MM-DD).
shouldEndByStartNoDeadline from (YYYY-MM-DD).
canStartFromStartNoStart window from (YYYY-MM-DD).

TDQS

B3.4/5.0
Behavior3/5

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

readOnlyHint=true already declares this is a safe read, so the bar is lower. The description adds useful context by mapping to the underlying GET /v1/tasks endpoint and naming the return fields (assignee, status, time window, cost), but says nothing about pagination behavior or ordering despite limit/offset parameters.

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 compact sentences: the first front-loads what is listed and what comes back, the second covers filtering and the API mapping. No filler or 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?

For a 10-parameter list tool with no output schema, the description supplies the return-field summary and all filter categories, which is nearly enough. The only real gap is pagination/ordering behavior, which isn't covered by annotations or an output schema.

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 every parameter is already documented in the schema (including the status enum and date patterns). The description restates the filter dimensions but adds no syntax, format, or precedence detail beyond what the schema provides – baseline 3.

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

Purpose4/5

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

States a specific verb (List) and resource (operational tasks) and even enumerates task types (cleaning, maintenance, check-in/out). It is clear what the tool does, but it never names its create/update_task siblings or explicitly frames itself as the read counterpart, so sibling differentiation is left to the name.

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

Usage Guidelines2/5

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

The second sentence enumerates filter dimensions (reservation, status, text match, channel, start/deadline windows), which is capability description rather than when-to-use guidance. There is no statement of when this tool should be chosen over hostaway_list_reservations, hostaway_create_task, or hostaway_update_task, and no exclusions.

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

hostaway_send_messageSend a guest messageA
Destructive
Inspect

Send a message to the guest in a conversation — it is delivered immediately and cannot be recalled. Delivered by email by default, or via the booking channel, SMS or WhatsApp. Attachments are not supported. Rate-limited by Hostaway to 30 messages per minute. Hostaway: POST /v1/conversations/{conversationId}/messages.

ParametersJSON Schema
NameRequiredDescriptionDefault
bodyYesMessage text.
conversationIdYesConversation id (see hostaway_list_conversations).
communicationTypeNoDelivery method (Hostaway default: email).

TDQS

A4.3/5.0
Behavior5/5

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

Annotations supply only destructiveHint=true, so the description carries most of the burden and does so well: immediate delivery, irreversibility, unsupported attachments, delivery-channel options, and a concrete 30 msg/min rate limit. This is exactly the extra context annotations cannot convey.

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?

One dense, front-loaded sentence followed by the upstream endpoint reference. Nothing is padded; the irreversibility warning and rate limit are placed where an agent will read them.

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?

A 3-parameter non-destructive-disclosed mutation with full schema coverage and no output schema. The description fills the remaining gaps — irreversibility, delivery mechanics, rate limit — so an agent has everything needed to invoke it 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 description coverage is 100%, so the baseline is 3. The description restates the delivery methods and default email, which the enum and schema description already document, adding no new syntax or format detail for conversationId or body.

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?

States a specific verb+resource (send a message to the guest in a conversation) and scopes it clearly. No sibling tool sends messages — the other conversation tools are read-only listers — so an agent can distinguish it readily.

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?

Usage is implied by the action (reply to a guest) and the description warns the message cannot be recalled, which is a useful decision cue. However, it never states when to choose this over other communication paths or any prerequisites (valid conversation, permissions).

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

hostaway_update_calendarUpdate listing calendarA
Destructive
Inspect

Change availability and/or pricing for a date range on one listing, pushed to every connected channel: block (isAvailable=false) or open days, set the nightly price, min/max stay, closed-to-arrival/departure, or a note. For multi-unit listings set desiredUnitsToSell instead of isAvailable (0 blocks). Hostaway: PUT /v1/listings/{listingId}/calendar.

ParametersJSON Schema
NameRequiredDescriptionDefault
noteNoCalendar note.
priceNoNightly price.
endDateYesLast day to change (YYYY-MM-DD).
listingIdYesListing id.
startDateYesFirst day to change (YYYY-MM-DD).
isAvailableNofalse blocks the days, true opens them (single-unit listings).
maximumStayNoMaximum nights.
minimumStayNoMinimum nights.
closedOnArrivalNoClosed to arrival.
closedOnDepartureNoClosed to departure.
desiredUnitsToSellNoMulti-unit listings: units to sell (0 blocks).

TDQS

A4.3/5.0
Behavior4/5

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

Annotations only supply destructiveHint=true, so the description carries the rest of the burden. It discloses a critical behavioral trait beyond the annotation: changes are 'pushed to every connected channel', warning the agent of external propagation effects. It also explains blocking semantics, though it omits permission requirements 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.

Conciseness4/5

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

Two front-loaded sentences covering behavior, parameter choice, and the underlying endpoint. Little waste; the endpoint reference is useful for traceability. Dense but not bloated.

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?

For an 11-parameter mutation tool with no output schema, the description covers purpose, the key single-vs-multi-unit decision, and channel-propagation behavior, which is sufficient to invoke correctly. It stops short of detailing side effects on existing calendar entries or error conditions, leaving minor gaps.

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 description coverage is 100%, so the baseline is 3. The description nonetheless adds real meaning beyond the schema: the multi-unit rule (desiredUnitsToSell instead of isAvailable, 0 blocks) and the isAvailable=false blocking semantics are interpretive guidance the schema fields alone do not convey.

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?

States a specific verb and resource ('Change availability and/or pricing for a date range on one listing') with enough scope detail to separate it from siblings like hostaway_get_calendar or hostaway_update_reservation. The enumeration of editable facets (block, price, min/max stay, closed-to-arrival/departure, note) makes the boundary of the operation clear.

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 conditional guidance for choosing between parameters: 'For multi-unit listings set desiredUnitsToSell instead of isAvailable (0 blocks).' This tells the agent which field to pick based on listing type. It does not explicitly name alternative tools or state when not to use this tool, so it falls short of a 5.

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

hostaway_update_reservationUpdate a reservationA
Destructive
Inspect

Change fields on an existing reservation — guest details and counts, dates, check-in/out hours, door code, host note or comment. Send only the fields to change. The listing cannot be changed, and this tool never cancels or reprices a booking. Date changes on channel bookings may be overwritten by the channel. Hostaway: PUT /v1/reservations/{reservationId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
petsNoPets.
phoneNoGuest phone, e.g. +15125551212.
adultsNoAdults.
commentNoFree-text comment.
infantsNoInfants.
childrenNoChildren.
doorCodeNoDoor / lock code for this stay.
hostNoteNoInternal host note (not shown to the guest).
guestCityNoGuest city.
guestNameNoGuest full name.
guestNoteNoNote from the guest.
guestEmailNoGuest email.
arrivalDateNoNew arrival date (YYYY-MM-DD).
checkInTimeNoCheck-in time (hour of day, 0-23).
checkOutTimeNoCheck-out time (hour of day, 0-23).
guestAddressNoGuest street address.
guestCountryNoGuest country (ISO 3166 code, e.g. US).
guestZipCodeNoGuest ZIP / postal code.
departureDateNoNew departure date (YYYY-MM-DD).
guestLastNameNoGuest last name.
reservationIdYesHostaway reservation id.
doorCodeVendorNoLock vendor.
guestFirstNameNoGuest first name.
numberOfGuestsNoTotal number of guests.
doorCodeInstructionNoDoor-code instructions.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations only declare destructiveHint=true; the description adds meaningful behavior beyond that — partial-update semantics, immutability of the listing field, no cancel/reprice side effects, and the channel-overwrite caveat on dates. It omits permission/auth requirements and what the response returns, which keeps it from a 5.

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?

Three tight sentences, front-loaded with the verb and scope, followed by the partial-update rule and then the constraints. Every clause carries information; no filler.

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?

For a 25-parameter mutation with no output schema and only a destructiveHint annotation, the description covers scope, partial-update mechanics, hard exclusions and a channel-specific risk. Auth/permission requirements and the shape of the result are unstated, but the essential operational picture is present.

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 the baseline is 3, but the description adds real semantics beyond the schema: the instruction that only changed fields should be sent (all 24 optional params are partial-update inputs) and that listing must not be provided. It does not clarify formats like the arrivalDate/departureDate pairing or door-code vendor interaction.

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?

States a specific verb (change fields on an existing reservation) plus the resource and the field categories affected (guest details, dates, door code, notes). It also names what it is not relative to siblings: not a create, not a cancel, not a reprice.

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?

Gives concrete operating context: 'Send only the fields to change' (partial update), listing is immutable via this tool, and date changes on channel bookings may be overwritten. It does not explicitly say when to prefer this over siblings like hostaway_update_calendar or hostaway_create_reservation, so it falls short of a 5.

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

hostaway_update_taskUpdate a taskA
Destructive
Inspect

Update a task — change its status (e.g. completed), reassign it, move its window, or add a resolution note. Send only the fields to change. Hostaway: PUT /v1/tasks/{taskId}.

ParametersJSON Schema
NameRequiredDescriptionDefault
costNoTask cost.
colorNoColour in hex, e.g. #FF8800.
titleNoTask title.
statusNopending, confirmed, inProgress, completed or cancelled.
taskIdYesTask id.
priorityNoPriority.
descriptionNoTask description.
shouldEndByNoDeadline ("YYYY-MM-DD HH:MM:SS", UTC).
canStartFromNoEarliest start time ("YYYY-MM-DD HH:MM:SS", UTC).
costCurrencyNoCost currency, e.g. USD.
listingMapIdNoListing id the task belongs to.
categoriesMapNoCategories: 1 cleaning, 2 maintenance, 3 check-in, 4 check-out, 5 back office, 6 other.
reservationIdNoReservation id the task relates to.
assigneeUserIdNoUser id to assign the task to.
resolutionNoteNoResolution note.
costDescriptionNoCost description.
supervisorUserIdNoSupervisor user id.

TDQS

A3.8/5.0
Behavior3/5

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

Annotations only declare destructiveHint=true, so the description carries most of the burden. It usefully discloses PATCH-style partial-update semantics ('Send only the fields to change') and the underlying endpoint (PUT /v1/tasks/{taskId}), but says nothing about permissions, whether omitted fields are reset, status-transition rules, or error behavior.

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 tight sentences: the mutation capabilities are front-loaded, the partial-update rule follows, and the endpoint is parenthetical. No filler.

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?

For a 17-parameter mutation with no output schema, the description covers the essential call mechanics (which fields, partial update, endpoint) and the schema covers parameter detail fully. It stops short of return/error behavior, but the partial-update convention is the main thing an agent needs and it is present.

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% across 17 parameters, so the schema already documents each field, including the status enum and date formats. The description only restates a few examples (e.g. completed, resolution note) and adds no format or constraint detail beyond the schema, making the baseline 3 correct.

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?

States a specific verb and resource plus an enumeration of what can change (status, assignee, window, resolution note), which lets an agent distinguish this from create_task and list_tasks without opening any schema.

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?

Usage context is implied by the name and the listed mutation types, and 'Send only the fields to change' gives a partial-update convention. However, there is no explicit when-to-use/when-not split versus hostaway_update_reservation or hostaway_create_task, and no stated prerequisites.

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.

  1. 20 tool updates
    • First observedhostaway_calculate_price
    • First observedhostaway_create_reservation
    • First observedhostaway_create_task
    • First observedhostaway_get_calendar
    • First observedhostaway_get_listing
    • First observedhostaway_get_owner_statement
    • First observedhostaway_get_reservation
    • First observedhostaway_get_reservation_logs
    • First observedhostaway_list_conversation_messages
    • First observedhostaway_list_conversations
    • First observedhostaway_list_expenses
    • First observedhostaway_list_listings
    • First observedhostaway_list_owner_statements
    • First observedhostaway_list_reservations
    • First observedhostaway_list_reviews
    • First observedhostaway_list_tasks
    • First observedhostaway_send_message
    • First observedhostaway_update_calendar
    • First observedhostaway_update_reservation
    • First observedhostaway_update_task

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    Not graded
    maintenance
    Enables AI assistants to interact with Hostaway's property management platform through standardized MCP tools. Provides access to listings, bookings, guest communication, and availability checking for vacation rental management.
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    Enables AI assistants to query reservations, listings, calendars, financials, and guest conversations from the Hostaway property management API using natural language.
    36 npm
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Connects AI assistants to the Hostaway property management API via 10 read-only tools covering listings, reservations, calendars, guest conversations, and owner statements.
    10
    577 npm
    2
    MIT
  • A
    license
    A
    quality
    C
    maintenance
    Provides read-only access to Hostaway PMS data, enabling assistants to answer questions about listings, calendars, reservations, and inbox threads, and generate occupancy, inbox, and completeness reports without writing or sending anything.
    11
    35 npm
    MIT
Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.