Serveur MCP

YachtFinder

co.yachtfinder/yachtfinder
Commerce et retail Voyage et hôtellerie Public et accessible MCP 2025-11-25

Ce que fait ce MCP

Searches yacht listings for sale, charter, or sold status and provides yacht facts and recent AIS locations.

find_yachts
Find yachts
Search YachtFinder's catalogue of about 20,000 yachts by builder, length, asking price, build year, status (for sale, for charter, reported sold, not for sale) and place. Returns up to 25 yachts, longest first by default, each with her status, the broker's asking price, YachtFinder's estimate where her page shows one, and a link to her page on yachtfinder.co. `near` keeps yachts whose AIS position, as the site publishes it, lies within `radius_km` of a named harbour or anchorage; `listed_in` matches the town or country the broker's listing states.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'near': {'type': 'string', 'maxLength': 80, 'description': 'A harbour, harbour town or anchorage by name, e.g. "Port Hercule", "Antibes", "Fort Lauderdale", "Off Monaco".'}, 'sort': {'enum': ['longest', 'price_high', 'price_low', 'newest'], 'type': 'string', 'default': 'longest'}, 'limit': {'type': 'integer', 'default': 10, 'maximum': 25, 'minimum': 1}, 'status': {'enum': ['for_sale', 'for_charter', 'reported_sold', 'not_for_sale', 'any'], 'type': 'string', 'default': 'for_sale', 'description': 'Default for_sale. for_charter includes yachts offered for both.'}, 'builder': {'type': 'string', 'maxLength': 60, 'description': 'Shipyard, e.g. "Benetti", "Feadship", "Lürssen". Case and accents are ignored.'}, 'max_year': {'type': 'integer', 'maximum': 2100, 'minimum': 1850, 'description': 'Latest build year.'}, 'min_year': {'type': 'integer', 'maximum': 2100, 'minimum': 1850, 'description': 'Earliest build year.'}, 'listed_in': {'type': 'string', 'maxLength': 60, 'description': 'Town or country named in the broker\'s listing, e.g. "Fort Lauderdale", "Italy". This is where the listing says she is, not an AIS position.'}, 'radius_km': {'type': 'number', 'maximum': 100, 'description': 'With near: the radius. Default 2 km for a harbour, 3 km for an anchorage.', 'exclusiveMinimum': 0}, 'max_length_m': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': 'Maximum length overall, metres.'}, 'min_length_m': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': 'Minimum length overall, metres.'}, 'max_price_usd': {'type': 'number', 'minimum': 0, 'description': 'Maximum asking price in whole US dollars.'}, 'min_price_usd': {'type': 'number', 'minimum': 0, 'description': 'Minimum asking price in whole US dollars (20000000 = $20M). Only yachts with a published asking price are compared.'}, 'name_contains': {'type': 'string', 'maxLength': 60, 'description': "Part of the yacht's name."}, 'seen_within_hours': {'type': 'integer', 'maximum': 2880, 'minimum': 1, 'description': 'With near: only AIS positions this recent. Default: any position the site publishes (up to 120 days).'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['summary', 'data_as_of', 'read_at', 'answered_at', 'source', 'notes', 'total_matches', 'results'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}}, 'source': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}}}, 'read_at': {'type': 'string', 'description': 'When this server read that catalogue (ISO 8601).'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'status', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Her address on yachtfinder.co (the last part of url); yacht_facts accepts it.'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'year': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}, 'status': {'enum': ['for sale', 'for charter', 'reported sold', 'not for sale'], 'type': 'string'}, 'builder': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'length_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'position': {'anyOf': [{'type': 'object', 'properties': {'in_port': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'seen_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}, 'distance_km': {'type': 'number'}}}, {'type': 'null'}]}, 'listed_location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'asking_price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': "The broker's asking price in US dollars; null when none is published. Never a sale price."}, 'our_estimate_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': "YachtFinder's model estimate, only where her page shows one. Not an appraisal, not a sale price."}, 'price_on_application': {'type': 'boolean'}, 'last_asking_price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'For a reported-sold or not-for-sale yacht, her last asking price. Not a sale price.'}}}}, 'summary': {'type': 'string'}, 'data_as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When YachtFinder last rebuilt the catalogue this answer was read from (ISO 8601).'}, 'answered_at': {'type': 'string'}, 'total_matches': {'type': 'integer'}}}
yacht_facts
One yacht's facts
One yacht's facts from YachtFinder: builder, year, length, status, the broker's asking price (never a sale price), YachtFinder's estimate where her page shows one, her published AIS position with its time, where her listing says she is, and her page on yachtfinder.co, with the source and date of each fact. Takes her name (add builder or length_m when several yachts share it) or her yachtfinder.co/y/ link.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'required': ['yacht'], 'properties': {'yacht': {'type': 'string', 'maxLength': 200, 'minLength': 1, 'description': 'Her name, e.g. "Lady Lara", or her yachtfinder.co/y/ link or the id from another answer.'}, 'builder': {'type': 'string', 'maxLength': 60, 'description': 'Her builder, to choose between yachts of the same name.'}, 'length_m': {'type': 'number', 'maximum': 200, 'minimum': 0, 'description': 'Her length in metres, to choose between yachts of the same name.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['summary', 'data_as_of', 'read_at', 'answered_at', 'source', 'notes', 'found'], 'properties': {'found': {'enum': ['one', 'several'], 'type': 'string'}, 'notes': {'type': 'array', 'items': {'type': 'string'}}, 'yacht': {'type': 'object'}, 'source': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}}}, 'matches': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'status', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Her address on yachtfinder.co (the last part of url); yacht_facts accepts it.'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'year': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}, 'status': {'enum': ['for sale', 'for charter', 'reported sold', 'not for sale'], 'type': 'string'}, 'builder': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'length_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'position': {'anyOf': [{'type': 'object', 'properties': {'in_port': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'seen_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}, 'distance_km': {'type': 'number'}}}, {'type': 'null'}]}, 'listed_location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'asking_price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': "The broker's asking price in US dollars; null when none is published. Never a sale price."}, 'our_estimate_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': "YachtFinder's model estimate, only where her page shows one. Not an appraisal, not a sale price."}, 'price_on_application': {'type': 'boolean'}, 'last_asking_price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'For a reported-sold or not-for-sale yacht, her last asking price. Not a sale price.'}}}}, 'read_at': {'type': 'string', 'description': 'When this server read that catalogue (ISO 8601).'}, 'summary': {'type': 'string'}, 'data_as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When YachtFinder last rebuilt the catalogue this answer was read from (ISO 8601).'}, 'answered_at': {'type': 'string'}}}
yachts_near
Yachts near a place
List the yachts whose latest AIS position, as yachtfinder.co publishes it, lies within a radius of a named harbour or anchorage (e.g. "Port Hercule", "Antibes", "Off Monaco") or of a latitude and longitude. By default only positions from the last 24 hours. Each yacht comes with the time of her fix, her distance from the place, whether the harbour's page counts her in port, and a link to her page. A yacht whose position the site does not publish is never listed.
Lecture seule Idempotent
Schéma d’entrée
{'type': 'object', 'properties': {'limit': {'type': 'integer', 'default': 20, 'maximum': 50, 'minimum': 1}, 'place': {'type': 'string', 'maxLength': 80, 'description': 'A harbour, harbour town or anchorage by name. Give this, or latitude and longitude.'}, 'status': {'enum': ['for_sale', 'for_charter', 'reported_sold', 'not_for_sale', 'any'], 'type': 'string', 'default': 'any'}, 'latitude': {'type': 'number', 'maximum': 90, 'minimum': -90}, 'longitude': {'type': 'number', 'maximum': 180, 'minimum': -180}, 'radius_km': {'type': 'number', 'maximum': 100, 'description': 'Default 2 km for a harbour, 3 km for an anchorage, 10 km for a coordinate.', 'exclusiveMinimum': 0}, 'seen_within_hours': {'type': 'integer', 'default': 24, 'maximum': 2880, 'minimum': 1, 'description': 'Only positions this recent. Default 24.'}}, 'additionalProperties': False}
Schéma de sortie
{'type': 'object', 'required': ['summary', 'data_as_of', 'read_at', 'answered_at', 'source', 'notes', 'place', 'total_matches', 'results'], 'properties': {'notes': {'type': 'array', 'items': {'type': 'string'}}, 'place': {'type': 'object', 'properties': {'kind': {'type': 'string'}, 'label': {'type': 'string'}, 'radius_km': {'type': 'number'}, 'seen_within_hours': {'type': 'integer'}}}, 'source': {'type': 'object', 'properties': {'url': {'type': 'string'}, 'name': {'type': 'string'}}}, 'read_at': {'type': 'string', 'description': 'When this server read that catalogue (ISO 8601).'}, 'results': {'type': 'array', 'items': {'type': 'object', 'required': ['id', 'name', 'status', 'url'], 'properties': {'id': {'type': 'string', 'description': 'Her address on yachtfinder.co (the last part of url); yacht_facts accepts it.'}, 'url': {'type': 'string'}, 'name': {'type': 'string'}, 'year': {'anyOf': [{'type': 'integer'}, {'type': 'null'}]}, 'status': {'enum': ['for sale', 'for charter', 'reported sold', 'not for sale'], 'type': 'string'}, 'builder': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'length_m': {'anyOf': [{'type': 'number'}, {'type': 'null'}]}, 'position': {'anyOf': [{'type': 'object', 'properties': {'in_port': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'seen_at': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'latitude': {'type': 'number'}, 'longitude': {'type': 'number'}, 'distance_km': {'type': 'number'}}}, {'type': 'null'}]}, 'listed_location': {'anyOf': [{'type': 'string'}, {'type': 'null'}]}, 'asking_price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': "The broker's asking price in US dollars; null when none is published. Never a sale price."}, 'our_estimate_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': "YachtFinder's model estimate, only where her page shows one. Not an appraisal, not a sale price."}, 'price_on_application': {'type': 'boolean'}, 'last_asking_price_usd': {'anyOf': [{'type': 'number'}, {'type': 'null'}], 'description': 'For a reported-sold or not-for-sale yacht, her last asking price. Not a sale price.'}}}}, 'summary': {'type': 'string'}, 'data_as_of': {'anyOf': [{'type': 'string'}, {'type': 'null'}], 'description': 'When YachtFinder last rebuilt the catalogue this answer was read from (ISO 8601).'}, 'answered_at': {'type': 'string'}, 'total_matches': {'type': 'integer'}}}
Ajouté
yacht_facts
30 September 2026 02:40
Ajouté
yachts_near
30 September 2026 02:40
Ajouté
find_yachts
30 September 2026 02:40