Charter Boats

boats.charterPublished by charter.boatsOfficial publisherv1.0.0Updated Nov 1, 2026

Search 14,000+ charter boats with live prices, plus marinas, anchorages, routes and itineraries.

Overview

AI-generated overview

Search 14,000+ charter boats with live prices, plus marinas, anchorages, routes and itineraries, and manage an operator's fleet.

What you can do
  • Search and compare boats by location, dates, capacity and budget, with details, availability, standouts and side-by-side comparison
  • Find marinas, harbours, anchorages and nearby points of interest, with details and seasonal busyness
  • Look up sailing routes, curated multi-day itineraries and articles or FAQs on booking, costs and licences
  • Manage an operator's fleet: list boats and companies, edit boat details, equipment visibility, photos and company profile
  • Maintain pricing, fees, discounts, cancellation policy, X-Lock and external iCal calendars
  • Read the fleet calendar of bookings, options, blocks and synced events
When to use it
Useful when planning a sailing holiday or answering questions about charter destinations, boats, prices and booking terms. Operators who list boats on charter.boats can also use it to maintain their fleet, pricing and availability from a chat client.
Requirements
A remote Streamable HTTP endpoint; no local install. The README states no authentication is needed for the search and lookup tools. Operator tools act on the account the key holder belongs to, so an account or key is implied for those. Network access to the hosted endpoint; rate limits apply.
Before you install
The README calls all eleven tools read-only, but the tool list also includes write operations: updating boats, company details, prices, fees and discounts, deleting photos, prices and fees, setting cancellation policy and X-Lock, and connecting or syncing calendars. These change live listings and availability. Company profile tools expose bank, tax and invoicing details, and calendar tools take a secret iCal address. Some changes are refused for non-owners.

Installation

In SourceWeft

  1. Open Charter Boats in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/boats.charter%2Fcharter-boats/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "charter-boats": {
      "type": "http",
      "url": "https://charter.boats/mcp"
    }
  }
}

README

Charter Boats MCP server

Connect Claude, ChatGPT, Cursor or any MCP client to 14,000+ charter boats worldwide. Search boats by destination, dates, capacity and budget, explore marinas, anchorages, points of interest, sailing routes and curated itineraries, and get the full details of any boat, with live prices and booking links.

Endpoint: https://charter.boats/mcp Transport: Streamable HTTP (JSON-RPC 2.0). No authentication. Install page: open charter.boats/mcp in a browser. Full documentation: docs.charter.boats/api/ai/mcp-server

The server is hosted by Charter Boats. This repository holds its listing metadata (server.json) and logo; the server code is not published here.

Connect

Claude.ai / Claude Desktop (Pro, Max, Team or Enterprise) Settings → Connectors → Add custom connector. Name Charter Boats, URL https://charter.boats/mcp, leave the OAuth fields blank.

Claude Code

claude mcp add --transport http charter-boats https://charter.boats/mcp

ChatGPT Settings → Apps → Create app → MCP Server. Name Charter Boats, URL https://charter.boats/mcp, authentication No authentication. Enable it in a chat with + → Charter Boats.

Cursor — add to ~/.cursor/mcp.json:

json
{  "mcpServers": {    "charter-boats": { "url": "https://charter.boats/mcp" }  }}

MCP Inspector

npx @modelcontextprotocol/inspector

Transport Streamable HTTP, URL https://charter.boats/mcp.

Tools

All eleven tools are read-only.

ToolWhat it does
search_boatsBoats by location, type, dates, capacity, budget. Up to 8, with prices, images and booking links.
search_locationsMarinas, harbours and anchorages by name, by popularity within a region (ranked on observed vessel traffic), or by reach from a place.
search_poisRestaurants, fuel, groceries, shops and attractions near a destination.
search_routesSailing passages between destinations, with distance and difficulty.
search_tripsMulti-day curated itineraries.
search_contentArticles, guides and FAQs on booking, costs, licences, deposits, check-in.
get_boat_detailsFull specs, 365-day availability and prices, fees, discounts, cancellation policy, check-in and check-out times.
get_boat_standoutsWhat is better or worse about one boat than similar boats for a week.
get_poi_detailsDescription, opening hours, address, contact, nearby marinas, offers.
get_location_detailsDescription, amenities, contact, boat count, cheapest day rate, and how busy the place is month by month from tracked vessel traffic.
get_trip_detailsDay-by-day stops, distances, activities, highlights.

Three prompt presets are registered for clients that show them: plan-sailing-trip, find-charter-boat, explore-destination.

search_boats and search_locations render visual cards in clients that support MCP Apps (ChatGPT, Claude).

Try

  • "Find a catamaran in Croatia for 6 guests, July 10–17, under €400/day."
  • "What's near Trogir marina for provisioning?"
  • "Which anchorages in the Ionian are busiest in August?"

Links

Source: README.md at commit 10f9e69

Tools

46

search_boats

Search Charter 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 dates as they gave them. Each boat sets its own changeover day (`checkinout_days`) and its own minimum stay (`min_charter_days`), so the week a boat can actually be sold may not start on the day asked for — `price_summary` always names the real week, and it is the one sentence to quote, as it stands: the boat page's own Total for the stay it names, for the `guests` given (else the boat's max guests), all in (charter, every required fee charged now or at pickup, the 45 EUR platform fee; refundable deposits never), and the discount applied (the percent the site's card shows); a stay other than a week names its dates and length ("for Jun 19–22 (3 nights), 4 guests"); with no dates it is the boat's lowest week ("From", at max guests, precomputed). `list_price` holds the same figures — `total` (the stay's), `per_day` (that total per day for the boat; `from` when no dates were given), `party` (the guests it is priced for), `original_per_day` and `discount_pct` when a discount applies. For Due now, Paid at pickup and each deposit by name call get_boat_details with the dates. No total here includes an optional extra — `price_summary`, `list_price` and the `total_max` screen all leave out a skipper where `skippered` is 'optional', a hostess, a cook — so for a total with one, call get_boat_details with the dates before you answer and add the fee it lists under `fees.optional`, or say the boat lists none — never a typical or estimated rate, and call no budget met or exceeded on one. When `boats` is short, `alternatives` holds the closest boats, and each one's `relaxed` names what it loosened: `dates` (the week either side), `place` (a nearby base), `model` (another model of the sam

Parameterssortlimitcabinsguestssearchdate_tocurrencyfeatureslocationyear_minboat_typedate_from+5 more

search_locations

Search Sailing Destinations

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 measured passage times. Use `from` for "where can I sail from X", "what is a day sail from X", "somewhere quieter nearby". Provide q, or an area, or from.

Parametersqcityfromsorttypelimitmonthregioncountrycurrencywithin_nm

search_pois

Find Nearby Points of Interest

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.

Parametersqlimitcategorylocationlocation_id

search_routes

Find Sailing Routes

Find sailing passages between destinations with distance and difficulty.

Parametersqfromlimitdifficultylocation_id

search_trips

Find Sailing Itineraries

Find existing curated sailing itineraries by location, name, duration, activities.

Parametersqlimitlocationmax_daysmin_daysboat_typeactivitieslocation_id

search_content

Search Sailing Knowledge Base

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.

Parametersqrequiredtypelimit

get_boat_details

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 whenever a boat came back in `named_matches` and they want to know when it IS available. With dates, `stay_price` states Due now, Paid at pickup and Total first, then the charter, its discounts and the deposits.

Parametersidrequiredguestsdate_tocurrencydate_from

get_boat_standouts

What Stands Out About a Boat

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 about a boat, what the catch is, why it is cheap or dear, or how it compares with others. It measures build year, length, cabins, bathrooms, guests, the security deposit and kit — and, with date_from, check-in and check-out times, the changeover day and the open weeks left; any of those it does not list is ordinary among the boats in `compared_with`, so do not sell it as an edge or a catch. Other fees are not compared. Kit is measured two ways and both hold: get_boat_details gives each item its [n%] across the whole fleet, this tool what is rare among boats like it. `rare_kit` lists that rare kit as data, most useful first, each with `useful_score` (1-5: how much it changes a charter week for the people aboard). `note` says whether an absence means "ordinary" or that nothing could be compared.

Parametersidrequiredcurrencyfallbackdate_fromcompare_bycutoff_pct

compare_boat

Compare a Boat With Similar Boats

One boat against up to 10 closest published boats of the same type in the same country: specs and the all-in weekly price (in `currency`, EUR when omitted, 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 specs take search_boats' names: without `id` they describe the boat to compare; with `id` they filter its peers as search_boats would. Only boats open at least one week are compared. `similar_pct` is how alike a peer is: the share of the specs it shares. With `id`, `overlap_pct` is the share of the boat's open weeks the peer is open too. With `id`, `anchor.price` is the boat's weekly figures, a peer's `price` is its figure minus the boat's (its own in the weeks listed in `absolute_weeks`), and a peer carries its `region`, `city`, `same` (the fields it shares with the boat) and only the specs that differ, as signed deltas; without `id` every peer carries its own specs and figures. null = not sellable that week; `weeks` gives each check-in date. Use when someone asks how a boat compares with others nearby on price, size or age — an operator benchmarking their own boat included. For what is better or worse about one boat, use get_boat_standouts.

Parametersidcitylockberthscabinsguestsregioncountrytoiletscurrencyyear_maxyear_min+4 more

get_poi_details

Get Point of Interest 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.

Parametersidrequired

get_location_details

Get Marina/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 fills up), whether it is a hidden gem, the places boats actually sail to from there, most-travelled first with the share of the tracked trips each one takes and an estimated passage time, and the nearest bookable base for a spot with no fleet of its own. Use when the user is viewing or asks about a specific place, asks when it is quiet, or asks where to go next from one. Busyness compares a place to its own peak month, never to another place.

Parametersidrequiredcurrency

get_trip_details

Get Trip/Itinerary 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.

Parametersidrequired

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 to no company.

Parameterscompany_id

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.

Parametersidrequired

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; this call returns the value as it now stands.

Parametersidrequiredyearmodeltitleberthscabinsskippertoiletscapacityfeaturesboat_typelength_ft+13 more

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.

Parametersidrequirednamerequiredhiddenrequired

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.

Parametersidrequiredenable_idimage_idsdisable_id

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.

Parametersidrequiredimage_idrequired

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 counts.

Parameterscompany_idrequired

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 it now stands.

Parameterscityibannameslugaboutemailphonestatetax_idlogo_urlbank_namebic_swift+16 more

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` and `cancel_refund_days`. `policy_applies` false: the company has no MMK or Nausys boat, so its policy governs nothing and cannot be changed.

Parametersidrequired

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 company whose boats are all direct is refused. Read get_cancellation_limits first. Returns the company as it now stands.

Parameterscompany_idrequiredcancel_refund_daysrequiredcancel_refund_percentrequired

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 already there. Returns the company as it now stands. Read the current value with its read tool first; this call returns the value as it now stands.

Parametersenabledrequiredcompany_idrequiredsync_existing

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 runs no discount.

Parameterscompany_idrequired

create_discount

Create a discount; it comes out of the operator's payout, never out of the platform commission. Returns the stored discount.

Parameterscodestay_totriggerboat_idscurrencyend_datemax_usesall_boatsstay_fromauto_applycompany_idrequiredstart_date+3 more

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.

Parametersidrequiredcodestay_toboat_idscurrencyend_datemax_usesall_boatsis_activestay_fromauto_applystart_date+3 more

delete_discount

End a discount: guests can no longer use it; bookings already made keep it.

Parametersidrequired

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_price and delete_price.

Parameterscompany_id

add_price

Add a season price to a boat the operator prices directly (pricing source direct). Returns the stored row.

Parametersidrequirednamerequiredend_dayrequiredpriorityend_monthrequiredstart_dayrequiredstart_monthrequiredprice_per_dayrequired

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.

Parametersidrequirednameend_dayprice_idrequiredpriorityend_monthstart_daystart_monthprice_per_day

delete_price

Delete a direct season price; the dates it covered have no price until another row covers them.

Parametersidrequiredprice_idrequired

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.

Parametersidrequired

add_fee

Add an extra or fee to a boat the operator prices directly. Returns the stored row and `warnings`, other rows it overlaps.

Parametersidrequiredamountrequiredperiodrequiredcategoryrequiredvalid_toon_requestvalid_fromdescriptionrequiredpercentage_basecalculation_typeamount_is_percentage

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.

Parametersidrequiredamountfee_idrequiredperiodcategoryrequiredvalid_toon_requestvalid_fromdescriptionpercentage_basecalculation_type+1 more

delete_fee

Delete a direct fee row.

Parametersidrequiredfee_idrequired

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.

Parametersboat_idrequired

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.

Parametersboat_idrequiredsource_urlrequiredsource_namerequiredsource_type

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.

Parametersidrequired

sync_calendar

Pull one external calendar now. Returns how many events it brought in, or the error the feed gave.

Parametersidrequired

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.

Parameterscompany_idrequired

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.

Parametersnotesend_atrequiredreasonboat_idrequiredstart_atrequired

remove_block

Remove a block the operator placed, freeing its dates and releasing the partner holds it placed.

Parametersidrequired

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 price the guest pays, the discounts and the operator's own payout, in the currency of `payout_money`. Read-only: bookings are handled on the dashboard. An empty list means no bookings yet.

Parametersboat_id

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.

Parametersidrequired

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.

Parameterscompany_idrequired

get_opportunities

The company's Opportunities, as the dashboard's Analysis page shows them, read-only. `boats`: every published boat in the dashboard's order (the charted ones first, then by open weeks), with `open_weeks`, `vs_similar_pct` and `compare_url`, its public compare page. `vs_similar_pct` is how far the boat's weekly price sits over (positive) or under (negative) similar boats, as a median over the weeks it can be sold, each week against the median of the other operators' boats among up to 10 boats most like it of the same type in the same country, where at least 3 of them are priced (null: no week to compare). `price_suggestions`, up to five: `no_prices` (boats with no priced week in the next 12 months), `under` (a boat 15% or more under similar boats, with its widest week: `week`, `own`, `similar`), `over` (a run of two or more weeks 15% or more over them: `from`, `to` and the `own` and `similar` weekly ranges). `source_checks`, up to five: `feature` (kit sold as an extra but missing from the boats' equipment, so guests filtering for it do not see them), `photos` (boats with under half the photos similar boats have; `similar` is their median), `standout` (what Mermaid and the compare page tell guests a boat trails similar boats on). Figures are weekly totals in EUR, all in at max guests. Empty lists mean nothing to suggest.

Parameterscompany_idrequired

Version history

1
  1. v1.0.0LatestOct 10, 2026

Score

90% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.

Other Charter integrations