Skip to main content
Glama

Honee – cruise · honeefy

Server Details

Find bookable sea and river cruises; ports, ships, cruise lines and an advisor opinion.

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-11-25
URL

TDQS

A4.1/5.0

Scored across 7 tools

Disambiguation4/5

Each tool has a distinct action (find=search, show=display, advise=opinion, *_profile/facts/port_info=reference data). However, the cluster of informational tools (cruise_line_profile, ship_profile, port_info, booking_facts, advise) shares a similar 'give me info about X' shape, which could tempt an agent to pick the wrong one.

Naming Consistency3/5

All snake_case, so formatting is uniform, but the convention is mixed: some are verb_noun (find_cruises, show_offers, advise) and others are bare noun phrases (booking_facts, cruise_line_profile, port_info, ship_profile). Readable but not a single predictable pattern.

Tool Count5/5

7 tools is well-scoped for a cruise-advisory server, and each tool clearly earns its place (search, display, opinion, and three reference lookups).

Completeness4/5

The surface covers the core cruise consultation lifecycle: search offers, present recommendations, advise on a specific offer, and look up line/ship/port/booking facts. Minor gaps remain (no explicit cabin/fare selection or direct booking tool), but the booking link in results means agents can work around it.

Available Tools

7 tools
adviseAdvisor's opinion on one offerA
Read-onlyIdempotent
Inspect

Asks the provider's cruise advisor for a short, honest opinion on ONE offer from find_cruises: overall fit, or which cabin category or fare suits the travellers. Use it ONLY when the user asks about ONE specific offer ('is this right for me', 'which cabin', 'which fare') -- not after every find_cruises and never for a whole list. Quote the opinion as the advisor's. It does NOT search, book or compare several offers; it is limited to a few calls per consultation.

ParametersJSON Schema
NameRequiredDescriptionDefault
focusNoWhat the opinion should focus on.
handleNoConsultation handle returned by a previous call (structuredContent.handle). Pass it on every call so wishes are remembered; omit it on the very first call.
languageNoLanguage of the answer. Defaults to the provider's language.
cruise_idYescruise_id of an offer returned by find_cruises.
travellersNoOptional short description of the travel party, e.g. 'couple, first cruise'.

TDQS

A4.6/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent and non-destructive, so the safety profile is covered; the description adds genuinely new behavior: a per-consultation call budget ('limited to a few calls') and the requirement to attribute the output as the advisor's. It stops short of describing how the opinion is returned or how the handle drives follow-up state, which keeps it below 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?

Every sentence carries distinct load: purpose, trigger, exclusion, attribution rule, call budget. The scope constraint ('ONE offer') is front-loaded and there is 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?

There is no output schema, and the description covers what matters most: what the tool returns conceptually, that it must be quoted as the advisor's, and its call-frequency limit. It omits how the returned handle should be threaded into subsequent calls, a small gap against a five-parameter tool with stateful follow-up.

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 meaning: cruise_id must be an offer produced by find_cruises, focus is implicitly enumerated via 'overall fit, or which cabin category or fare', and the mention of a 'consultation' contextualises the handle parameter's continuity role.

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 ('asks the provider's cruise advisor for a short, honest opinion on ONE offer from find_cruises') and explicitly bounds the subject to a single offer. It is immediately distinguishable from find_cruises (search) and other profile siblings by naming what it is not: a searcher, booker, or comparator.

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

Usage Guidelines5/5

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

Gives explicit when-to-use triggers ('is this right for me', 'which cabin', 'which fare') and equally explicit exclusions ('not after every find_cruises', 'never for a whole list'). The agent needs no inference to decide between this and find_cruises.

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

booking_factsWho books, who protects the paymentA
Read-onlyIdempotent
Inspect

Returns the provider's own statement on booking: who the tour operator is, who acts as agent, how the customer's payment is protected (insolvency cover), how payment and cancellation work -- plus links to the legal pages. Use it when the user asks whether booking here is safe, who they are contracting with, or how payment is protected. It does NOT give legal advice and returns nothing if the provider has not published these facts.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleNoConsultation handle returned by a previous call (structuredContent.handle). Pass it on every call so wishes are remembered; omit it on the very first call.
languageNoLanguage of the answer. Defaults to the provider's language.

TDQS

A4.4/5.0
Behavior4/5

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

Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered structurally. The description adds real behavioral context beyond that: the tool may return nothing when facts are unpublished, and it disclaims legal advice. It doesn't say how the facts are sourced or aged, which keeps it short of 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?

Front-loaded with the return payload, then usage, then caveats — a sensible ordering with no filler sentences. It is a dense run-on sentence, but every clause carries distinct information, so it stays efficient rather than bloated.

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 takes on the burden of describing returns and does so by enumerating the fact categories the tool surfaces. Combined with usage triggers and the empty-result caveat, an agent has everything needed to call 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%, and both parameters (handle, language) are documented in the schema itself, including the handle's carry-forward semantics. The description adds nothing about either parameter, so the 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 (returns) plus specific resource (the provider's own statement on booking), with the returned content enumerated: operator identity, agency role, insolvency cover, payment and cancellation terms, legal page links. An agent can distinguish this from ship_profile, cruise_line_profile, and advise 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 Guidelines5/5

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

Explicit when-to-use triggers are given ('whether booking here is safe, who they are contracting with, or how payment is protected'), plus an explicit exclusion ('does NOT give legal advice') and an edge-case behavior ('returns nothing if the provider has not published these facts'). That is when, when-not, and empty-result handling in one pass.

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

cruise_line_profileCruise line profileA
Read-onlyIdempotent
Inspect

Returns the consulting profile of a cruise line: who it suits, who it suits less, its style and fleet. Use it when the user asks which cruise line fits them or what a line is like. It does NOT return prices, offers or booking conditions.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleNoConsultation handle returned by a previous call (structuredContent.handle). Pass it on every call so wishes are remembered; omit it on the very first call.
languageNoLanguage of the answer. Defaults to the provider's language.
cruise_lineYesCruise line name, e.g. 'MSC Cruises'.

TDQS

A4.3/5.0
Behavior4/5

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

Annotations already declare readOnly=true, idempotent=true, destructive=false and closed-world, so the safety profile is covered. The description adds useful scope information about what the response contains and explicitly what it does not return, though it says nothing about the stateful handle/session continuity that a caller must maintain.

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 return contents first, then usage trigger, then the exclusion. Every clause earns its place and nothing is padded.

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?

There is no output schema, so the description carries the burden of describing return content, and it does so adequately by naming the profile facets. Combined with a fully documented schema and annotation-covered safety, an agent has everything needed to call this 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 handle, language and cruise_line are already fully documented in the schema, including the handle carry-forward rule. The description adds no parameter-level detail beyond that, so the 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 and resource (returns the consulting profile of a cruise line) and enumerates the payload (who it suits, style, fleet). It is clearly distinct from sibling ship_profile by operating on a line rather than a ship, but it never names siblings to sharpen the distinction.

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

Usage Guidelines5/5

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

Gives an explicit trigger ('when the user asks which cruise line fits them or what a line is like') plus a negative boundary that routes the agent to show_offers/booking_facts by excluding prices, offers and booking conditions. No inference required to pick this tool.

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

find_cruisesFind bookable cruisesA
Read-onlyIdempotent
Inspect

Searches the provider's LIVE, bookable sea and river cruise offers for a destination, a travel period and a travel party. Use it whenever the user asks about cruise offers, prices, dates or availability, wants to see, compare or book cruises: prices and availability change several times a day and this tool has the live availability for the traveller's party. Requires adults, period (or from_date/to_date) and destination — if any is missing, unusable or not a region this provider can search, the result lists a question for it and no search runs; ask the user, then call again with the same handle. For river cruises pass cruise_type='river' (a river name such as 'Danube' is recognised too). Sea cruises are shown WITHOUT a flight package by default; pass flight='with' to get the flight packages instead. Returns a summary plus up to 10 offers with cruise_id, ship, cruise line, dates, nights, price with currency (per person; for families the cabin total for the whole party where the provider computes it) and the booking link. Where the provider supports it, availability is checked LIVE for the top offers and each says whether it is confirmed; sold-out ones are removed. The list is a SAMPLE of the provider's matches: the result says how many exist and which cruise lines have sailings -- never conclude that a line is not offered because it is not listed; pass cruise_line to look for it. It does NOT show anything to the user, book, hold or price cabins, know availability beyond what it returns, or search by price alone. If you are recommending cruises, call show_offers ONCE afterward with the cruise_id values of your recommendation (3-5). Never invent offers that are not in the result.

ParametersJSON Schema
NameRequiredDescriptionDefault
limitNoHow many offers to return as data (3-10, default 10). The result also carries `total` and `links.all` (every match on the provider's search page).
portsNoPorts, islands or countries that must ALL be on the route (start, a stop or the end), e.g. ['Barbados', 'St. Lucia'] or the port cities ['Bridgetown', 'Castries'] -- an island/country entry matches any of its ports on the route. Names are matched in English; a translated name may find nothing, try the English or the specific port city instead.
adultsNoNumber of adults travelling.
flightNo'without' (default): cruise only. 'with': the provider's flight packages.
handleNoConsultation handle returned by a previous call (structuredContent.handle). Pass it on every call so wishes are remembered; omit it on the very first call.
periodNoTravel period as free text, e.g. 'summer 2027', 'October 2027', '2027-06-01 to 2027-06-30'.
to_dateNoLatest departure, ISO date. Alternative to period.
languageNoLanguage of the answer. Defaults to the provider's language.
from_dateNoEarliest departure, ISO date. Alternative to period.
nights_maxNoMaximum nights. Only if the user names a trip length; below 4 nights asks for short cruises first.
nights_minNoMinimum nights. Only if the user names a trip length.
cruise_lineNoCruise line(s) by name, e.g. 'MSC' or 'MSC, AIDA' (comma-separated). The search is filtered AT THE PROVIDER, so use it to look for a line the default list does not show.
cruise_typeNo'ocean': sea cruises. 'river': river cruises (Danube, Rhine, Moselle, Nile, ...). Omit it to derive it from the destination.
destinationNoRegion, country, sea or river in any language, e.g. 'Mediterranean', 'Norwegian fjords', 'Caribbean', 'Danube'. For a river cruise on any river pass 'river cruise'.
children_agesNoAge of each child at travel time. A child without an age is not searched for.
departure_portNoA single port that must be on the route (start, stop or end), e.g. 'Barcelona'. For several required ports use `ports` instead.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations only cover safety (readOnly/idempotent), but the description adds rich behavioral context: prices change several times a day, requiring adults/period/destination or the call fails with a question, handle reuse to remember wishes, river vs sea handling, sample-not-exhaustive results, live availability checks with sold-out removal. These are non-obvious behaviors an agent must know to use the tool correctly.

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

Conciseness3/5

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

Front-loaded with purpose and usage, but the description is a very long run-on paragraph with many clauses. It packs in a lot of useful behavior but could be structured better with breaks or bullet points for readability. Information density is high, but not optimally organized.

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

Completeness5/5

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

Given no output schema, the description fully explains the return shape (summary plus up to 10 offers with cruise_id, ship, line, dates, nights, price, booking link), how total matches are indicated, and the requirement to follow up with show_offers. Everything an agent needs to call and interpret results 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 schema already documents all 16 parameters thoroughly. The description adds cross-parameter semantics: 'cruise_type=river' recognition of river names, 'flight=with' toggling flight packages, handle reuse across calls, cruise_line used to filter at provider. It doesn't repeat the schema mechanically but adds contextual meaning exceeding baseline.

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 ('Searches the provider's LIVE, bookable sea and river cruise offers') and names the exact required inputs. It also explicitly lists what the tool is NOT ('does NOT show anything to the user, book, hold or price cabins... or search by price alone'), drawing sharp boundaries against siblings like show_offers.

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

Usage Guidelines5/5

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

Explicitly tells when to use it ('whenever the user asks about cruise offers, prices, dates or availability, wants to see, compare or book cruises'), how it routes to a sibling ('call show_offers ONCE afterward with the cruise_id values of your recommendation'), and lists exclusions. This is comprehensive routing guidance.

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

port_infoPort factsA
Read-onlyIdempotent
Inspect

Returns facts about a cruise port: country, port code, coordinates and how many routes call there. Use it when the user asks about a port of call or departure port. It does NOT provide excursions, sights, weather or transfer advice, and it knows only ports in the provider's catalogue.

ParametersJSON Schema
NameRequiredDescriptionDefault
portYesPort name, e.g. 'Barcelona'.
handleNoConsultation handle returned by a previous call (structuredContent.handle). Pass it on every call so wishes are remembered; omit it on the very first call.
languageNoLanguage of the answer. Defaults to the provider's language.

TDQS

A4.2/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds genuinely new context by stating it knows only ports in the provider's catalogue, which reinforces the closed-world constraint and tells the agent to expect misses outside that catalogue.

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 sentences, no filler. The high-value routing and exclusion information is front-loaded, and the closed-catalogue caveat is placed at the end where it belongs.

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 does the work of naming the returned fields, and annotations cover the safety profile, so an agent knows what it will get. The only omission is behavior when a port is not found in the catalogue or is ambiguous, which is minor for a read-only lookup 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%; the port, handle and language parameters are all documented in the schema, including the handle's continuation semantics and the language enum. The description adds no parameter-level detail beyond that, so the baseline of 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?

States a specific verb+resource ('Returns facts about a cruise port') and enumerates the exact facts returned: country, port code, coordinates, route count. It also distinguishes itself from adjacent content domains (excursions, sights, weather, transfers), so an agent can separate it from siblings like ship_profile or cruise_line_profile.

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 explicit triggering context ('when the user asks about a port of call or departure port') and a clear when-not list (no excursions, sights, weather, transfer advice). It stops short of naming which sibling tool to use instead for those needs, so it is strong but not fully routing.

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

ship_profileShip profileA
Read-onlyIdempotent
Inspect

Returns the profile of a cruise ship: cruise line, year built, size, passengers, crew and the consulting description. Use it when the user asks what a ship is like or wants to compare ships. It does NOT return deck plans, cabin numbers, live prices or availability.

ParametersJSON Schema
NameRequiredDescriptionDefault
shipYesShip name, e.g. 'AIDAcosma'.
handleNoConsultation handle returned by a previous call (structuredContent.handle). Pass it on every call so wishes are remembered; omit it on the very first call.
languageNoLanguage of the answer. Defaults to the provider's language.
cruise_lineNoOptional cruise line to disambiguate.

TDQS

A4/5.0
Behavior4/5

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

Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds genuine value by disclosing the information boundary (no deck plans, cabins, prices, availability) and the field set a caller can expect.

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 sentences: purpose plus returned fields first, then usage trigger and exclusions. No filler, and the most decision-relevant information is front-loaded.

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 listing the fields returned and the data explicitly out of scope. It omits any note on result size, caching, or handling of ambiguous ship names, but nothing needed to invoke the tool correctly 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?

Schema description coverage is 100%, so all four parameters (ship, handle, language, cruise_line) are already documented, including the handle's session-memory role and the language enum. The description adds no parameter-level detail beyond the schema, so the 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 and resource ('Returns the profile of a cruise ship') and enumerates the returned fields: cruise line, year built, size, passengers, crew, consulting description. The sibling 'cruise_line_profile' is not named, though the ship-vs-line distinction is inferable from the resource noun.

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 explicit triggers ('when the user asks what a ship is like or wants to compare ships') and a clear negative scope ('does NOT return deck plans, cabin numbers, live prices or availability'), which implicitly routes price/availability questions to booking_facts or show_offers. Alternatives are only implied, not named.

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

show_offersShow recommended cruisesA
Read-onlyIdempotent
Inspect

Shows the user the cruises you are recommending, as cards with ship photo, route, dates, price and booking link -- drawn by the host, not by you. Call it ONCE, as the LAST step of your answer, with the cruise_id values of a previous find_cruises result that you recommend (3-5, in your recommended order). Never call it before you have decided what to recommend, and never more than once per answer. It does NOT search; an unknown or expired cruise_id is left out and named in the result -- call find_cruises again if that happens.

ParametersJSON Schema
NameRequiredDescriptionDefault
handleNoConsultation handle returned by a previous call (structuredContent.handle). Pass it on every call so wishes are remembered; omit it on the very first call.
languageNoLanguage of the answer. Defaults to the provider's language.
cruise_idsYescruise_id values from a previous find_cruises result, 3-5, in your recommended order.

TDQS

A4.7/5.0
Behavior5/5

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

Annotations already cover the safety profile (readOnly, idempotent, non-destructive), yet the description adds genuinely new behavior: rendering is done by the host not the agent, invalid/expired ids are silently dropped and named in the result, and there is a strict once-per-answer invocation constraint.

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?

Front-loaded with the core action, then the invocation rules, then the failure mode. Every sentence carries operational information; 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 still tells the agent what the result contains (rendered cards) and what happens on bad input (id omitted and named in the result). An agent has everything needed to call it correctly and interpret the outcome.

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 schema already documents handle, language, and cruise_ids. The description restates the cruise_ids constraint (3-5, recommended order) but adds nothing about the handle or language parameters, so it only meets the baseline.

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 ('Shows the user the cruises you are recommending') plus the rendered form (cards with ship photo, route, dates, price, booking link), and explicitly negates the sibling behavior ('It does NOT search'), separating it cleanly from find_cruises.

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

Usage Guidelines5/5

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

Highly explicit: call ONCE, as the LAST step, with 3-5 cruise_id values from a previous find_cruises result in recommended order; never before deciding, never more than once per answer. It also names the recovery path (call find_cruises again) when ids are unknown or expired.

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. 7 tool updates
    • First observedadvise
    • First observedbooking_facts
    • First observedcruise_line_profile
    • First observedfind_cruises
    • First observedport_info
    • First observedship_profile
    • First observedshow_offers

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources