boats.charter/charter-boats · v1.0.0 · productivity
Charter Boats is healthy: it completed an MCP handshake in 1073 ms and exposes 45 tools.
Search 14,000+ charter boats with live prices, plus marinas, anchorages, routes and itineraries.
Endpoint: https://charter.boats/mcp (streamable-http)
Repository · Website · JSON · Add to my inventory
| Users (last 30 days) | 0 |
| Handshake | Healthy |
| Auth needed | None |
| Tool count | 45 |
| Latency | 1073 ms |
| Last checked (UTC) | 2026-10-17T00:50:42.487Z |
| Checked (UTC) | Status | Latency | Error |
|---|---|---|---|
| 2026-10-17T00:50:42.487Z | Healthy | 1073 | |
| 2026-10-15T18:00:12.138Z | Healthy | 1819 | |
| 2026-10-15T18:00:12.031Z | Healthy | 2094 | |
| 2026-10-14T17:10:44.625Z | Healthy | 1347 |
search_boats | Search charter boats by location, name, type, dates, capacity, budget. The response `total_matching` is the FULL count of matching boats — results are the top `limit` of those, so phrase counts from it ("8 of 48 available") and re-call with a higher limit when the guest wants more. Pass the guest's |
search_locations | Find marinas, harbours and anchorages three ways: by NAME (q), by POPULARITY within an area (region/country/city — ranked on observed AIS vessel traffic for a month), or by REACH from a place you already have (`from` + `within_nm`) — where boats are actually recorded sailing to from there, with meas |
search_pois | Find restaurants, fuel, groceries, attractions near a location, or search by POI name. POIs carry no ratings — rank and describe them by what they are and how close they are. |
search_routes | Find sailing passages between destinations with distance and difficulty. |
search_trips | Find existing curated sailing itineraries by location, name, duration, activities. |
search_content | Search articles and Q&A on charter.boats. Use for questions about booking process, costs, licenses, cancellation, deposits, check-in, packing, etc. For developer questions about our API (endpoints, keys, params), use type=api to search the API docs at docs.charter.boats. |
get_boat_details | Get full details of a specific boat: security deposit, cancellation policy, amenities, fees, seasonal prices, check-in/out times, location details — and the dates it is actually free (priced date ranges plus bookable slots for the year ahead). Use when the user asks about a specific boat, and whenev |
get_boat_standouts | What stands out about ONE boat for one week, measured against similar boats: its pros and its cons, each with how it compares ("47.9 ft (better than 99%)", "€2000 security deposit (typical €1700)", "Rare kit: [0.8%] Cool Box" — n% of those boats have it). Use when the guest asks what is special abou |
compare_boat | One boat against the 10 closest published boats of the same type in the same country: specs and the all-in weekly price (EUR, at max guests, the figure search compares) for each of the next 52 weeks. Pass `id` (a boat), or `boat_type` and `country` (optionally `region`, `city`) to describe one. The |
get_poi_details | Get full details of a point of interest by ID: description, opening hours, address, contact, nearby marinas, special offers. Use when user is viewing or asks about a specific POI. POIs carry NO rating or review count — do not claim one or ask the guest to check it. |
get_location_details | Get full details of a marina, anchorage or bay by ID: description, amenities, contact, boat count and cheapest day rate, PLUS what only we know from tracked AIS traffic — how busy it is in each month of the year, how boats use it (share of overnight visits, typical day-stop length, what time it fill |
get_trip_details | Get full details of a sailing itinerary/trip by ID: day-by-day stops, distances, activities, highlights, notes. Use when user is viewing or asks about a specific trip. |
list_boats | The operator's own fleet: every boat of each company the key holder belongs to, published or not, with its company's name, specs, pricing source, changeover settings and photos. Start here: it gives the boat ids and company ids every other operator tool takes. An empty list means the account belongs |
get_boat | One of the operator's boats in full, as its edit page shows it: every editable field, photos with their ids, videos, equipment (hidden items included) and `locked_fields`, the fields MMK or Nausys rewrite on every sync. |
update_boat | Change details of one of the operator's boats; only the fields sent change, and a field listed in `locked_fields` is ignored because the partner sync owns it. The answer carries `is_published` and `missing`, what the boat still lacks to be listed. Read the current value with its read tool first; thi |
set_equipment_visibility | Hide an equipment item from the boat's public listing and search, or show it again; the same item under another wording follows it. Use the item's name as get_boat lists it in `equipment_items`. Returns the new state. |
update_boat_images | Hide one photo, show a hidden one again, or set the photo order (the first is the cover); send one of the three. Photo ids come from get_boat. Returns the boat with its photos as they now stand. New photos are uploaded on the boat's edit page. |
delete_boat_image | Delete one photo of the boat for good. To take a photo off the listing and keep it, use update_boat_images with disable_id. |
get_company | The company profile as its settings page holds it: public profile, contact, bank, tax and invoicing details, the cancellation policy (`cancel_refund_percent` refunded when the guest cancels at least `cancel_refund_days` before the charter), the X-Lock switch (in `settings`) and the member and boat c |
update_company | Change company details; only the fields sent change. Any member may change the public profile; contact email, bank, tax and invoicing details are the owner's, and a request naming one from anyone else is refused whole. Read the current value with its read tool first; this call returns the value as i |
get_cancellation_limits | What the company's payment schedule means for its cancellation policy: per boat source, the share paid in advance and how many days before the charter the rest is due, with the largest refund each notice period covers from money already collected. Read beside get_company's `cancel_refund_percent` an |
set_cancellation_policy | Set the company's cancellation policy, company owners only: a guest who cancels at least `cancel_refund_days` before the charter gets `cancel_refund_percent` of the charter price back. The policy applies to the company's MMK and Nausys bookings only; its direct boats follow charter.boats terms, so a |
set_cross_lock | Switch X-Lock for a company, company admins and owners only. With X-Lock on, every block, option or booking placed on one partner calendar (MMK or Nausys) also places a hold on the boat's other partner calendar. `sync_existing` true also places or releases those holds for the bookings and blocks alr |
list_discounts | The company's active discounts: codes guests type at checkout, automatic ones, and the pay-in-full discount, each with its value, booking window (`start_date`..`end_date`), stay window (`stay_from`..`stay_to`) and the boats it covers (`all_boats`, else `boat_ids`). An empty list means the company ru |
create_discount | Create a discount; it comes out of the operator's payout, never out of the platform commission. Returns the stored discount. |
update_discount | Change a discount; only the fields sent change. Read the current value with its read tool first; this call returns the value as it now stands. |
delete_discount | End a discount: guests can no longer use it; bookings already made keep it. |
get_pricing | The season prices of the fleet: per boat, every week-price row with its id, date span (month/day, repeating every year), `price_per_day` and `source`. Rows with `source` mmk or nausys come from the partner and change there; rows with `source` direct are the operator's to edit with add_price, update_ |
add_price | Add a season price to a boat the operator prices directly (pricing source direct). Returns the stored row. |
update_price | Change a direct season price; only the fields sent change. Read the current value with its read tool first; this call returns the value as it now stands. |
delete_price | Delete a direct season price; the dates it covered have no price until another row covers them. |
list_boat_fees | Every extra and fee row of a boat, as its edit page lists them: amount, period, whether it is required, how it is collected, and its `source`. Rows with `source` direct are the operator's to edit. |
add_fee | Add an extra or fee to a boat the operator prices directly. Returns the stored row and `warnings`, other rows it overlaps. |
update_fee | Change a direct fee row; only the fields sent change. Read the current value with its read tool first; this call returns the value as it now stands. |
delete_fee | Delete a direct fee row. |
list_calendars | The external calendars (iCal feeds, a Google Calendar by its secret iCal address) connected to one boat, with their sync state. MMK and Nausys are linked automatically and are not listed here. An empty list means none is connected to that boat. |
add_calendar | Connect an external calendar to a boat: its events block those dates on charter.boats. Returns the stored source; sync_calendar pulls it at once. |
remove_calendar | Disconnect an external calendar: its blocked dates are freed, and the holds X-Lock placed for them on the partner calendars are released. |
sync_calendar | Pull one external calendar now. Returns how many events it brought in, or the error the feed gave. |
get_availability | The company's fleet calendar: every boat with its partner links, and every event that takes dates — bookings, options, blocks and synced partner or iCal events — each with its source. Read it before add_block to see what a range already holds. |
add_block | Block dates on one of the operator's boats so they cannot be booked. On a partner-synced boat the hold is placed on that partner too, and with X-Lock on also on the other partner. Returns the stored block and how each hold went. |
remove_block | Remove a block the operator placed, freeing its dates and releasing the partner holds it placed. |
list_bookings | Every booking on the operator's boats, newest charter first. `status` and `payment_status` give the stage: `waitlist` is On waitlist (queued behind another hold), unpaid `pending` or `accepted` is an Option that lapses at `hold_expires_at`, and a booking with money in is booked. Each row states the |
get_booking | One booking in full: stage (as in list_bookings), dates, guest, price lines, the operator's payout and `payout_schedule`, the payments coming to the operator with their due dates (empty until the booking is paid). Read-only. |
get_earnings | The company's earnings: total and monthly payouts, payouts still pending on accepted bookings, and the latest bookings, in the currency the operator is paid in. |