Sedna Genesis
Server Details
Customer-facing yacht search and charter request MCP server by Sedna System.
Glama couldn't complete the latest health check. If this server requires authentication, missing or expired test credentials may be the cause. A test profile lets Glama authenticate for health checks and discover tools; it is separate from your personal connections.
If you are the author, claim ownership, then add or update a test profile under Admin → Test Profile.
- Status
- Unhealthy
- Uptime
- 89.1% over 31 days
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-03-26
- URL
TDQS
Scored across 8 tools
Base_list and readme both provide rules, creating overlap; booking_detail and booking_detail_mod both return booking details but one is for modifications. Descriptions help differentiate, but ambiguity remains for which rules tool to use and when to call the mod variant.
Mostly snake_case, but Base_list uses a capital letter and the verb/noun order varies (search_boats vs booking_create vs boat_details). The pattern is inconsistent across the set.
8 tools is well-scoped for a boat search and booking workflow, covering search, details, pricing, modifications, booking submission, comparison, and rules. No tool feels redundant or missing for the core purpose.
The surface covers search, media details, availability/pricing, selection modification, comparison, and booking requests. Missing operations like booking cancellation or retrieving an existing booking, but these are minor gaps for a request-based system.
Available Tools
8 toolsBase_listARead-onlyInspect
Sedna System Rules & Available Bases
This tool provides the OFFICIAL rules and the COMPLETE list of available bases grouped by country for boat searching.
AI GUIDELINES (MUST FOLLOW):
Sedna-Only Data: Use ONLY data from Sedna tools. NO internet searches.
Fleet Neutrality: Remain 100% neutral. DO NOT favor any fleet.
Customer-Led Decision: Present facts objectively. Let the customer decide.
ID Accuracy: MUST use exact
id_tbf1andid_boatfromsearch_boatsresults. NEVER guess.Current Year Default: If no year is specified, use the CURRENT year, not next year.
CHECK BASE FIRST: ALWAYS use this tool (
Base_list) to find the exact base name BEFORE callingsearch_boats.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark the tool as read-only and non-destructive; the description adds context about the tool being the official/authoritative source and establishes the required pre-call ordering. It does not contradict the annotations and contributes useful behavioral context beyond them.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose is front-loaded and the numbered guidelines are clearly structured, but the description is verbose for a zero-parameter tool. Several guidelines (e.g., fleet neutrality, customer-led decision, current-year default) are broader AI conduct rules rather than details specific to invoking Base_list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a parameterless, read-only reference tool with no output schema, the description is complete: it states what content is returned, how it is organized, and the exact workflow position relative to search_boats. An agent has enough information to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters, so the baseline is 4. The description appropriately avoids parameter discussion, and the empty input schema fully covers the parameter surface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific function: it provides the official Sedna rules and the complete list of available bases grouped by country. It also signals how this reference relates to the search workflow, distinguishing it from the sibling search and booking tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly instructs the agent to always call Base_list before search_boats in order to find the exact base name. It also states the data-source constraint (Sedna-only, no internet searches), giving clear usage boundaries and naming the key alternative tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
boat_detailsARead-onlyInspect
Return yacht details and CDN-backed public URLs for yacht media.
This is the primary tool to call after search_boats whenever the customer asks to see yacht photos, a gallery, plans, videos or documents, or asks about layout, capacity, dimensions, equipment, description, crew or itinerary. When the client supports MCP Apps, render the attached inline Sedna gallery; otherwise display the public URLs returned under media.header, media.photos, media.plans, media.images, media.videos and media.documents. All media in this public tool comes through Sedna's CdnManager; missing CDN media is returned as an empty field and never replaced by a legacy DB URL. id_boat must be copied exactly from search_boats. This tool does not return date-specific prices, extras or availability; use booking_detail for those. Length and beam are optional fleet-supplied facts. When absent they are omitted, never returned as zero or estimated. Do not ask for either value or exclude a yacht unless the customer explicitly requires that dimension.
| Name | Required | Description | Default |
|---|---|---|---|
| id_boat | Yes | Exact yacht ID returned by search_boats. Never guess it. | |
| language | No | ISO language code supported by Sedna, for example en or fr. | en |
| sheet_type | No | bareboat or crewed. Use crewed for crew and itinerary data. | bareboat |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare a safe read (readOnlyHint, destructiveHint false), yet the description adds substantial behavioral context: media routing through Sedna's CdnManager, missing CDN media returned as empty rather than a legacy DB URL, MCP Apps inline gallery vs. raw URLs, and the omission semantics for optional length/beam. This is well beyond what the annotations convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose and post-search positioning are front-loaded, and most sentences carry distinct behavioral content (empty-vs-legacy URL rule, length/beam omission, booking_detail exclusion). It runs long with some density, but little is redundant given the absence of an output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry the return shape itself, and it does: media.header, media.photos, media.plans, media.images, media.videos and media.documents. Combined with the rendering fallback and the explicit statement of what it does not return, an agent has everything needed to call and interpret it.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3; the schema already documents id_boat, language, and sheet_type thoroughly. The description's 'id_boat must be copied exactly from search_boats' largely restates the schema's 'Never guess it,' adding only marginal value.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb and resource: return yacht details plus CDN-backed public URLs for yacht media. It also positions itself explicitly as "the primary tool to call after search_boats," which distinguishes it from siblings like booking_detail and compare_boats.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It names the trigger conditions (customer asks to see photos, gallery, plans, videos, documents, or layout/capacity/dimensions/crew/itinerary) and the alternative for pricing (use booking_detail for date-specific prices, extras, availability). It even gives a negative guideline: do not exclude a yacht or ask for length/beam absent an explicit customer requirement.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_createADestructiveInspect
Submits a request for a booking or a request for an option.
This action re-prices and submits the request. booking_detail_mod is a
stateless preview: selections made there are not stored automatically.
Therefore selected_extras MUST repeat every extra the customer selected,
using the exact id_opt and quantity. Pass an empty list only when the
customer selected no optional extras. Never report an extra as selected
unless this tool's saved_extras verification confirms it.
Full client details (name, email, phone) are required to submit the request. **** strong rule: AI should not guess or input customer information on its own. It must ask customers to input it on its own.
| Name | Required | Description | Default |
|---|---|---|---|
| pax | Yes | Number of passengers. | |
| mode | No | The type of creation, 'booking' or 'option' (defaults to 'booking'). | booking |
| dateEnd | Yes | The end date (DD/MM/YYYY). | |
| id_boat | Yes | The unique boat identifier. | |
| id_tbf1 | Yes | The TBF1 identifier for the booking. | |
| dateStart | Yes | The start date (DD/MM/YYYY). | |
| client_name | Yes | The client's full name. | |
| client_email | Yes | The client's valid email address. | |
| client_phone | Yes | The client's contact phone number. | |
| selected_extras | Yes | Required complete selection. Example: [{"id_opt": 123, "selected": true, "quantity": 1}]. Use [] only when no optional extra was selected. | |
| arrival_selected | No | ||
| currency_id_devise | No | ||
| departure_selected | No | ||
| arrival_port_pay_option | No | ||
| departure_port_pay_option | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare destructiveHint=true and readOnlyHint=false, and the description adds real behavioral context beyond them: the action re-prices before submitting, selections are not auto-persisted from the preview tool, and submitted extras must be verified via saved_extras. It does not cover auth requirements, error modes, or how the saved_extras verification is surfaced, so it stops 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core purpose in the first sentence and keeps each following sentence on a distinct, useful point (repricing, preview contrast, extras repetition, client data, no-guessing rule). Minor waste: leftover markdown backticks and the embedded '**** strong rule' formatting are noisy, but content is dense rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 15-parameter, 9-required mutation with no output schema, the description covers the highest-risk pieces (extras fidelity, client data, submission semantics) but leaves the arrival/departure, currency, and port-pay parameters unexplained. An agent would have to infer those from terse schema text alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, so the schema documents most parameters. The description adds meaningful semantics for selected_extras (must repeat every extra with exact id_opt and quantity, empty list only when nothing was selected) and for the client_* fields, but it says nothing about arrival_selected, departure_selected, currency_id_devise, arrival_port_pay_option, or departure_port_pay_option.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (submits) and resource (booking/option request) and explicitly contrasts this action with booking_detail_mod, which is called out as a stateless preview. An agent can distinguish this from siblings like booking_detail and booking_detail_mod without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing conditions: use this to actually submit, use booking_detail_mod only to preview. It also states prerequisites (full client details required) and the strong rule that the AI must not invent customer data but must ask the customer — a clear when/when-not instruction.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_detailARead-onlyInspect
Return date-specific availability, pricing, extras and booking choices.
Use id_boat and id_tbf1 exactly as returned by search_boats. This tool is for a selected yacht and charter period. Do not call this tool only to see yacht photos or media; call boat_details with the exact id_boat instead. Any Images included here are supplemental booking-context images, while boat_details is the canonical source for the complete public media URLs.
Show all optional extras. After the customer changes extras, passenger count, currency, ports or payment options, call booking_detail_mod and use only its server-calculated totals. When asked for the total, quote customer_cost_summary.full_customer_cost; deposits are returned separately and are not included in that amount. Finally, offer a request for an option or a request for a booking.
| Name | Required | Description | Default |
|---|---|---|---|
| pax | Yes | Number of passengers. | |
| dateEnd | Yes | End date in DD/MM/YYYY format. | |
| id_boat | Yes | Exact yacht ID returned by search_boats. | |
| id_tbf1 | Yes | Exact pricing ID returned by search_boats. | |
| dateStart | Yes | Start date in DD/MM/YYYY format. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, it discloses output semantics (images here are supplemental; boat_details is canonical), a workflow constraint (use only booking_detail_mod's server-calculated totals after changes), and a pricing caveat (quote customer_cost_summary.full_customer_cost; deposits are returned separately and excluded). This is substantive context the annotations cannot carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and every sentence carries routing, constraint, or output information. It is somewhat dense with branching instructions (media, extras, totals, final offers) that could be tightened, but nothing is pure filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and a read-only annotation, the description compensates by naming the response fields an agent needs (customer_cost_summary.full_customer_cost, separate deposits) and by specifying the follow-up tools for mutation and booking. An agent has enough to call and interpret this tool correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so all five parameters are already documented in the schema, including the DD/MM/YYYY formats. The description adds only the sourcing constraint for id_boat/id_tbf1 ('exactly as returned by search_boats'), which the schema phrasing partly mirrors, so the baseline of 3 holds.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource ('Return date-specific availability, pricing, extras and booking choices') and immediately distinguishes itself from the sibling boat_details for media. An agent can tell what this tool is for and what it is not for without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing: call boat_details instead when only photos/media are wanted, and call booking_detail_mod after the customer changes extras, passengers, currency, ports or payment options. It also states the prerequisite that id_boat and id_tbf1 must come verbatim from search_boats.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
booking_detail_modARead-onlyInspect
Apply customer selections and return server-recalculated booking details.
Copy id_boat and id_tbf1 from search_boats. Sedna is the only source of truth for prices: never calculate totals in the LLM. Send selected extras, passenger count, currency, ports and payment options here, then present the complete updated summary returned by the server. This is a stateless price preview and does not save the selection. If the customer proceeds, repeat the complete selected_extras list in booking_create. When the customer asks for the new total, quote customer_cost_summary.full_customer_cost. Explain payable_now and payable_at_base separately; never add them in the LLM, and keep the refundable deposit separate.
| Name | Required | Description | Default |
|---|---|---|---|
| pax | Yes | Number of passengers. | |
| dateEnd | Yes | End date in DD/MM/YYYY format. | |
| id_boat | Yes | Exact yacht ID returned by search_boats. | |
| id_tbf1 | Yes | Exact pricing ID returned by search_boats. | |
| dateStart | Yes | Start date in DD/MM/YYYY format. | |
| selected_extras | No | Selected extras with id_opt, selected and quantity. | |
| arrival_selected | No | Selected arrival port ID. | |
| currency_id_devise | No | Currency ID present in booking_detail rates. | |
| departure_selected | No | Selected departure port ID. | |
| arrival_port_pay_option | No | base or now. | |
| departure_port_pay_option | No | base or now. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already mark this readOnly/non-destructive, and the description is consistent with that ('stateless price preview and does not save the selection'). Beyond that it discloses real behavioral constraints: Sedna is the only source of truth for prices, never compute totals in the LLM, do not add payable_now to payable_at_base, and keep the refundable deposit separate. This is rich, non-obvious operational context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Reasonably sized and front-loaded with the core purpose and the price-authority rule. Every sentence carries an instruction the agent needs, though a couple of lines drift toward downstream output handling rather than the call itself. No filler or tautology.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an 11-parameter tool with no output schema, the description compensates well: it names the return fields to quote (customer_cost_summary.full_customer_cost, payable_now, payable_at_base, refundable deposit) and explains how to present them. Combined with workflow and price-authority guidance, an agent has what it needs 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.
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 cross-tool provenance (id_boat/id_tbf1 come from search_boats) and semantic handling of selected_extras (send the complete list, and repeat it in booking_create). It also frames currency, ports and payment options as inputs. This meaningfully exceeds what the schema text alone conveys.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: applies customer selections and returns server-recalculated booking details, and clarifies it is a stateless price preview that does not persist. It implicitly separates itself from booking_create (the save step). It doesn't address why one would pick booking_detail_mod over the sibling booking_detail, 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.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear workflow context: copy id_boat/id_tbf1 from search_boats, and if the customer proceeds, repeat the extras in booking_create. The when-not-to-use case (this preview does not save) is explicit. No guidance on choosing between booking_detail and booking_detail_mod, which are the closest siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_boatsARead-onlyInspect
Compare 2 to 4 boats using Sedna's date-specific customer pricing.
boat_ids: list of 2..4 boat ids
pax: customer passenger count used by booking_detail pricing
currency: EUR, USD, CNY (default EUR)
start_date/end_date: optional availability window (YYYY-MM-DD)
For dated comparisons, customer_cost_summary clearly separates charter price, mandatory extras, full customer cost and refundable deposit. The full customer cost comes from the same booking preview as booking_detail; the refundable deposit is always separate. Cabin fields explicitly label total, double, single and bunk cabins.
Length and beam are optional fleet-supplied facts. Missing values are omitted rather than returned as zero/null or estimated, and must not make an otherwise valid yacht unavailable for comparison.
| Name | Required | Description | Default |
|---|---|---|---|
| pax | Yes | ||
| boat_ids | Yes | ||
| currency | No | EUR | |
| end_date | No | ||
| start_date | No |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds real behavioral context beyond that: pricing comes from the same booking preview as booking_detail, the refundable deposit is always reported separately, and missing length/beam values are omitted rather than estimated.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The parameter bullets are front-loaded and each sentence carries information; the second paragraph is dense but every claim (cost breakdown, deposit separation, cabin labels, missing-value handling) is substantive rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need not be fully described, yet the description still explains how customer_cost_summary partitions charter price, extras, full cost and deposit, and how cabin fields are labeled. Combined with the parameter and behavioral notes, 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.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the parameter burden, and it does: it states the 2..4 boat_ids cardinality (absent from the schema's array definition), the pax meaning, the currency enum EUR/USD/CNY with default, and the YYYY-MM-DD format for start_date/end_date.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence names a specific verb ('Compare') and resource ('boats'), and constrains the scope to 2-4 boats using Sedna's date-specific customer pricing. It clearly differs from siblings like search_boats and boat_details, though it never names those alternatives explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied by the parameter list: use it when you have 2-4 boat ids and a pax count and want a dated price comparison. However, there is no explicit 'use this instead of X when Y' guidance and no stated prerequisites or exclusions relative to search_boats or boat_details.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
readmeARead-onlyInspect
Official Sedna rules for every public yacht-search conversation.
Use only information returned by Sedna tools. Do not supplement yacht, fleet, availability or price data with an internet search.
Stay neutral between fleets. Present factual differences and let the customer decide; never promote one fleet as the best.
Call Base_list before search_boats so the search uses an official base.
Use id_boat and id_tbf1 exactly as returned by search_boats. Never guess IDs.
When the customer does not state a year, clarify the date or use the current year. Never silently choose the following year.
When the customer asks to see yacht photos or other yacht media, call boat_details with the exact id_boat from search_boats. Display the public URLs returned in media.header, media.photos, media.plans or media.images. search_boats intentionally returns no gallery. Use booking_detail only for date-specific availability, prices, extras and booking choices.
A search result is available only for the requested dates reported by Sedna. Never generalize that availability to different dates.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds useful context by framing this as a static, authoritative rule set that applies to all conversations. It does not contradict the readOnly/openWorld/destructive annotations. It could be slightly more explicit that invoking this tool returns the rules as its output, but the content makes that clear.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with its purpose and then delivers a numbered, actionable list. Each rule earns its place and there is no filler or redundant wording. The length is justified because the description is itself the substantive content of the readme tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The description provides complete operational context: ordering requirements, ID integrity rules, date clarification, media handling, and the distinction between search, details, and booking tools. Nothing needed for an agent to use the tool correctly is missing, and no output schema is required for a static rule set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and the schema already covers this fully with an empty object. Per the baseline for no-parameter tools, the description does not need to add parameter meaning; it is compatible and does not introduce any confusion.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states exactly what the tool provides: the official Sedna rules for public yacht-search conversations. It distinguishes itself from the operational sibling tools because it is a rule set, not an action. It is specific and not a tautology of the tool name.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says the rules govern every public yacht-search conversation, and the numbered rules directly tell the agent when to use which sibling tool, e.g., 'Call Base_list before search_boats', 'call boat_details', and 'Use booking_detail only for date-specific availability'. This is strong when-to-use guidance with concrete alternatives.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_boatsARead-onlyInspect
Search Sedna for yachts available for the exact requested dates.
Call Base_list first and use an official base name. Results have passed Sedna planning/block and pricing checks for start_date plus nights. If more than 30 yachts match, state the accurate count and ask for a fleet, model or year preference. If 30 or fewer match, show every result with its fleet name; never select an arbitrary subset. If none match, offer alternative bases or dates.
Search results intentionally contain no yacht images. If the customer asks to see photos, a gallery, plans, videos or documents for a selected yacht, call boat_details with its exact id_boat and display the returned public media URLs. Use booking_detail for date-specific prices, extras, ports and booking choices.
Length and beam are optional fleet-supplied facts. Missing values are omitted and must never exclude an otherwise matching yacht, be shown as zero, be estimated, or trigger a clarification unless the customer has explicitly made that dimension a requirement.
| Name | Required | Description | Default |
|---|---|---|---|
| pax | No | Optional passenger-capacity filter. A single number means at least that many guests; ranges and comparators are also supported. | |
| base | Yes | Exact base name returned by Base_list. | |
| page | No | Result page starting at 1. | |
| price | No | Optional price filter in the currency returned by Sedna. | |
| nights | Yes | Number of charter nights. | |
| option | No | Additional supported Sedna filters. | |
| bathroom | No | Optional bathroom filter. | |
| boat_type | No | Optional exact yacht type. | |
| boat_year | No | Optional build-year filter (exact, range or comparator). | |
| boat_model | No | Optional yacht brand, partial model or complete model. For example, "Lagoon" matches Lagoon 380, Lagoon 40 and Lagoon 42; "Lagoon 42" also matches directly. | |
| fleet_name | No | Optional fleet preference. | |
| start_date | Yes | Future charter start date in YYYY-MM-DD format. | |
| double_cabin | No | Optional double-cabin filter. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare a safe read (readOnlyHint=true, destructiveHint=false), but the description goes well beyond them: results have passed planning/block and pricing checks, results intentionally omit images, the 30-result display policy, and the rule that missing length/beam must be omitted rather than zeroed, estimated, or used to exclude yachts. This is rich behavioral context the annotations do not carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core purpose, then structured into distinct paragraphs for result-count policy, media routing, and missing-value handling. Every sentence carries a rule, though the length/beam paragraph is somewhat tangential to the actual parameter set and could be tighter.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema and 13 parameters, the description compensates thoroughly by describing result behavior (30-result threshold, full-list vs. preference prompt, no arbitrary subsets, alternative suggestions), return-content limits (no images), and data-quality rules for missing fields. An agent has everything needed to call and interpret the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all 13 parameters (pax, price, boat_model, etc.) and the baseline is 3. The description adds only marginal param meaning, notably that 'base' must be an official Base_list name and that dates are the exact requested dates; length/beam it discusses are not even parameters here.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Search Sedna for yachts available for the exact requested dates') with scope qualifiers (date-availability, passed planning/block and pricing checks). It is clearly distinguishable from siblings like Base_list, boat_details, and booking_detail, which it names directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly prescribes prerequisites and alternatives: 'Call Base_list first and use an official base name,' route photo/media requests to boat_details with id_boat, and use booking_detail for date-specific prices, extras, and ports. It also gives concrete branching rules for >30, <=30, and zero results.
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 tool update
- Changed
search_boats1 field changed- changed
Input schema / properties / boat_model / descriptionPrevious value: -"Optional yacht model."New value: +"Optional yacht brand, partial model or complete model. For example, \"Lagoon\" matches Lagoon 380, Lagoon 40 and Lagoon 42; \"Lagoon 42\" also matches directly."
1 tool update
- Changed
compare_boats2 fields changed- added
Input schema / properties / paxAdded value: +{ + "type": "integer" +} - changed
Input schema / requiredPrevious value: -[ - "boat_ids" -]New value: +[ + "boat_ids", + "pax" +]
1 tool update
- Changed
search_boats1 field changed- changed
Input schema / properties / pax / descriptionPrevious value: -"Optional passenger filter (exact, range or comparator)."New value: +"Optional passenger-capacity filter. A single number means at least that many guests; ranges and comparators are also supported."
1 tool update
- Changed
booking_create6 fields changed- removed
Input schema / properties / selected_extras / anyOfRemoved value: -[ - { - "items": { - "additionalProperties": true, - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } -] - removed
Input schema / properties / selected_extras / defaultRemoved value: -null - added
Input schema / properties / selected_extras / descriptionAdded value: +"Required complete selection. Example:\n[{\"id_opt\": 123, \"selected\": true, \"quantity\": 1}].\nUse [] only when no optional extra was selected." - added
Input schema / properties / selected_extras / itemsAdded value: +{ + "additionalProperties": true, + "type": "object" +} - added
Input schema / properties / selected_extras / typeAdded value: +"array" - changed
Input schema / requiredPrevious value: -[ - "client_name", - "client_email", - "client_phone", - "id_tbf1", - "id_boat", - "dateStart", - "dateEnd", - "pax" -]New value: +[ + "client_name", + "client_email", + "client_phone", + "id_tbf1", + "id_boat", + "dateStart", + "dateEnd", + "pax", + "selected_extras" +]
8 tool updates
- First observed
Base_list - First observed
boat_details - First observed
booking_create - First observed
booking_detail - First observed
booking_detail_mod - First observed
compare_boats - First observed
readme - First observed
search_boats
Related MCP Connectors
MCP server for the Seline Analytics API
Flight search MCP server providing search, pagination, and itinerary details for AI assistants.
MCP server for Product Management
Corporate travel booking and expense management for TripGain, exposed as an MCP server.
Related MCP Servers
- MIT
- AlicenseNot gradedqualityAmaintenanceMCP server that exposes job search data from multiple boards, enabling clients to query and manage job listings via natural language.7MIT
- FlicenseNot gradedqualityDmaintenanceMCP server for travel program search, comparison, and booking via Yourttoo API, optimized for LLMs with token-saving responses.-
- FlicenseNot gradedqualityCmaintenanceMCP server providing greeting and echo tools for testing and demonstration.-
Glama MCP Gateway
Add one secure layer between your agents and this server.