Open Waters AIS

Live AIS vessel positions by MMSI, name, area, or radius, plus coverage. No sign-in, no key.

¿Debería usar esto?

Calidad y seguridad

A
Calidad de la descripción
97%
Integridad del esquema
94%
Calidad de los nombres
100%
Riesgo de envenenamiento
100%
Coincidencia de permisos
100%
Cumplimiento del protocolo
100%

Basado en el análisis automatizado de las definiciones de herramientas y el cumplimiento del protocolo.

Costo de contexto

~6,257Tokens (definiciones de herramientas)
~11.7 KBTamaño de respuesta típico
Impacto significativo en la atención (4.89% del contexto de 128k)

Este es el número aproximado de tokens que se consumen cada vez que las herramientas del servidor se cargan en el contexto de un modelo. Los recuentos más altos reducen la atención disponible para otras tareas.

Instalar

Instalación con un clic

Agrega esto a tu archivo `claude_desktop_config.json`:

{
  "mcpServers": {
    "ais": {
      "url": "https://ais.openwaters.io/mcp"
    }
  }
}

Puntos de conexión remotos

https://ais.openwaters.io/mcpstreamable-http

Qué puede hacer

Inventario de herramientas

Herramientas (6)

🟢 Solo lectura🟡 Escritura🔴 Eliminación⚪ Desconocido
🟢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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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.

Esquema de entrada

{
  "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
}

Esquema de salida

{
  "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
}

Prompts recomendados

search_research
Search for information about [topic] using Open Waters AIS
Herramientas esperadas: find_vessels_in_area
find_specific
Find [specific item] using Open Waters AIS
Herramientas esperadas: find_vessels_in_area
retrieve_data
Get details about [item] from Open Waters AIS
Herramientas esperadas: get_coverage
fetch_info
Fetch [information type] using Open Waters AIS
Herramientas esperadas: get_coverage
research_workflow
Search for [topic], then get detailed information about the top results using Open Waters AIS
Herramientas esperadas: find_vessels_in_areaget_coverage

Comunidad

Califica este servidor

Evidencia

Observaciones recientes

verificadoversión no registrada6 herramientas
verificadoversión no registrada5 herramientas