The Charter Desk
REMOTE · THECHARTERDESK.COM
Live prices, free weeks and deals on 9,000+ charter yachts from 800+ operators in 50 countries.
Available components
Last scanned (5 hours ago)
Scores higher than 53% of remote servers
Reachable. Last reached 5 Nov 2026.
Category E-commerce
Recent critical change
Authorization (2 Nov 2026). See the changelog before you install this server.
How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →
Endpoint Security63
- The endpoint's TLS certificate is valid, in date, and uses a strong key. View diagnostics → Pass
- Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (request_quote). See how to fix → View diagnostics → Fail
- HTTPS is enforced; there's no plaintext access path. View diagnostics → Pass
- The HSTS (Strict-Transport-Security) header is present. View diagnostics → Pass
- DNSSEC check failed: this domain isn't protected by DNSSEC. See how to fix → View diagnostics → Fail
Transport & Reachability100
- Verified streamable-http transport via a live MCP handshake. View diagnostics → Pass
Schema Quality & AI Usability71
- 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
- AI-judged instruction clarity (good).Pass
- Context-footprint check failed: tool/resource definitions use about 3068 tokens (~438/item across 7 items; 5 tools + 2 resources), over budget; trim descriptions and params. See how to fix → Fail
- Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management17
- Stability observed for 5 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage100
- 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
- 100% of tool parameters carry a description.Pass
- Structured output schemas are declared (100% of tools); any adoption earns full credit.Pass
Tool Safety100
- No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
- We read all 5 captured tool definition(s), and no name or description among them implies an irreversible operation.Pass
- An AI judge read all 7 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities73
- Spec-recency check failed: implements MCP spec 2025-06-18; the latest is 2026-07-28. See how to fix → Fail
- Supports UI / widget rendering.Pass
Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.
- 5 Nov 26 0
- “best_deals” reworded the description of “charter_types” cosmetic
- “best_deals” reworded the description of “place” cosmetic
- “best_deals” reworded the description of “yacht_types” cosmetic
- “search_yachts” reworded the description of “charter_types” cosmetic
- “search_yachts” reworded the description of “place” cosmetic
- “search_yachts” reworded the description of “yacht_types” cosmetic
6 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.
- 4 Nov 26 +1
- “best_deals” reworded the description of “charter_types” cosmetic
- “best_deals” reworded the description of “yacht_types” cosmetic
- “price_range” reworded the description of “place” cosmetic
- “search_yachts” reworded the description of “charter_types” cosmetic
- “search_yachts” reworded the description of “yacht_types” cosmetic
5 cosmetic changes on this day. Switch on “Show cosmetic changes” to see them.
- 3 Nov 26 +1
- Schema quality: 504 → 438 ▲ functional
- First check of Capabilities: pass functional
- New resource “answer-card” functional
- “best_deals” reworded the description of “charter_types” cosmetic
- “best_deals” reworded the description of “place” cosmetic
- “best_deals” reworded the description of “yacht_types” cosmetic
- “search_yachts” reworded the description of “charter_types” cosmetic
- “search_yachts” reworded the description of “place” cosmetic
- “search_yachts” reworded the description of “yacht_types” cosmetic
- 2 Nov 26 −6
- Authorization: partial → fail ▼ critical
- The server rewrote its instructions, which are the text every model session reads security
- Tool “request_quote” rewrote its description, which is the text the model reads security
- Tool “best_deals” rewrote its description, which is the text the model reads security
- Tool “get_yacht” rewrote its description, which is the text the model reads security
- Tool “price_range” rewrote its description, which is the text the model reads security
- Tool “search_yachts” rewrote its description, which is the text the model reads security
- Tool “request_quote” is now declared destructive security
- Schema quality: 627 → 504 ▲ functional
- “best_deals” reworded the description of “limit” cosmetic
- “best_deals” reworded the description of “place” cosmetic
- “best_deals” reworded the description of “sort” cosmetic
- “get_yacht” reworded the description of “limit” cosmetic
- “request_quote” reworded the description of “session” cosmetic
- “search_yachts” reworded the description of “limit” cosmetic
- “search_yachts” reworded the description of “place” cosmetic
- “search_yachts” reworded the description of “sort” cosmetic
- “best_deals” reworded the description of “charter_types” cosmetic
- “best_deals” reworded the description of “yacht_types” cosmetic
- “price_range” reworded the description of “place” cosmetic
- “price_range” reworded the description of “type” cosmetic
- “search_yachts” reworded the description of “charter_types” cosmetic
- “search_yachts” reworded the description of “yacht_types” cosmetic
- “best_deals” dropped the optional parameter “beamMax” cosmetic
- “best_deals” dropped the optional parameter “beamMin” cosmetic
- “best_deals” dropped the optional parameter “draftMax” cosmetic
- “best_deals” dropped the optional parameter “draftMin” cosmetic
- “best_deals” dropped the optional parameter “email” cosmetic
- “best_deals” dropped the optional parameter “fuelMax” cosmetic
- “best_deals” dropped the optional parameter “fuelMin” cosmetic
- “best_deals” dropped the optional parameter “name” cosmetic
- “best_deals” dropped the optional parameter “phone” cosmetic
- “best_deals” dropped the optional parameter “session” cosmetic
- “best_deals” dropped the optional parameter “waterMax” cosmetic
- “best_deals” dropped the optional parameter “waterMin” cosmetic
- “best_deals” dropped the optional parameter “yearMax” cosmetic
- “best_deals” dropped the optional parameter “yearMin” cosmetic
- “get_yacht” dropped the optional parameter “email” cosmetic
- “get_yacht” dropped the optional parameter “name” cosmetic
- “get_yacht” dropped the optional parameter “phone” cosmetic
- “get_yacht” dropped the optional parameter “session” cosmetic
- “price_range” dropped the optional parameter “email” cosmetic
- “price_range” dropped the optional parameter “name” cosmetic
- “price_range” dropped the optional parameter “phone” cosmetic
- “price_range” dropped the optional parameter “session” cosmetic
- “search_yachts” dropped the optional parameter “beamMax” cosmetic
- “search_yachts” dropped the optional parameter “beamMin” cosmetic
- “search_yachts” dropped the optional parameter “draftMax” cosmetic
- “search_yachts” dropped the optional parameter “draftMin” cosmetic
- “search_yachts” dropped the optional parameter “email” cosmetic
- “search_yachts” dropped the optional parameter “fuelMax” cosmetic
- “search_yachts” dropped the optional parameter “fuelMin” cosmetic
- “search_yachts” dropped the optional parameter “name” cosmetic
- “search_yachts” dropped the optional parameter “phone” cosmetic
- “search_yachts” dropped the optional parameter “session” cosmetic
- “search_yachts” dropped the optional parameter “waterMax” cosmetic
- “search_yachts” dropped the optional parameter “waterMin” cosmetic
- “search_yachts” dropped the optional parameter “yearMax” cosmetic
- “search_yachts” dropped the optional parameter “yearMin” cosmetic
- 1 Nov 26 0
- Stability: unverified → 0.03 ▲ functional
- “best_deals” reworded the description of “charter_types” cosmetic
- “best_deals” reworded the description of “yacht_types” cosmetic
- “search_yachts” reworded the description of “charter_types” cosmetic
- “search_yachts” reworded the description of “yacht_types” cosmetic
- 31 Oct 26 71
First indexed and scored.
Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.
Captured 5 Nov 2026 · Probed https://thecharterdesk.com/mcp
TLS valid
Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .
| Subject | Issuer | Valid from | Valid until | Key | Signature | Serial |
|---|---|---|---|---|---|---|
| CN=thecharterdesk.com | CN=YE2,O=Let's Encrypt,C=US | 1 Nov 2026 | 30 Jan 2027 | ECDSA 256 | ECDSA-SHA384 | 6473f4f75f2d31d2f87e68733124543a23f |
| SANs: thecharterdesk.com | ||||||
| CN=YE2,O=Let's Encrypt,C=US (CA) | CN=Root YE,O=ISRG,C=US | 3 Sept 2025 | 2 Sept 2028 | ECDSA 384 | ECDSA-SHA384 | 4df3b15dd6c0784c507cd37b58e6f115 |
| CN=Root YE,O=ISRG,C=US (CA) | CN=ISRG Root X2,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | ECDSA-SHA384 | 872165fc34b6e5fba8add5b3705fb53a |
| CN=ISRG Root X2,O=Internet Security Research Group,C=US (CA) | CN=ISRG Root X1,O=Internet Security Research Group,C=US | 13 May 2026 | 2 Sept 2032 | ECDSA 384 | SHA256-RSA | 6c8f1dc727c7117f7baf853ac980f9cd |
Background: What to check on a remote MCP endpoint →
DNSSEC insecure
Validation of thecharterdesk.com. — Not signed
| Zone | DS | Keys | Algorithms | Outcome |
|---|---|---|---|---|
| . | trust_anchor | 20326, 38696 | 8, 8 | Verified |
| com. | present | 19718 | 13 | Verified |
| thecharterdesk.com. | absent | Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation |
Authentication No authorisation required
The endpoint answered without asking for a token. Anyone who knows the URL can reach it.
| Result | No authorisation required |
|---|---|
| HTTP status | 200 |
| Header | Value |
|---|---|
| strict-transport-security | max-age=63072000; includeSubDomains; preload |
| content-security-policy | default-src 'none'; frame-ancestors 'none' |
| x-content-type-options | nosniff |
| x-frame-options | SAMEORIGIN |
| referrer-policy | strict-origin-when-cross-origin |
| permissions-policy | camera=(self), microphone=(self), geolocation=(), interest-cohort=() |
Background: How OAuth 2.1 works in the 2026 MCP spec →
Transports 2 probes
| Transport | URL | Outcome | Status | Location |
|---|---|---|---|---|
| streamable-http | https://thecharterdesk.com/mcp | Verified | 200 | |
| http (plaintext) | http://thecharterdesk.com/mcp | HTTPS enforced | 308 | https://thecharterdesk.com/mcp |
The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →
best_deals Best deals ~930
Use it when the person asks for deals, specials, discounts or last-minute offers. It answers discounted departures of this site's yachts, read from the live inventory: only a discount the source itself states (a special, or a price under its list price), never a computed gap; by default from tomorrow to 30 days ahead, leaving out a departure the yacht's calendar shows taken. One row per yacht: its page link (the id get_yacht and request_quote take), a photo and its departures, each with its dates, every route it leaves on, nights, price, list price, mandatory extras and saving, in the order asked. Narrow with the same typed filters as search_yachts. When none match, the rows are the nearest deals and nearest says what was widened. Paged: total and cursor. For given days whatever the price, call search_yachts.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | – | The exact base it leaves from, in words. |
| berthsMax | number | – | Berths at most (on this site 0 to 80). |
| berthsMin | number | – | Berths at least (on this site 0 to 80). |
| cabinsMax | number | – | Cabins at most (on this site 0 to 20). |
| cabinsMin | number | – | Cabins at least (on this site 0 to 20). |
| charter_types | array | – | Charter Types: any of these value ids (one or more): all-inclusive (All-inclusive, 47); bareboat (Bareboat, 7891); cabin-charter (Cabin charter, 98); crewed (Crewed, 1333); day-charter (Day charter,… |
| cursor | string | – | The cursor a previous answer returned, for its next page. |
| from | string | – | Earliest departure, YYYY-MM-DD. |
| headsMax | number | – | Heads at most (on this site 0 to 23). |
| headsMin | number | – | Heads at least (on this site 0 to 23). |
| lengthMax | number | – | Length at most ft (on this site 13.35 to 180.45). |
| lengthMin | number | – | Length at least ft (on this site 13.35 to 180.45). |
| limit | number | – | Rows per page: at most 10 when browsing, 20 once the person is signed in. |
| party | number | – | How many people. |
| place | string | – | Where, in words or as a place id: a region, country or area, and everything in it, e.g. Mediterranean, Worldwide, Caribbean, North America, Greece, Croatia, Italy, France, Turkey, British Virgin Isla… |
| priceMax | number | – | The most to pay, in the site currency: the price plus the mandatory extras. |
| priceMin | number | – | The least to pay, in the site currency: the price plus the mandatory extras. |
| sort | string | – | saving (default, biggest first), departure (soonest first), price (cheapest first), or length (length, biggest first), cabins (cabins, biggest first), berths (berths, biggest first), heads (heads, bi… |
| text | string | – | Words in its name or model, e.g. a builder or a model name. |
| to | string | – | Latest departure, YYYY-MM-DD. |
| yacht_types | array | – | Yacht Types: any of these value ids (one or more): catamarans (Catamarans, 2886); gulets (Gulets, 143); houseboats (Houseboats, 1362); motorboats (Motorboats, 699); sailboats (Sailboats, 4161). |
| Name | Type | Req | Description |
|---|---|---|---|
| browsing | boolean | – | true: answered without sign-in, so fewer rows and the first pages only. |
| checkedAt | string|null | – | When the offers were read, ISO time. |
| cursor | string|null | – | Pass as cursor for the next page; null on the last. |
| from | string | – | The window's first day. |
| nearest | object | – | Only when nothing matched exactly: these rows are the nearest match. |
| next | string | – | When browsing: how to get a quote or more rows. |
| notApplied | array | – | What could not narrow the deals. |
| rows | array | yes | One page of deals, one row per item with its departures. |
| through | string | – | Its last day. |
| total | number | yes | How many rows match in all. |
No examples provided.
get_yacht Get one yacht ~258
Use it once the person names or picks one yacht from a search_yachts or best_deals answer: pass its page link, exactly as that answer returned it, as id. It answers the yacht's facts and terms as the source states them (packages, included, required and optional extras, deposit, check-in days and times, stay limits, equipment, the operator's descriptions) and its availability: with from / to, that stay's status and price and, when it is not free, the nearest free stays; without dates, its free stays, soonest first. A field left out is one the source does not state. To compare several, call search_yachts.
| Name | Type | Req | Description |
|---|---|---|---|
| cursor | string | – | The cursor a previous answer returned, for its next page. |
| from | string | – | Check-in day, YYYY-MM-DD. |
| id | string | yes | The yacht's page link (an absolute URL on this site), exactly as a search or best_deals returned it. |
| limit | number | – | Rows per page: at most 10 when browsing, 20 once the person is signed in. |
| party | number | – | How many people. |
| to | string | – | Check-out day, YYYY-MM-DD. |
| Name | Type | Req | Description |
|---|---|---|---|
| availability | object | – | With dates: that stay and, when not free, the nearest free stays; without: its free stays, soonest first. |
| browsing | boolean | – | true: answered without sign-in, so fewer rows and the first pages only. |
| checkedAt | string|null | – | When the source was read, ISO time. |
| description | string | – | Its description. |
| equipment | array | – | Named equipment in groups. |
| facts | array | – | The facts its page shows, labelled. |
| href | string | yes | Its page on this site, absolute URL. |
| item | string | yes | Its name. |
| kind | string | – | Its type. |
| next | string | – | When browsing: how to get a quote or more rows. |
| operatorDescriptions | array | – | The operator's own texts and documents. |
| packages | array | – | The ways it is sold, the default first, each with its included, required and optional extras. |
| place | string | – | Where it is. |
| terms | object | – | Deposit, licence, stay limits, check-in days and times, as stated. |
No examples provided.
price_range Price range ~216
Use it when the person asks what a stay costs and has no exact days or yacht yet. Pass the place they named (in words, or a place value an invalid_place answer listed), the month and the party, and one type if they gave it. It answers the range of open departures there (p25, median and p75, in minor units of the currency), how many items it is from, the cheapest published one that fits and when the figures were built; seasonNote says in words how another month compares. An unknown place answers with the places that have figures. For yachts free on their days, call search_yachts.
| Name | Type | Req | Description |
|---|---|---|---|
| month | string | yes | YYYY-MM. |
| party | number | yes | How many people. |
| place | string | yes | Where, in words (a region, a country or an area inside one), or a place value as an unknown_place answer lists them. |
| type | string | – | Optional: one Yacht Types value id, the same ids yacht_types takes. Leave out for any. |
| Name | Type | Req | Description |
|---|---|---|---|
| browsing | boolean | – | true: answered without sign-in, so fewer rows and the first pages only. |
| cheapest | object|null | – | The cheapest published item that fits. |
| currency | string | yes | ISO 4217. |
| extrasMedianMinor | number|null | – | The usual mandatory extras, minor units. |
| items | number | yes | How many items the figures are from. |
| lastMinuteSharePct | number|null | – | Share of soon departures discounted. |
| month | string | – | The month the figures are for, YYYY-MM. |
| next | string | – | When browsing: how to get a quote or more rows. |
| noneFitParty | boolean | – | true: no item there takes the party. |
| place | string | – | The place answered, in the site's words (e.g. Italy). |
| placeId | string | – | That place's value (e.g. country:italy), to pass back as place. |
| range | object|null | – | p25, p50 (median), p75 in minor units of the currency (e.g. cents); null when too few items. |
| seasonHint | object|null | – | Another month against this one: pct cheaper there (negative: dearer). |
| seasonNote | string | – | The season hint in words, to tell the person. |
| thin | boolean | – | true: few items, a rough figure. |
No examples provided.
request_quote Request a formal quote ~337
Use it only after the person chose one or more yachts from a search_yachts, best_deals or get_yacht answer, gave their days and party, and said yes to a written quote: ask them before you call it. Pass the page links exactly as those answers returned them, the days, the party and anything they want the desk to know, in their words. The desk sends a formal quote in writing, with every cost on it, to the person's own email or phone; this answer only says it was received and where the quote goes. Nothing is booked or paid: the person confirms the booking with the desk.
| Name | Type | Req | Description |
|---|---|---|---|
| string | – | The person's own email, as they gave it: the quote is sent there. This, phone or session is needed. | |
| from | string | – | Check-in day, YYYY-MM-DD. |
| items | array | yes | The yacht page links to quote (absolute URLs on this site), exactly as a search, best_deals or get returned them. At most 20. |
| name | string | – | Optional: the person's name, as they gave it. |
| notes | string | – | What the person wants the desk to know, in their words (at most 2000 characters). |
| party | number | – | How many people. |
| phone | string | – | The person's own phone, international form (+ and country code), as they gave it. This, email or session is needed. |
| session | string | – | The session an earlier request_quote answer returned. Pass it instead of email or phone. |
| to | string | – | Check-out day, YYYY-MM-DD. |
| Name | Type | Req | Description |
|---|---|---|---|
| enquiryRef | string | – | The request's reference, returned once. |
| nextStep | string | yes | Where the written quote goes, in words to tell the person. |
| session | string | – | Only on the call that created the contact: pass it from then on. |
| sessionExpiresAt | string | – | When that session stops working, ISO time. |
| status | string | yes | received: the desk has the request; already_received: this session asked the same in the last day. |
No examples provided.
search_yachts Search yachts ~966
Use it when the person describes the yachts they want: where, when, how many people, a size, a type or a budget. Pass each wish as its typed filter (a list is any of its values; every filter must hold), and from / to whenever they gave exact days. With dates every row is free for that stay and carries its price, list price, discount and when the source was checked (checkedAt); without dates each row has its from-price. priceMin / priceMax count the mandatory extras. Every row links to its page on this site, with a photo: send the person there. notApplied lists the wishes that could not narrow the search. When nothing matches exactly, the rows are the nearest match and nearest says what was widened: tell the person. Paged: total and cursor. For deals or last-minute offers call best_deals; for what a stay costs before any dates, price_range; once they name or pick one, get_yacht.
| Name | Type | Req | Description |
|---|---|---|---|
| base | string | – | The exact base it leaves from, in words. |
| berthsMax | number | – | Berths at most (on this site 0 to 80). |
| berthsMin | number | – | Berths at least (on this site 0 to 80). |
| cabinsMax | number | – | Cabins at most (on this site 0 to 20). |
| cabinsMin | number | – | Cabins at least (on this site 0 to 20). |
| charter_types | array | – | Charter Types: any of these value ids (one or more): all-inclusive (All-inclusive, 47); bareboat (Bareboat, 7891); cabin-charter (Cabin charter, 98); crewed (Crewed, 1333); day-charter (Day charter,… |
| cursor | string | – | The cursor a previous answer returned, for its next page. |
| discountOnly | boolean | – | true: only those with a discount the source states. |
| from | string | – | Check-in day, YYYY-MM-DD. |
| headsMax | number | – | Heads at most (on this site 0 to 23). |
| headsMin | number | – | Heads at least (on this site 0 to 23). |
| lengthMax | number | – | Length at most ft (on this site 13.35 to 180.45). |
| lengthMin | number | – | Length at least ft (on this site 13.35 to 180.45). |
| limit | number | – | Rows per page: at most 10 when browsing, 20 once the person is signed in. |
| party | number | – | How many people. |
| place | string | – | Where, in words or as a place id: a region, country or area, and everything in it, e.g. Mediterranean, Worldwide, Caribbean, North America, Greece, Croatia, Italy, France, Turkey, British Virgin Isla… |
| priceMax | number | – | The most to pay, in the site currency: the price plus the mandatory extras. |
| priceMin | number | – | The least to pay, in the site currency: the price plus the mandatory extras. |
| sort | string | – | price (default, cheapest first), discount (biggest first), or length (length, biggest first), cabins (cabins, biggest first), berths (berths, biggest first), heads (heads, biggest first). |
| text | string | – | Words in its name or model, e.g. a builder or a model name. |
| to | string | – | Check-out day, YYYY-MM-DD. |
| yacht_types | array | – | Yacht Types: any of these value ids (one or more): catamarans (Catamarans, 2886); gulets (Gulets, 143); houseboats (Houseboats, 1362); motorboats (Motorboats, 699); sailboats (Sailboats, 4161). |
| Name | Type | Req | Description |
|---|---|---|---|
| browsing | boolean | – | true: answered without sign-in, so fewer rows and the first pages only. |
| checked | boolean | – | true: dates were given, so every row is free for them. |
| checkedAt | string|null | – | When the source was read, ISO time. |
| cursor | string|null | – | Pass as cursor for the next page; null on the last. |
| items | array | yes | One page of matches. |
| leftOutUnpriced | number | – | Matches left out under priceMin / priceMax because no price is known. |
| nearest | object | – | Only when nothing matched exactly: these rows are the nearest match. |
| next | string | – | When browsing: how to get a quote or more rows. |
| notApplied | array | – | What the person asked for that could not narrow the search. |
| total | number | yes | How many rows match in all. |
| unchecked | array | – | What was said but could not be checked. |
No examples provided.
How do I install the The Charter Desk MCP server?
The Charter Desk is a hosted endpoint at https://thecharterdesk.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.
remote · thecharterdesk.com
claude mcp add --transport http com-thecharterdesk-yacht-charter 'https://thecharterdesk.com/mcp'
What is the The Charter Desk MCP server?
The Charter Desk is an MCP server listed in the public MCP registry as com.thecharterdesk/yacht-charter. Live prices, free weeks and deals on 9,000+ charter yachts from 800+ operators in 50 countries. This page covers its hosted endpoint (https://thecharterdesk.com/mcp).
Is the The Charter Desk MCP server safe to use?
The Charter Desk scores 67 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.
What tools does the The Charter Desk MCP server expose?
The Charter Desk exposes 5 tools: search_yachts, get_yacht, price_range, best_deals, request_quote. Their descriptions and schemas cost roughly 2,707 tokens of context every time the server is loaded.
Does the The Charter Desk MCP server require authentication?
No. We connected to The Charter Desk without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.
Is the The Charter Desk MCP server still maintained?
The Charter Desk is still listed as active in the MCP registry. We last reached this channel on 5 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.