Obato
Server Details
Search boats for sale or rent, marinas and live market stats on Obato, Europe's boat marketplace.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
TDQS
Most tools target distinct resources, but get_boat_pricing_stats and get_market_stats overlap heavily: both return count, average, median, min/max price scoped by category and region. ask_bo and get_facts also both return cited factual content, leaving some ambiguity even if the descriptions help.
The set predominantly follows a verb_noun pattern: search_boats, search_rentals, get_brand_info, compare_brands, and get_boat_details all fit cleanly. market_snapshot breaks the pattern as a bare noun phrase, and ask_bo uses a proper noun, but these are minor deviations within an otherwise predictable convention.
11 tools is well-scoped for a multifaceted read-only marketplace domain covering listings, rentals, brands, marinas, knowledge-graph facts, and market statistics. Each tool earns its place, even though a couple of them partially overlap.
Core workflows are covered: boat search and details, rental search, brand lookup and comparison, marina discovery, knowledge-graph facts, and multiple market statistics views. Minor gaps exist, such as no dedicated marina detail endpoint and rental details only appearing via search results, but agents can work around these.
Available Tools
11 toolsask_boARead-onlyInspect
Ask Bo, Obato's AI boat expert, any question about boats, watersports or the European boat market. Returns a cited answer grounded in Obato's live market data. Rate-limited (5 req/min/IP).
| Name | Required | Description | Default |
|---|---|---|---|
| question | Yes | The question for Bo (max ~500 chars). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description goes beyond annotations by stating that answers are 'cited' and 'grounded in Obato's live market data', and mentions the rate limit of 5 req/min/IP. This adds valuable operational context. Annotations already indicate readOnlyHint=true and destructiveHint=false, and the description aligns with them, so there's no contradiction.
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 two sentences: the first defines the tool's purpose, the second adds key behavioral details (cited, grounded, rate-limited). It's front-loaded with the primary action, and every word earns its place without verbosity.
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?
Given the tool's simplicity (one parameter, no output schema, high schema coverage) and the available annotations, the description is sufficiently complete. It covers purpose, key constraints (rate limit), and output nature (cited). It doesn't explain the return format in detail, but that would be redundant without an output schema, and the description covers what's needed.
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 input schema already has 100% coverage for the single parameter 'question' (with a max length of 500 chars). The description does not add further parameter semantics but also doesn't need to; the schema is sufficient. Baseline 3 is appropriate.
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 clearly states the purpose: 'Ask Bo, Obato's AI boat expert, any question about boats, watersports or the European boat market.' It specifies the resource (Bo), the action (ask a question), and the domain, effectively distinguishing it from sibling tools that are more specific (e.g., get_boat_details, market_snapshot).
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 clearly defines when to use the tool: for any general question about boats, watersports, or the European boat market. It does not explicitly name alternatives, but the sibling list implies that for specific data (like pricing or brand info), other tools might be more appropriate; however, the description doesn't state exclusions, so it lacks explicit when-not guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_brandsARead-onlyInspect
Compare two boat brands head-to-head on Obato: listing counts, avg/median price, avg length, year range. Brand matching is case-insensitive substring matching, identical to search_boats. Powers 'X vs Y' answer-engine queries (e.g. 'Bavaria vs Beneteau').
| Name | Required | Description | Default |
|---|---|---|---|
| brand_a | Yes | ||
| brand_b | Yes | ||
| type_boot | No | Optional category filter |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false. The description adds meaningful behavior beyond that: brand matching is case-insensitive substring matching and identical to search_boats. This is useful behavioral context that the schema and annotations do not provide.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three dense, front-loaded sentences with no filler. The core purpose and metrics come first, followed by matching behavior and usage context. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only comparison tool with no output schema, the description provides the key return metrics and the intended answer-engine context. It could be more explicit about output shape or type_boot value examples, but it is sufficient for an agent to understand what the tool returns and when to use 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 coverage is only 33%, so the description must compensate for brand_a and brand_b. It does so by stating they are boat brands and giving a concrete example ('Bavaria vs Beneteau'), plus explaining matching semantics. The type_boot parameter is already described in the schema, so the description adds value where needed.
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 clearly states a specific verb ('Compare'), resource ('two boat brands head-to-head on Obato'), and lists the comparison metrics. The 'X vs Y' phrasing helps distinguish it from single-brand siblings, though no explicit sibling is named for 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?
It explicitly states the intended use case: powering 'X vs Y' answer-engine queries with a concrete example. It does not provide when-not-to-use guidance or name alternative tools, but the context is clear enough for selection.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_marina_with_amenitiesARead-onlyInspect
Find European marinas (jachthavens) that match a set of amenities: electricity, water, fuel, wifi. Optional country/province filters. Returns up to 25 marinas. Country names are accepted in Dutch or English; province spelling variants (Friesland/Fryslan, Niedersachsen/Lower Saxony) are matched together. Note: fuel is very rare in the current dataset (almost no marina records it), so electricity/water/wifi are the useful filters; combining fuel with other amenities usually yields 0 results. The response includes amenity_availability with, per amenity, how many marinas in the selection have it and how many recorded it at all — a missing record does not mean the amenity is absent.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| country | No | Country name in Dutch or English (e.g. Nederland/Netherlands, Duitsland/Germany). Available: Nederland, Belgie, Denemarken, Duitsland, Frankrijk, Italie, Luxemburg, Oostenrijk, Spanje, Tsjechie, Verenigd Koninkrijk, Zwitserland. | |
| province | No | Province or federal state; spelling variants are matched together (Friesland/Fryslan, Niedersachsen/Lower Saxony). | |
| amenities | No | Required amenities. All listed must be present. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnlyHint annotation, the description discloses non-obvious behavioral traits: results are capped at 25, fuel is extremely rare in the dataset, and the response includes an `amenity_availability` field where a missing record does not mean the amenity is absent. This is exactly the kind of contextual behavior an agent needs to interpret results correctly.
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 longer than minimal, but every sentence earns its place: purpose, filters, limit, language handling, and the important fuel/data caveats. It is well-structured and front-loaded, though a slight trim could tighten it further.
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 tool with no output schema, the description covers the key invocation facts: return limit, amenity filtering behavior, and a non-obvious response field. It does not enumerate other return fields, but that is not necessary for correctly selecting and calling 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?
Input schema covers 75% of parameters, but the description adds meaningful value: it explains that country names work in Dutch or English, that province spelling variants are matched together, and that fuel combined with other amenities usually yields zero results. These details go beyond the schema's enum and descriptions, though the schema already covers the basic semantics.
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 opens with a specific verb and resource: "Find European marinas (jachthavens) that match a set of amenities: electricity, water, fuel, wifi." It clearly distinguishes the tool from boat/rental siblings by naming marinas and their specific amenity criteria, leaving no ambiguity about what it searches.
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 provides clear functional context and even includes a practical caveat that fuel is rarely recorded, but it does not explicitly state when to prefer this tool over alternatives or mention any exclusion scenarios. Usage guidance is implied rather than explicit, so it falls short of a 4.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_boat_detailsARead-onlyInspect
Fetch detail of one boat listing by seo_slug or id.
| Name | Required | Description | Default |
|---|---|---|---|
| id | No | ||
| slug | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as read-only and non-destructive, so the description is not burdened with stating those traits. The description adds little behavioral context beyond the purpose, such as not-found behavior, response shape, or what 'details' include. This is acceptable but minimally additive.
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 a single, front-loaded sentence with no filler or repetition. Every word contributes to understanding the tool's purpose and invocation keys.
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 simple read-only detail fetch with two string parameters and no nested objects, the description is nearly complete. It identifies the resource, the action, and the identifier options. The main gap is the lack of guidance on edge cases or response expectations, but given the low complexity and good annotations, this is not a major omission.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate for the bare parameter names 'id' and 'slug'. It does add meaning by indicating these are the lookup identifiers and that the slug is specifically a SEO slug. However, it does not clarify behavior when both are provided, whether one is preferred, or what formats are accepted.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb ('Fetch') and a specific resource ('detail of one boat listing'), and clearly identifies the lookup keys ('seo_slug or id'). This distinguishes it from sibling tools like search_boats, which focus on listing searches rather than single-record detail retrieval.
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 clearly implies when to use the tool: when you need details for a single boat listing identified by slug or id. It does not explicitly name alternative tools or exclusion criteria, but the singleton scope and identifier-based lookup provide sufficient contextual guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_boat_pricing_statsARead-onlyInspect
Pricing statistics (count, avg, median, p25, p75, min, max) for a boat category, with optional region (province, country or city) and length range. Prices always match the requested scope; price_scope states whether they are provincial, per country, per place or national.
| Name | Required | Description | Default |
|---|---|---|---|
| regio | No | ||
| type_boot | Yes | ||
| lengte_max | No | ||
| lengte_min | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool read-only and non-destructive, so the description needs less safety disclosure. It adds meaningful behavioral context by stating that prices always match the requested scope and that `price_scope` indicates whether results are provincial, national, per place, or per country. This goes beyond what annotations alone provide.
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?
Two concise sentences with no filler. The main purpose is front-loaded, followed by key behavioral detail about price_scope. Every sentence contributes useful information.
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 the key input dimensions, the statistic types, and behavioral scope semantics. Even without an output schema, an agent can understand what will be returned and how filtering works. Minor gaps remain around value formats and length units, but they do not prevent correct invocation.
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 carries the burden of explaining parameters. It maps 'boat category' to type_boot, 'region (province, country or city)' to regio, and 'length range' to lengte_min/lengte_max. It adds meaning beyond the raw schema, although exact formats and units are not specified.
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 clearly that the tool returns pricing statistics (count, avg, median, p25, p75, min, max) for a boat category with optional region and length filters. It does not explicitly differentiate from siblings like get_market_stats or market_snapshot, but its metric list makes the purpose reasonably distinct.
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 implies the tool is for retrieving aggregated pricing stats for a boat category, optionally filtered by region or length. It does not explicitly state when to prefer this over siblings such as get_market_stats or compare_brands, so guidance is mostly implied rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_brand_infoARead-onlyInspect
Knowledge-graph info about a specific boat brand or manufacturer on Obato: description, expert facts, authority score, active listing count.
| Name | Required | Description | Default |
|---|---|---|---|
| slug | Yes | Brand slug (lowercase, e.g. 'bavaria', 'jeanneau', 'bayliner'). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only and non-destructive behavior. The description adds the output content but does not disclose additional behavioral aspects such as rate limits, required permissions, or potential variations in data availability. It does not contradict annotations, but it also does not go beyond the basic safety information.
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 a single, well-structured sentence that conveys the essential purpose and output. It avoids unnecessary details, repetition, or verbose explanations, making it highly concise and efficient for an agent to parse.
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?
Given the simplicity of the tool (single parameter, no output schema), the description is sufficiently complete. It lists the type of data returned, which gives an agent a clear expectation of the result. It does not cover error cases or edge scenarios, but these are not critical for a basic getter. Overall, it fits well within the context of sibling tools.
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 input schema fully describes the single parameter 'slug' with format and examples. The tool description does not add any extra meaning or constraints beyond what the schema already provides. Since schema coverage is 100%, the baseline of 3 is appropriate, and no additional semantic detail is given.
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 clearly states the tool's function: retrieving knowledge-graph information about a specific boat brand or manufacturer. It specifies the type of data returned (description, expert facts, authority score, active listing count), making its purpose unambiguous and distinct from sibling tools like search_boats or get_boat_details.
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 does not explicitly state when to use this tool over alternatives. It implies usage for brand-specific information, but there is no direct guidance on scenarios (e.g., 'use when you need brand reputation scores' or 'instead of searching boats'). The purpose is clear, but usage context is only implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_factsARead-onlyInspect
Citable facts about boats and watersports from Obato's knowledge graph, ranked by authority score. Each fact includes a source citation suitable for grounded LLM answers.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Number of facts to return. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare read-only, open-world=false, non-destructive. The description adds that facts are ranked by authority score and each includes a citation, which is useful for LLM grounding. It does not contradict annotations.
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?
Two concise sentences that front-load the core purpose and mention ranking and citations without any fluff.
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 tool with one param, fully described in schema, the description gives adequate context about the nature of the data (ranked, cited) even without an output schema. Some might want more on how authority is defined, but it's sufficient for basic selection.
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 schema fully describes the 'limit' parameter (default, min, max). The description adds no additional parameter context, so baseline 3 is appropriate given 100% schema coverage.
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 clearly states the tool returns citable facts about boats and watersports from Obato's knowledge graph, ranked by authority score. This distinguishes it from sibling tools like get_boat_details or get_market_stats, which focus on specific entities or market data.
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 implies usage for grounded answers with citations, but does not explicitly state when to use this tool versus alternatives like ask_bo or search_boats. No exclusions or comparisons are provided.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_market_statsARead-onlyInspect
Aggregate market stats (count, avg/median/min/max price) for a category and optional region. English/German/French category and country names are normalised. When regio is a Dutch province, counts AND prices are computed over that province only (price_scope='province').
| Name | Required | Description | Default |
|---|---|---|---|
| regio | No | ||
| type_boot | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint and non-destructive behavior. The description adds valuable behavioral detail beyond that: English/German/French name normalization and the Dutch-province special case where counts and prices are scoped to the province (price_scope='province'). This helps the agent anticipate input handling and scoping semantics.
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 compact and front-loaded: the first sentence states the core purpose and output stats, the second covers normalization, and the third covers the key region edge case. Every sentence contributes distinct, necessary information without redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only aggregate tool with two parameters and no output schema, the description covers the return metrics, the inputs, language normalization, and an important scoping exception. It does not define the exact category set or all region behaviors, but the essential calling context is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must compensate. It maps type_boot to 'category' and regio to 'optional region', and explains language normalization and the province-scope effect for regio. However, it doesn't specify exact value formats, allowed category values, or behavior for non-Dutch regions, leaving some semantics to inference.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb and resource: 'Aggregate market stats (count, avg/median/min/max price) for a category and optional region.' It clearly conveys the tool's function and distinguishes it from sibling detail/lookup tools, though it does not explicitly name an alternative for 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?
The description gives clear usage context: use this tool when aggregate counts and price statistics for a category and optional region are needed, and it notes that category/country names are normalized across languages. It does not explicitly state exclusions or when to prefer sibling tools like get_boat_pricing_stats or market_snapshot.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
market_snapshotARead-onlyInspect
Real-time snapshot of the European boat market on Obato — total listings, average prices by boat type, and regional distribution. Cached ~5 minutes.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, covering the safety profile. The description adds valuable behavioral context by noting the cache duration (~5 minutes), which indicates data may not be strictly real-time despite the label. This goes beyond annotations and helps set expectations.
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 extremely concise, using two sentences that front-load the primary purpose and immediately list the key data points. Every word adds value, with no fluff or redundancy.
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?
Given the tool's simplicity (no parameters, no output schema), the description fully covers what the tool returns: total listings, average prices by boat type, and regional distribution. Caching behavior is also disclosed. This is complete for a low-complexity read-only snapshot 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?
There are zero parameters, so the description does not need to explain parameter usage. The schema coverage is 100% (empty props), and the description clearly lists the output content, making it self-sufficient. A baseline of 4 applies for no-parameter tools.
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 clearly states the tool provides a real-time snapshot of the European boat market on Obato, including total listings, average prices by boat type, and regional distribution. This specific scope distinguishes it from siblings like get_market_stats, which may cover broader or different metrics.
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 implies usage for obtaining a quick market overview but does not explicitly state when to use this tool versus alternatives like get_market_stats or search_boats. No exclusions are provided, and there is no guidance on scenario-based selection.
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 Obato's public marketplace for boats. Filters: free-text query, category (type_boot), region, brand, price range. English/German/French input is accepted and normalised (e.g. 'sailboat' -> zeilboot, 'Germany' -> land Duitsland); regio may be a Dutch province, a country or a city. Returns up to 25 listings plus an exact total_matches; on 0 results a suggestion with a relaxed filter is included.
| Name | Required | Description | Default |
|---|---|---|---|
| merk | No | Brand name | |
| limit | No | ||
| query | No | Free-text search (title, description, brand) | |
| regio | No | Dutch province (Friesland, Noord-Holland), a country (Nederland/Netherlands, Duitsland/Germany) or a city/municipality. | |
| prijs_max | No | ||
| prijs_min | No | ||
| type_boot | No | Category, e.g. motorboot, zeilboot, sloep. English/German/French terms are accepted (sailboat, motorboat, Segelboot). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false; the description adds multi-language normalisation with concrete examples, regio semantics, a listing cap of 25, and a relaxed-filter suggestion on zero results. No contradiction with annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences: purpose, filter list, language/regio caveats, and return shape. Each sentence adds new information and the scoping is front-loaded. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With seven optional parameters and no output schema, the description clarifies ambiguous regio and type_boot values and states the response shape. It does not mention limit's default or exact output fields, but the schema and annotations cover enough for safe invocation.
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 57%, but the description compensates: it explains regio accepts province/country/city, type_boot accepts English/German/French terms, query is free-text over title/description/brand, and price range maps to prijs_min/prijs_max. This adds meaning beyond the schema.
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?
Description opens with the specific action and scope: 'Search Obato's public marketplace for boats,' then lists filter dimensions. This distinguishes it from siblings like search_rentals and get_boat_details by marketplace/resource and search-vs-details role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives clear context for invocation: filters, accepted English/German/French input, regio value types, and return behavior. It does not explicitly name alternatives or state when not to use it, so it stops short of a full score.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_rentalsARead-onlyInspect
Search Obato's rental fleet (verhuur) for boats available to rent. Filters: free-text query, boat type, region/country, capacity, max price per day, optional date (YYYY-MM-DD) to filter on available days. English/German/French type and country names are normalised. Returns up to 25 rental boats with default daily price plus an exact total_matches after price and date filtering.
| Name | Required | Description | Default |
|---|---|---|---|
| date | No | Optional YYYY-MM-DD; only returns boats with no 'booked'/'blocked' status on that date | |
| type | No | Rental boat type, e.g. sloep, motorboot, zeilboot. English/German/French terms are accepted. | |
| limit | No | ||
| query | No | Free-text (name, location) | |
| region | No | Region or province | |
| country_code | No | ISO country code, e.g. NL, DE, FR | |
| min_capacity | No | ||
| max_price_per_day | No | Maximum EUR per day |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, so the safety profile is covered. The description adds genuine behavioral context beyond that: the 25-boat result cap, the 'exact total_matches after price and date filtering', the normalization of English/German/French terms, and date semantics excluding 'booked'/'blocked' boats. This is exactly the behavioral information an agent needs that the schema 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.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tightly packed sentences: purpose, filter enumeration, return behavior. The purpose is front-loaded, nothing is repeated from the schema verbatim, and every sentence earns its place. Highly efficient.
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 search tool with 8 optional parameters and no output schema, the description covers all filter categories, the return shape, the result cap, and normalization behavior — strong coverage. Minor omissions such as sort order and explicit sibling routing keep it just short of fully complete.
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 75% (limit and min_capacity lack descriptions), so the baseline is 3. The description adds some value by specifying the YYYY-MM-DD date format and the normalization behavior for type and country names, but it only summarizes the filter categories at a high level and does not fill the gap for the two undocumented parameters.
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 Obato's rental fleet (verhuur)' — with a scope that is clearly distinct from siblings like search_boats, since this is specifically about rental inventory. However, it never explicitly names the sibling it is not (e.g., 'for the full fleet use search_boats'), so differentiation is implicit rather than stated.
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 'rental fleet (verhuur)' framing and the date-based availability filter imply the intended use case: finding boats available to rent on a given date. But the description gives no explicit when-to-use versus when-not-to-use guidance and names no alternatives among the ten siblings, so an agent must infer the boundary with search_boats.
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. Dates show when Glama detected each change.
3 tool updates
- Changed
find_marina_with_amenities2 fields changed- added
Input schema / properties / country / descriptionAdded value: +"Country name in Dutch or English (e.g. Nederland/Netherlands, Duitsland/Germany). Available: Nederland, Belgie, Denemarken, Duitsland, Frankrijk, Italie, Luxemburg, Oostenrijk, Spanje, Tsjechie, Verenigd Koninkrijk, Zwitserland." - added
Input schema / properties / province / descriptionAdded value: +"Province or federal state; spelling variants are matched together (Friesland/Fryslan, Niedersachsen/Lower Saxony)."
- Changed
search_boats2 fields changed- changed
Input schema / properties / regio / descriptionPrevious value: -"Province (e.g. Friesland, Noord-Holland) or city/municipality."New value: +"Dutch province (Friesland, Noord-Holland), a country (Nederland/Netherlands, Duitsland/Germany) or a city/municipality." - changed
Input schema / properties / type_boot / descriptionPrevious value: -"Category, e.g. motorboot, zeilboot, sloep"New value: +"Category, e.g. motorboot, zeilboot, sloep. English/German/French terms are accepted (sailboat, motorboat, Segelboot)."
- Changed
search_rentals1 field changed- changed
Input schema / properties / type / descriptionPrevious value: -"Rental boat type, e.g. sloep, motorboot, zeilboot"New value: +"Rental boat type, e.g. sloep, motorboot, zeilboot. English/German/French terms are accepted."
1 tool update
- Changed
search_boats1 field changed- changed
Input schema / properties / regio / descriptionPrevious value: -"Region / province"New value: +"Province (e.g. Friesland, Noord-Holland) or city/municipality."
11 tool updates
- First observed
ask_bo - First observed
compare_brands - First observed
find_marina_with_amenities - First observed
get_boat_details - First observed
get_boat_pricing_stats - First observed
get_brand_info - First observed
get_facts - First observed
get_market_stats - First observed
market_snapshot - First observed
search_boats - First observed
search_rentals
Frequently Asked Questions
Claiming proves that you control a remote MCP connector. It does not move, proxy, or interrupt the server.
Open the connector listing, choose Claim ownership, and sign in to Glama.
Complete one verification method:
GitHub identity – fastest for official registry listings. For a namespace such as
io.github.alice/server, link the matching GitHub user, then choose Claim with GitHub. An organization namespace such asio.github.acme/serveralso needs that organization to have installed the Glama AI GitHub App and approved its permissions, because GitHub discloses organization membership only to apps it has installed. Use HTTP or DNS when it has not.HTTP challenge – works when you can deploy a public file. Generate a token, publish the exact JSON Glama shows at
/.well-known/glama.jsonon the same origin as the connector, then choose Check HTTP challenge.DNS challenge – works when you control DNS but cannot change the server. Generate a token, create the exact TXT record Glama shows, wait for it to propagate, then choose Check DNS challenge.
After verification, Glama sends a confirmation email and gives you access to listing details, thumbnails, health checks, and analytics. Keep the HTTP file or DNS record in place: Glama periodically checks it and ownership remains verified while the token is discoverable.
The HTTP ownership file has this structure:
{
"$schema": "https://glama.ai/mcp/schemas/connector.json",
"claim": "glama_claim_..."
}Claim tokens are opaque, stable, and bound to the signed-in Glama account. They contain no email address or other personal information. If Glama can no longer discover a verified HTTP or DNS token, it starts a seven-day grace period before removing claim-based access. Restore the same token during that period to keep ownership verified. Never publish an email address, Glama session token, GitHub token, or connector credential as ownership proof.
If verification fails, confirm that you copied the current token exactly. The HTTP file must be public, return valid JSON with a successful HTTP response, and stay on the connector's origin. DNS changes may need more time to propagate. A claim cannot transfer to a different origin or hostname: if the connector target changes, Glama starts the grace period and the new target must be claimed separately after the previous claim is released.
For a connector linked to the official MCP Registry, registry updates continue to replace its name, description, and URL by default. After claiming, open Manage connector and enable Use Glama listing details as the source of truth if edits made on Glama should be preserved. Categories and thumbnails are always managed on Glama; registry linkage and technical connection settings continue to sync.
Control your server's listing on Glama, including description and metadata
Access analytics and receive server usage reports
Get monitoring and health status updates for your server
Feature your server to boost visibility and reach more users
To improve your MCP server's ranking:
Claim ownership of the server listing
Complete the server profile with an accurate description and thumbnail
Provide a test profile so Glama can connect to and evaluate the server
Keep tool definitions clear and complete to earn a high Tool Definition Quality Score (TDQS)
Route real usage through the Glama Gateway; more recorded successful server uses also improve the ranking
For users:
Full audit trail – every tool call is logged with inputs and outputs for compliance and debugging
Granular tool control – enable or disable individual tools per connector to limit what your AI agents can do
Centralized credential management – store and rotate API keys and OAuth tokens in one place
Change alerts – get notified when a connector changes its schema, adds or removes tools, or updates tool definitions, so nothing breaks silently
For server owners:
Proven adoption – public usage metrics on your listing show real-world traction and build trust with prospective users
Tool-level analytics – see which tools are being used most, helping you prioritize development and documentation
Direct user feedback – users can report issues and suggest improvements through the listing, giving you a channel you would not have otherwise
The connector status is unhealthy when Glama is unable to successfully connect to the server. This can happen for several reasons:
The server is experiencing an outage
The URL of the server is wrong
Credentials required to access the server are missing or invalid
If you are the owner of this MCP connector and would like to make modifications to the listing, including providing test credentials for accessing the server, please contact support@glama.ai.
Discussions
No comments yet. Be the first to start the discussion!
Related MCP Connectors
Search Ocean Builders' floating-home inventory, get unit specs and pricing, register buyer interest.
Property listings in Portugal: search, market stats, comparables, neighbourhoods.
Latvian property portal: search rentals, sales & nightly stays; market stats; owner tools via OAuth.
Vessel tracking for 750,000+ ships, with ownership, inspections, port records, routes, and more.
Related MCP Servers
- AlicenseAqualityAmaintenanceSearch vacation rental properties, check real-time availability, get canonical pricing quotes, and create direct bookings. Each property is its own node with live data. Supports staircase pricing, seasonal rates, and 11 languages.4131272Apache 2.0
- FlicenseNot gradedqualityCmaintenanceEnables agents to search and analyze used-vehicle listings across multiple Serbian marketplaces, including price statistics, history, and per-user saved-search watches.1-
- FlicenseAqualityCmaintenanceEnables searching and retrieving listings from Sweden's Blocket marketplace, including cars, boats, motorcycles, and general items, without requiring an API key.6-
- FlicenseNot gradedqualityCmaintenanceEnables searching and browsing 45,000+ classified ads on Joomil.ch, including filtering by category, canton, price, and location, retrieving listing details, and exploring categories.-