Open Waters AIS
Live AIS vessel positions by MMSI, name, area, or radius, plus coverage. No sign-in, no key.
Sollte ich dies verwenden
Qualität und Sicherheit
Basierend auf einer automatisierten Analyse der Tool-Definitionen und der Einhaltung des Protokolls.
Kontextkosten
Dies ist die ungefähre Anzahl der Tokens, die jedes Mal verbraucht werden, wenn die Tools des Servers in den Kontext eines Modells geladen werden. Höhere Werte verringern die Aufmerksamkeit, die für andere Aufgaben verfügbar ist.
Installieren
Installation mit einem Klick
Fügen Sie dies Ihrer Datei `claude_desktop_config.json` hinzu:
{
"mcpServers": {
"ais": {
"url": "https://ais.openwaters.io/mcp"
}
}
}Remote-Endpunkte
https://ais.openwaters.io/mcpstreamable-httpWas es kann
Tool-Inventar
Tools (6)
🟢find_vessels_in_area(bbox, kind, flag, types, limit)
Vessels currently inside a latitude/longitude bounding box, newest report first, with optional kind and ship-type filters. Use for what is in a port, a strait, or a stretch of coast. Anonymous calls may cover 100 square degrees per call.
Eingabe-Schema
{
"type": "object",
"properties": {
"bbox": {
"type": "object",
"properties": {
"min_lat": {
"type": "number",
"description": "south edge, degrees, -90 to 90"
},
"min_lon": {
"type": "number",
"description": "west edge, degrees, -180 to 180"
},
"max_lat": {
"type": "number",
"description": "north edge, degrees, -90 to 90"
},
"max_lon": {
"type": "number",
"description": "east edge, degrees, -180 to 180"
}
},
"required": [
"min_lat",
"min_lon",
"max_lat",
"max_lon"
],
"additionalProperties": false
},
"kind": {
"type": "string",
"description": "only this kind: vessel, aton (aid to navigation), base (base station), or sar (search and rescue aircraft)"
},
"flag": {
"type": "string",
"description": "only vessels flying this flag: ISO 3166-1 alpha-2, e.g. NO, FI, MH"
},
"types": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"description": "only these ITU ship type codes, e.g. 30 fishing, 36 sailing, 37 pleasure craft, 52 tug, 60 passenger, 70 cargo, 80 tanker; a code ending in 0 matches its decade, so 70 matches 70 to 79"
},
"limit": {
"type": "integer",
"description": "rows to return: default 50, maximum 200"
}
},
"required": [
"bbox"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"vessels": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"mmsi": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"name": {
"type": "string",
"description": "name from the vessel's static data, when heard"
},
"kind": {
"type": "string",
"description": "vessel, aton (aid to navigation), base (base station), or sar (search and rescue aircraft)"
},
"type": {
"type": "integer",
"description": "ITU ship and cargo type code, or the aid type for an aton",
"minimum": 0,
"maximum": 255
},
"type_name": {
"type": "string"
},
"lat": {
"type": [
"null",
"number"
],
"description": "latitude of the last position, degrees; absent when no position has been heard"
},
"lon": {
"type": [
"null",
"number"
],
"description": "longitude of the last position, degrees"
},
"cog": {
"type": [
"null",
"number"
],
"description": "course over ground, degrees true"
},
"sog": {
"type": [
"null",
"number"
],
"description": "speed over ground, knots"
},
"heading": {
"type": [
"null",
"integer"
],
"description": "true heading, degrees",
"minimum": 0,
"maximum": 65535
},
"nav_status": {
"type": [
"null",
"integer"
],
"description": "AIS navigational status code",
"minimum": 0,
"maximum": 255
},
"nav_status_name": {
"type": "string"
},
"flag": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code of the flag state, from the MMSI's maritime identification digits"
},
"imo": {
"type": "integer",
"description": "IMO number, once the vessel's static data has been heard",
"minimum": 0,
"maximum": 4294967295
},
"callsign": {
"type": "string"
},
"destination": {
"type": "string",
"description": "destination as typed by the crew: a port name, a UN/LOCODE, or nothing useful"
},
"eta": {
"type": "string",
"description": "estimated arrival as sent, MM-DD HH:MM UTC or MM-DD; AIS carries no year, so read it as the next occurrence"
},
"draught": {
"type": [
"null",
"number"
],
"description": "maximum static draught, metres"
},
"length": {
"type": [
"null",
"integer"
],
"description": "overall length, metres",
"minimum": 0,
"maximum": 65535
},
"beam": {
"type": [
"null",
"integer"
],
"description": "beam, metres",
"minimum": 0,
"maximum": 65535
},
"seen": {
"type": "string",
"description": "time of the last message heard, RFC 3339 UTC"
},
"age_s": {
"type": "integer",
"description": "seconds since seen"
},
"source": {
"type": "string",
"description": "feed or station kind the last message came from"
},
"station": {
"type": "string"
},
"distance_nm": {
"type": [
"null",
"number"
],
"description": "nautical miles from the search centre (find_vessels_near)"
},
"bearing": {
"type": [
"null",
"number"
],
"description": "degrees true from the search centre to the vessel (find_vessels_near)"
}
},
"required": [
"mmsi",
"kind",
"seen",
"age_s",
"source",
"station"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"description": "vessels matched before the limit was applied"
},
"truncated": {
"type": "boolean",
"description": "true when total exceeds the rows returned; narrow the query or raise limit"
},
"unknown_mmsi": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "requested MMSIs matching no vessel the network has heard"
},
"unknown_imo": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "requested IMO numbers matching no vessel the network has heard"
},
"attribution": {
"type": "object",
"description": "credit line per source kind in the rows, to show with the data",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"vessels",
"total",
"truncated",
"attribution"
],
"additionalProperties": false
}🟢find_vessels_near(lat, lon, mmsi, radius_nm, kind, ...)
Vessels within a radius (default 10 NM, maximum 50) of a point or of another vessel's last known position, nearest first, each with distance and bearing from the centre. Use for what is near this position or what is around vessel X.
Eingabe-Schema
{
"type": "object",
"properties": {
"lat": {
"type": [
"null",
"number"
],
"description": "centre latitude, degrees; give lat and lon, or mmsi"
},
"lon": {
"type": [
"null",
"number"
],
"description": "centre longitude, degrees"
},
"mmsi": {
"type": "integer",
"description": "centre on this vessel's last position instead of lat and lon; the vessel itself is left out of the results",
"minimum": 0,
"maximum": 4294967295
},
"radius_nm": {
"type": "number",
"description": "search radius in nautical miles: default 10, maximum 50"
},
"kind": {
"type": "string",
"description": "only this kind: vessel, aton, base, or sar"
},
"flag": {
"type": "string",
"description": "only vessels flying this flag: ISO 3166-1 alpha-2, e.g. NO, FI, MH"
},
"types": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 255
},
"description": "only these ITU ship type codes; a code ending in 0 matches its decade"
},
"limit": {
"type": "integer",
"description": "rows to return: default 50, maximum 200"
}
},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"vessels": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"mmsi": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"name": {
"type": "string",
"description": "name from the vessel's static data, when heard"
},
"kind": {
"type": "string",
"description": "vessel, aton (aid to navigation), base (base station), or sar (search and rescue aircraft)"
},
"type": {
"type": "integer",
"description": "ITU ship and cargo type code, or the aid type for an aton",
"minimum": 0,
"maximum": 255
},
"type_name": {
"type": "string"
},
"lat": {
"type": [
"null",
"number"
],
"description": "latitude of the last position, degrees; absent when no position has been heard"
},
"lon": {
"type": [
"null",
"number"
],
"description": "longitude of the last position, degrees"
},
"cog": {
"type": [
"null",
"number"
],
"description": "course over ground, degrees true"
},
"sog": {
"type": [
"null",
"number"
],
"description": "speed over ground, knots"
},
"heading": {
"type": [
"null",
"integer"
],
"description": "true heading, degrees",
"minimum": 0,
"maximum": 65535
},
"nav_status": {
"type": [
"null",
"integer"
],
"description": "AIS navigational status code",
"minimum": 0,
"maximum": 255
},
"nav_status_name": {
"type": "string"
},
"flag": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code of the flag state, from the MMSI's maritime identification digits"
},
"imo": {
"type": "integer",
"description": "IMO number, once the vessel's static data has been heard",
"minimum": 0,
"maximum": 4294967295
},
"callsign": {
"type": "string"
},
"destination": {
"type": "string",
"description": "destination as typed by the crew: a port name, a UN/LOCODE, or nothing useful"
},
"eta": {
"type": "string",
"description": "estimated arrival as sent, MM-DD HH:MM UTC or MM-DD; AIS carries no year, so read it as the next occurrence"
},
"draught": {
"type": [
"null",
"number"
],
"description": "maximum static draught, metres"
},
"length": {
"type": [
"null",
"integer"
],
"description": "overall length, metres",
"minimum": 0,
"maximum": 65535
},
"beam": {
"type": [
"null",
"integer"
],
"description": "beam, metres",
"minimum": 0,
"maximum": 65535
},
"seen": {
"type": "string",
"description": "time of the last message heard, RFC 3339 UTC"
},
"age_s": {
"type": "integer",
"description": "seconds since seen"
},
"source": {
"type": "string",
"description": "feed or station kind the last message came from"
},
"station": {
"type": "string"
},
"distance_nm": {
"type": [
"null",
"number"
],
"description": "nautical miles from the search centre (find_vessels_near)"
},
"bearing": {
"type": [
"null",
"number"
],
"description": "degrees true from the search centre to the vessel (find_vessels_near)"
}
},
"required": [
"mmsi",
"kind",
"seen",
"age_s",
"source",
"station"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"description": "vessels matched before the limit was applied"
},
"truncated": {
"type": "boolean",
"description": "true when total exceeds the rows returned; narrow the query or raise limit"
},
"unknown_mmsi": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "requested MMSIs matching no vessel the network has heard"
},
"unknown_imo": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "requested IMO numbers matching no vessel the network has heard"
},
"attribution": {
"type": "object",
"description": "credit line per source kind in the rows, to show with the data",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"vessels",
"total",
"truncated",
"attribution"
],
"additionalProperties": false
}🟢get_coverage(bbox, station)
Where Open Waters AIS is hearing AIS right now: sources with their current delay, stations, freshness, and vessel counts. Pass a bounding box to learn which stations cover it and how many vessels are in it, or a station id for that station's numbers. Call this before saying a region has no traffic.
Eingabe-Schema
{
"type": "object",
"properties": {
"bbox": {
"type": [
"null",
"object"
],
"properties": {
"min_lat": {
"type": "number",
"description": "south edge, degrees, -90 to 90"
},
"min_lon": {
"type": "number",
"description": "west edge, degrees, -180 to 180"
},
"max_lat": {
"type": "number",
"description": "north edge, degrees, -90 to 90"
},
"max_lon": {
"type": "number",
"description": "east edge, degrees, -180 to 180"
}
},
"description": "report the stations covering this box and the vessels currently in it",
"required": [
"min_lat",
"min_lon",
"max_lat",
"max_lon"
],
"additionalProperties": false
},
"station": {
"type": "string",
"description": "a station id from an earlier result, for that station's numbers"
}
},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"time": {
"type": "string"
},
"summary": {
"type": "string"
},
"sources": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"kind": {
"type": "string"
},
"description": {
"type": "string"
},
"vessels": {
"type": "integer",
"description": "distinct vessels heard from this source in the last 30 minutes"
},
"vessels_exclusive": {
"type": "integer",
"description": "of those, heard by no other source"
},
"events_24h": {
"type": "integer"
},
"last_age_s": {
"type": "integer",
"description": "seconds since the source last delivered a message"
},
"delay": {
"type": [
"null",
"object"
],
"properties": {
"p50": {
"type": "number",
"description": "median delay in seconds"
},
"p99": {
"type": "number",
"description": "99th percentile delay in seconds"
}
},
"description": "seconds from broadcast to arrival over the last position reports from this source",
"required": [
"p50",
"p99"
],
"additionalProperties": false
},
"license": {
"type": "string"
},
"attribution": {
"type": "string"
}
},
"required": [
"kind",
"vessels",
"vessels_exclusive",
"events_24h",
"last_age_s",
"license",
"attribution"
],
"additionalProperties": false
}
},
"stations": {
"type": "object",
"properties": {
"total": {
"type": "integer"
},
"active": {
"type": "integer",
"description": "heard within the last 5 minutes"
}
},
"required": [
"total",
"active"
],
"additionalProperties": false
},
"vessels": {
"type": "object",
"properties": {
"total": {
"type": "integer",
"description": "vessels heard in the last 30 minutes"
},
"with_position": {
"type": "integer"
}
},
"required": [
"total",
"with_position"
],
"additionalProperties": false
},
"events_per_second": {
"type": "number"
},
"area": {
"type": [
"null",
"object"
],
"properties": {
"bbox": {
"type": "object",
"properties": {
"min_lat": {
"type": "number",
"description": "south edge, degrees, -90 to 90"
},
"min_lon": {
"type": "number",
"description": "west edge, degrees, -180 to 180"
},
"max_lat": {
"type": "number",
"description": "north edge, degrees, -90 to 90"
},
"max_lon": {
"type": "number",
"description": "east edge, degrees, -180 to 180"
}
},
"required": [
"min_lat",
"min_lon",
"max_lat",
"max_lon"
],
"additionalProperties": false
},
"vessels": {
"type": "integer",
"description": "vessels with a position inside the box"
},
"stations": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"station": {
"type": "string"
},
"source": {
"type": "string"
},
"vessels": {
"type": "integer",
"description": "distinct vessels heard in the last 30 minutes"
},
"events_24h": {
"type": "integer"
},
"last_age_s": {
"type": "integer"
},
"bbox": {
"type": [
"null",
"object"
],
"properties": {
"min_lat": {
"type": "number",
"description": "south edge, degrees, -90 to 90"
},
"min_lon": {
"type": "number",
"description": "west edge, degrees, -180 to 180"
},
"max_lat": {
"type": "number",
"description": "north edge, degrees, -90 to 90"
},
"max_lon": {
"type": "number",
"description": "east edge, degrees, -180 to 180"
}
},
"description": "extent of the positions this station has heard",
"required": [
"min_lat",
"min_lon",
"max_lat",
"max_lon"
],
"additionalProperties": false
}
},
"required": [
"station",
"source",
"vessels",
"events_24h",
"last_age_s"
],
"additionalProperties": false
},
"description": "stations whose heard extent overlaps the box"
}
},
"required": [
"bbox",
"vessels",
"stations"
],
"additionalProperties": false
},
"station": {
"type": [
"null",
"object"
],
"properties": {
"station": {
"type": "string"
},
"source": {
"type": "string"
},
"vessels": {
"type": "integer",
"description": "distinct vessels heard in the last 30 minutes"
},
"events_24h": {
"type": "integer"
},
"last_age_s": {
"type": "integer"
},
"bbox": {
"type": [
"null",
"object"
],
"properties": {
"min_lat": {
"type": "number",
"description": "south edge, degrees, -90 to 90"
},
"min_lon": {
"type": "number",
"description": "west edge, degrees, -180 to 180"
},
"max_lat": {
"type": "number",
"description": "north edge, degrees, -90 to 90"
},
"max_lon": {
"type": "number",
"description": "east edge, degrees, -180 to 180"
}
},
"description": "extent of the positions this station has heard",
"required": [
"min_lat",
"min_lon",
"max_lat",
"max_lon"
],
"additionalProperties": false
}
},
"required": [
"station",
"source",
"vessels",
"events_24h",
"last_age_s"
],
"additionalProperties": false
},
"note": {
"type": "string"
}
},
"required": [
"time",
"summary",
"sources",
"stations",
"vessels",
"events_per_second"
],
"additionalProperties": false
}🟢get_vessel_track(mmsi, from, to, interval_minutes, limit)
The positions heard from one vessel over a time range in the last 48 hours, oldest first, with speed, course, and navigational status. Use for where a ship was yesterday, when it left port, or its route today. By default the positions are spread evenly over the range; interval_minutes sets the spacing.
Eingabe-Schema
{
"type": "object",
"properties": {
"mmsi": {
"type": "integer",
"description": "the vessel's MMSI; use search_vessels_by_name first when you only have a name",
"minimum": 0,
"maximum": 4294967295
},
"from": {
"type": "string",
"description": "start, RFC 3339 UTC; default 24 hours before to. Positions reach back 48 hours"
},
"to": {
"type": "string",
"description": "end, RFC 3339 UTC; default now"
},
"interval_minutes": {
"type": "integer",
"description": "at most one position per this many minutes; by default the positions are spread evenly over the range"
},
"limit": {
"type": "integer",
"description": "positions to return: default 50, maximum 200; when more match, the newest are kept"
}
},
"required": [
"mmsi"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"mmsi": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"name": {
"type": "string"
},
"from": {
"type": "string",
"description": "start of the range covered, after clamping to the last 48 hours"
},
"to": {
"type": "string"
},
"positions": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"seen": {
"type": "string",
"description": "time of the report, RFC 3339 UTC"
},
"lat": {
"type": "number"
},
"lon": {
"type": "number"
},
"sog": {
"type": [
"null",
"number"
],
"description": "speed over ground, knots"
},
"cog": {
"type": [
"null",
"number"
],
"description": "course over ground, degrees true"
},
"heading": {
"type": [
"null",
"integer"
],
"description": "true heading, degrees",
"minimum": 0,
"maximum": 65535
},
"nav_status": {
"type": [
"null",
"integer"
],
"description": "AIS navigational status code",
"minimum": 0,
"maximum": 255
},
"nav_status_name": {
"type": "string"
}
},
"required": [
"seen",
"lat",
"lon"
],
"additionalProperties": false
},
"description": "oldest first"
},
"truncated": {
"type": "boolean",
"description": "true when more positions matched than were returned; the newest were kept, so set from later or raise interval_minutes"
},
"attribution": {
"type": "object",
"description": "credit line per source kind in the positions, to show with the data",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"mmsi",
"from",
"to",
"positions",
"truncated",
"attribution"
],
"additionalProperties": false
}🟢get_vessels(mmsi, imo)
Last known position and particulars of specific vessels by MMSI (Maritime Mobile Service Identity) or IMO number: the last report heard for each, however long ago, with destination, ETA, draught, and dimensions once its static data has been heard, and which identifiers match no vessel the network has heard. Use search_vessels_by_name first when you only have a name.
Eingabe-Schema
{
"type": "object",
"properties": {
"mmsi": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "MMSIs to look up; anonymous calls may pass 10 identifiers per call, a personal token 50"
},
"imo": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "IMO numbers to look up, counted with mmsi against the same cap; a vessel is found by IMO only once its static data has been heard"
}
},
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"vessels": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"mmsi": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"name": {
"type": "string",
"description": "name from the vessel's static data, when heard"
},
"kind": {
"type": "string",
"description": "vessel, aton (aid to navigation), base (base station), or sar (search and rescue aircraft)"
},
"type": {
"type": "integer",
"description": "ITU ship and cargo type code, or the aid type for an aton",
"minimum": 0,
"maximum": 255
},
"type_name": {
"type": "string"
},
"lat": {
"type": [
"null",
"number"
],
"description": "latitude of the last position, degrees; absent when no position has been heard"
},
"lon": {
"type": [
"null",
"number"
],
"description": "longitude of the last position, degrees"
},
"cog": {
"type": [
"null",
"number"
],
"description": "course over ground, degrees true"
},
"sog": {
"type": [
"null",
"number"
],
"description": "speed over ground, knots"
},
"heading": {
"type": [
"null",
"integer"
],
"description": "true heading, degrees",
"minimum": 0,
"maximum": 65535
},
"nav_status": {
"type": [
"null",
"integer"
],
"description": "AIS navigational status code",
"minimum": 0,
"maximum": 255
},
"nav_status_name": {
"type": "string"
},
"flag": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code of the flag state, from the MMSI's maritime identification digits"
},
"imo": {
"type": "integer",
"description": "IMO number, once the vessel's static data has been heard",
"minimum": 0,
"maximum": 4294967295
},
"callsign": {
"type": "string"
},
"destination": {
"type": "string",
"description": "destination as typed by the crew: a port name, a UN/LOCODE, or nothing useful"
},
"eta": {
"type": "string",
"description": "estimated arrival as sent, MM-DD HH:MM UTC or MM-DD; AIS carries no year, so read it as the next occurrence"
},
"draught": {
"type": [
"null",
"number"
],
"description": "maximum static draught, metres"
},
"length": {
"type": [
"null",
"integer"
],
"description": "overall length, metres",
"minimum": 0,
"maximum": 65535
},
"beam": {
"type": [
"null",
"integer"
],
"description": "beam, metres",
"minimum": 0,
"maximum": 65535
},
"seen": {
"type": "string",
"description": "time of the last message heard, RFC 3339 UTC"
},
"age_s": {
"type": "integer",
"description": "seconds since seen"
},
"source": {
"type": "string",
"description": "feed or station kind the last message came from"
},
"station": {
"type": "string"
},
"distance_nm": {
"type": [
"null",
"number"
],
"description": "nautical miles from the search centre (find_vessels_near)"
},
"bearing": {
"type": [
"null",
"number"
],
"description": "degrees true from the search centre to the vessel (find_vessels_near)"
}
},
"required": [
"mmsi",
"kind",
"seen",
"age_s",
"source",
"station"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"description": "vessels matched before the limit was applied"
},
"truncated": {
"type": "boolean",
"description": "true when total exceeds the rows returned; narrow the query or raise limit"
},
"unknown_mmsi": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "requested MMSIs matching no vessel the network has heard"
},
"unknown_imo": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "requested IMO numbers matching no vessel the network has heard"
},
"attribution": {
"type": "object",
"description": "credit line per source kind in the rows, to show with the data",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"vessels",
"total",
"truncated",
"attribution"
],
"additionalProperties": false
}🟢search_vessels_by_name(name, bbox, flag, limit)
Vessels whose name contains the text, case-insensitive, among every vessel the network has heard, each with its last known position. Use to turn a name into an MMSI, then get_vessels or find_vessels_near for detail. An optional bounding box narrows the search.
Eingabe-Schema
{
"type": "object",
"properties": {
"name": {
"type": "string",
"description": "text to find in the vessel name, at least 2 characters, case-insensitive"
},
"bbox": {
"type": [
"null",
"object"
],
"properties": {
"min_lat": {
"type": "number",
"description": "south edge, degrees, -90 to 90"
},
"min_lon": {
"type": "number",
"description": "west edge, degrees, -180 to 180"
},
"max_lat": {
"type": "number",
"description": "north edge, degrees, -90 to 90"
},
"max_lon": {
"type": "number",
"description": "east edge, degrees, -180 to 180"
}
},
"description": "only vessels whose last position is inside this box",
"required": [
"min_lat",
"min_lon",
"max_lat",
"max_lon"
],
"additionalProperties": false
},
"flag": {
"type": "string",
"description": "only vessels flying this flag: ISO 3166-1 alpha-2, e.g. NO, FI, MH"
},
"limit": {
"type": "integer",
"description": "rows to return: default 50, maximum 200"
}
},
"required": [
"name"
],
"additionalProperties": false
}Ausgabe-Schema
{
"type": "object",
"properties": {
"vessels": {
"type": [
"null",
"array"
],
"items": {
"type": "object",
"properties": {
"mmsi": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"name": {
"type": "string",
"description": "name from the vessel's static data, when heard"
},
"kind": {
"type": "string",
"description": "vessel, aton (aid to navigation), base (base station), or sar (search and rescue aircraft)"
},
"type": {
"type": "integer",
"description": "ITU ship and cargo type code, or the aid type for an aton",
"minimum": 0,
"maximum": 255
},
"type_name": {
"type": "string"
},
"lat": {
"type": [
"null",
"number"
],
"description": "latitude of the last position, degrees; absent when no position has been heard"
},
"lon": {
"type": [
"null",
"number"
],
"description": "longitude of the last position, degrees"
},
"cog": {
"type": [
"null",
"number"
],
"description": "course over ground, degrees true"
},
"sog": {
"type": [
"null",
"number"
],
"description": "speed over ground, knots"
},
"heading": {
"type": [
"null",
"integer"
],
"description": "true heading, degrees",
"minimum": 0,
"maximum": 65535
},
"nav_status": {
"type": [
"null",
"integer"
],
"description": "AIS navigational status code",
"minimum": 0,
"maximum": 255
},
"nav_status_name": {
"type": "string"
},
"flag": {
"type": "string",
"description": "ISO 3166-1 alpha-2 code of the flag state, from the MMSI's maritime identification digits"
},
"imo": {
"type": "integer",
"description": "IMO number, once the vessel's static data has been heard",
"minimum": 0,
"maximum": 4294967295
},
"callsign": {
"type": "string"
},
"destination": {
"type": "string",
"description": "destination as typed by the crew: a port name, a UN/LOCODE, or nothing useful"
},
"eta": {
"type": "string",
"description": "estimated arrival as sent, MM-DD HH:MM UTC or MM-DD; AIS carries no year, so read it as the next occurrence"
},
"draught": {
"type": [
"null",
"number"
],
"description": "maximum static draught, metres"
},
"length": {
"type": [
"null",
"integer"
],
"description": "overall length, metres",
"minimum": 0,
"maximum": 65535
},
"beam": {
"type": [
"null",
"integer"
],
"description": "beam, metres",
"minimum": 0,
"maximum": 65535
},
"seen": {
"type": "string",
"description": "time of the last message heard, RFC 3339 UTC"
},
"age_s": {
"type": "integer",
"description": "seconds since seen"
},
"source": {
"type": "string",
"description": "feed or station kind the last message came from"
},
"station": {
"type": "string"
},
"distance_nm": {
"type": [
"null",
"number"
],
"description": "nautical miles from the search centre (find_vessels_near)"
},
"bearing": {
"type": [
"null",
"number"
],
"description": "degrees true from the search centre to the vessel (find_vessels_near)"
}
},
"required": [
"mmsi",
"kind",
"seen",
"age_s",
"source",
"station"
],
"additionalProperties": false
}
},
"total": {
"type": "integer",
"description": "vessels matched before the limit was applied"
},
"truncated": {
"type": "boolean",
"description": "true when total exceeds the rows returned; narrow the query or raise limit"
},
"unknown_mmsi": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "requested MMSIs matching no vessel the network has heard"
},
"unknown_imo": {
"type": [
"null",
"array"
],
"items": {
"type": "integer",
"minimum": 0,
"maximum": 4294967295
},
"description": "requested IMO numbers matching no vessel the network has heard"
},
"attribution": {
"type": "object",
"description": "credit line per source kind in the rows, to show with the data",
"additionalProperties": {
"type": "string"
}
}
},
"required": [
"vessels",
"total",
"truncated",
"attribution"
],
"additionalProperties": false
}Empfohlene Prompts
find_vessels_in_areafind_vessels_in_areaget_coverageget_coveragefind_vessels_in_areaget_coverageCommunity
Nachweis