Server definition
- Hash
- sha256:5e9c65d014a9e8298ef9c6305fff3dc4ed886cd544c197b6d5b26f57e333705f
- What it is
- What a remote MCP server returned when asked what it offers: 11 tools
The blob, as servednamed by its sha256
{
"instructions": null,
"tools": [
{
"description": "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).",
"inputSchema": {
"properties": {
"question": {
"description": "The question for Bo (max ~500 chars).",
"type": "string"
}
},
"required": [
"question"
],
"type": "object"
},
"name": "ask_bo",
"outputSchema": null
},
{
"description": "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').",
"inputSchema": {
"properties": {
"brand_a": {
"type": "string"
},
"brand_b": {
"type": "string"
},
"type_boot": {
"description": "Optional category filter",
"type": "string"
}
},
"required": [
"brand_a",
"brand_b"
],
"type": "object"
},
"name": "compare_brands",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"amenities": {
"description": "Required amenities. All listed must be present.",
"items": {
"enum": [
"electricity",
"water",
"fuel",
"wifi"
],
"type": "string"
},
"type": "array"
},
"country": {
"description": "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.",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"province": {
"description": "Province or federal state; spelling variants are matched together (Friesland/Fryslan, Niedersachsen/Lower Saxony).",
"type": "string"
}
},
"type": "object"
},
"name": "find_marina_with_amenities",
"outputSchema": null
},
{
"description": "Fetch detail of one boat listing by seo_slug or id.",
"inputSchema": {
"properties": {
"id": {
"type": "string"
},
"slug": {
"type": "string"
}
},
"type": "object"
},
"name": "get_boat_details",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"lengte_max": {
"type": "number"
},
"lengte_min": {
"type": "number"
},
"regio": {
"type": "string"
},
"type_boot": {
"type": "string"
}
},
"required": [
"type_boot"
],
"type": "object"
},
"name": "get_boat_pricing_stats",
"outputSchema": null
},
{
"description": "Knowledge-graph info about a specific boat brand or manufacturer on Obato: description, expert facts, authority score, active listing count.",
"inputSchema": {
"properties": {
"slug": {
"description": "Brand slug (lowercase, e.g. 'bavaria', 'jeanneau', 'bayliner').",
"type": "string"
}
},
"required": [
"slug"
],
"type": "object"
},
"name": "get_brand_info",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"limit": {
"default": 20,
"description": "Number of facts to return.",
"maximum": 100,
"minimum": 1,
"type": "integer"
}
},
"type": "object"
},
"name": "get_facts",
"outputSchema": null
},
{
"description": "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').",
"inputSchema": {
"properties": {
"regio": {
"type": "string"
},
"type_boot": {
"type": "string"
}
},
"required": [
"type_boot"
],
"type": "object"
},
"name": "get_market_stats",
"outputSchema": null
},
{
"description": "Real-time snapshot of the European boat market on Obato — total listings, average prices by boat type, and regional distribution. Cached ~5 minutes.",
"inputSchema": {
"properties": {},
"type": "object"
},
"name": "market_snapshot",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"limit": {
"default": 10,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"merk": {
"description": "Brand name",
"type": "string"
},
"prijs_max": {
"type": "number"
},
"prijs_min": {
"type": "number"
},
"query": {
"description": "Free-text search (title, description, brand)",
"type": "string"
},
"regio": {
"description": "Dutch province (Friesland, Noord-Holland), a country (Nederland/Netherlands, Duitsland/Germany) or a city/municipality.",
"type": "string"
},
"type_boot": {
"description": "Category, e.g. motorboot, zeilboot, sloep. English/German/French terms are accepted (sailboat, motorboat, Segelboot).",
"type": "string"
}
},
"type": "object"
},
"name": "search_boats",
"outputSchema": null
},
{
"description": "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.",
"inputSchema": {
"properties": {
"country_code": {
"description": "ISO country code, e.g. NL, DE, FR",
"type": "string"
},
"date": {
"description": "Optional YYYY-MM-DD; only returns boats with no 'booked'/'blocked' status on that date",
"type": "string"
},
"limit": {
"default": 10,
"maximum": 25,
"minimum": 1,
"type": "integer"
},
"max_price_per_day": {
"description": "Maximum EUR per day",
"type": "number"
},
"min_capacity": {
"minimum": 1,
"type": "integer"
},
"query": {
"description": "Free-text (name, location)",
"type": "string"
},
"region": {
"description": "Region or province",
"type": "string"
},
"type": {
"description": "Rental boat type, e.g. sloep, motorboot, zeilboot. English/German/French terms are accepted.",
"type": "string"
}
},
"type": "object"
},
"name": "search_rentals",
"outputSchema": null
}
]
}Verify it yourself
curl -s https://api.teppi.xyz/v1/evidence/sha256:5e9c65d014a9e8298ef9c6305fff3dc4ed886cd544c197b6d5b26f57e333705f | sha256sum