mcpbeat Sign in

Charter Boats MCP Server

answering

Charter Boats is answering right now. Last checked 2 min ago. It exposes 46 tools. Last commit 10 Oct 2026.

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

Uptime history 16 days of history
16 days agonow
100.0%
Uptime 24h
92 of 92 checks
46
Tools
read from the server
181 ms
Response time
average over 24h
0
Stars
last commit 10 Oct 2026

What changed 51

Every tool that appeared, vanished or quietly changed what it asks for. Recorded since 11 October 2026. No other catalogue keeps this.

21 Oct 2 tool descriptions were rewritten compare_boat, get_opportunities
19 Oct 6 tools changed the parameters they ask for compare_boat, get_boat_details, get_boat_standouts and 3 more
19 Oct a tool appeared get_opportunities
19 Oct a tool description was rewritten compare_boat
18 Oct a tool changed the parameters it asks for get_boat_details
17 Oct a tool changed the parameters it asks for search_boats
16 Oct a tool appeared compare_boat
16 Oct a tool description was rewritten list_boats
15 Oct 33 tools appeared add_block, add_calendar, add_fee and 30 more
15 Oct 2 tools changed the parameters they ask for create_discount, update_discount
and 2 more, back to 11 October 2026

Nothing serious here today

Today is the operative word: we check Charter Boats every 15 minutes and re-read its code on every release. Watch it and you find out the day that stops being true.

Three servers free · no card

Connect this server

Endpoint below is the one we actually reach during checks — not the one copied from a README. Last verified 2 min ago.

run in your terminal
claude mcp add charter-boats --transport http https://charter.boats/mcp
Settings → Connectors → Add custom connector, then paste this address
https://charter.boats/mcp
~/.codex/config.toml
[mcp_servers.charter-boats]
url = "https://charter.boats/mcp"
.cursor/mcp.json
{
  "mcpServers": {
    "charter-boats": {
      "url": "https://charter.boats/mcp"
    }
  }
}
.vscode/mcp.json
{
  "servers": {
    "charter-boats": {
      "type": "http",
      "url": "https://charter.boats/mcp"
    }
  }
}

Available tools 46

Read directly from the server with tools/list, grouped by what they act on. If a tool disappears, we record the date.

boat
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_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.
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.
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 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.
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.
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.
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.
discount
create_discount
Create a discount; it comes out of the operator's payout, never out of the platform commission. Returns the stored discount.
delete_discount
End a discount: guests can no longer use it; bookings already made keep it.
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.
fee
add_fee
Add an extra or fee to a boat the operator prices directly. Returns the stored row and `warnings`, other rows it overlaps.
delete_fee
Delete a direct fee row.
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.
price
add_price
Add a season price to a boat the operator prices directly (pricing source direct). Returns the stored row.
delete_price
Delete a direct season price; the dates it covered have no price until another row covers them.
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.
block
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.
boats
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.
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 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 same make), `name` (a boat carrying one word of the name). Say which — they are not what was asked for, and they count toward no total. List them AFTER the matches, in their own list, under a one-line heading naming what was loosened ("Close alternatives — the week either side"): never mixed into the same list. That heading is what splits the two on every card surface, so without it an alternative is rendered exactly like a match. `alternative_inventory` tells you which kind of "no" you are giving: `total_boats` 0 means this coast does not have that boat, while `total_boats` high with `available_nearby_or_within_7_days` 0 means it is the week, not the place. If a plain marina search has neither matches nor alternatives, `listed_unavailable` may carry published boats visibly listed at that exact marina. They are not bookable results: quote no price, explain the supplied reason, and offer an availability alert. A search with NO dates and NO price cap lists every published boat that matches, so `boats` can end with entries we hold no prices for: from `unpriced_start_index` onward every one carries `bookable_as_searched: false` and a `not_offered_because` saying so — they count as matches, but cannot be booked or quoted, so name them, link them and offer an alert without ever stating a price. When you searched a boat by NAME, `named_matches` lists published boats carrying that name that this search could not offer — wrong dates, wrong place, or no prices loaded. Everything bookable AS SEARCHED is in `boats`; nothing in `named_matches` is — though one whose only reason is the place or the dates may still be sellable, which is what its `not_offered_because` tells you. Never say a named boat does not exist while it is in that list: name it, give its reason, and use `get_boat_details` for the dates it IS free. `name_not_found` means the opposite and is certain — that name is in no published boat anywhere. `alert_query` + `alert_horizon` feed availability_alert. Both are absent when this search cannot be expressed on the website (`search_url_unavailable` says so) — then there is no link to give and no alert to set: say so rather than linking charter.boats/search, which would show boats this answer excluded.
calendar
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.
cancellation
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.
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.
company
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.
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.
availability
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.
booking
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.
bookings
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.
calendars
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.
compare
compare_boat
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.
content
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.
cross
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.
discounts
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.
earnings
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.
equipment
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.
location
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 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.
locations
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 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.
opportunities
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.
poi
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.
pois
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.
pricing
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.
routes
search_routes
Find sailing passages between destinations with distance and difficulty.
sync
sync_calendar
Pull one external calendar now. Returns how many events it brought in, or the error the feed gave.
trip
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.
trips
search_trips
Find existing curated sailing itineraries by location, name, duration, activities.

Endpoints

URLTransportStateLatencyChecked
https://charter.boats/mcp streamable-http answering 167 ms 2 min ago

Alternatives to Charter Boats

same job, measured the same way
YachtFinder
by yachtfinder

Search about 20,000 yachts for sale, charter and sold, with where AIS last placed each one.

4 tools answering
SkyAccess
by skyaccess

Search 5,000+ live empty leg flights, get charter estimates and booking links. Free, no API key.

22 installs/wk 6 tools answering
Cuba Te Espera - Charter Flights
by cubateespera

Search published charter flights, routes, schedules and advertised fares to Cuba.

2 tools answering
Game Industry Library
by gameindustrylibrary

Search 300+ game industry reports with hybrid search, claims, charts, and citations.

answering
Fxabsolute
by varsansri

Five years of 1-minute forex, index and crypto candles, plus a live bridge to a trader's chart.

17 installs/wk local only
AviationHS charter quotes
by aviationhs

Price a US private jet charter: search airports, check runway limits, quote a flight.

5 tools answering
Sistaminuten travel search
by sistaminuten

Realtime package holiday and charter flight prices from Sweden. Inventory not on Google Flights.

2 tools answering
Restplass travel search
by restplass

Realtime package holiday and charter flight prices from Norway. Inventory not on Google Flights.

2 tools answering

Charter Boats — questions

Answers built from our own checks of this server.

What can Charter Boats do?
It exposes 46 tools, read directly from the server on our last check. Among them: add_block, add_calendar, add_fee, add_price, compare_boat, create_discount and 40 more. The full list with descriptions is on this page — we take it from the server itself via tools/list, not from a README. How MCP servers expose tools in the first place →
What is Charter Boats mostly used for?
Its tools cluster around boat, price and fee. That is what this server is built to work with — the grouping comes from the actual tool names, not from a category we assigned.
Is Charter Boats working right now?
We send a real MCP handshake every 15 minutes. Over the last 24 hours 92 of 92 checks got a reply (100.0%), average response time 181 ms. The bar chart above shows every period we have measured.
How do I connect Charter Boats?
Copy the ready config from this page. We generate it for Claude Code, Claude Desktop, Codex, Cursor and VS Code, each in the form that client actually reads. It is a remote server, so there is nothing to install — the client connects to the address.
Does Charter Boats need an API key?
No. Charter Boats completed a full MCP handshake with us as an anonymous client and listed its tools without asking for anything. All 46 of them are readable on this page. This is what we observed, not what the docs claim.
How fast is Charter Boats?
It answers our handshake in 181 ms on average, which is faster than 82% of all working MCP servers we measure. That puts it in the quick quarter of the ecosystem. The comparison comes from our own checks across the whole registry, every 15 minutes.
Is Charter Boats open source?
We cannot say either way: 0 stars on GitHub and 1 open issue, but we could not determine the licence, and without one the code is not open source by default.