VesselAPI MCP Server
Server Configuration
Describes the environment variables required to run the server.
| Name | Required | Description | Default |
|---|---|---|---|
| VESSELAPI_API_KEY | Yes | VesselAPI API key for authentication |
Instructions
Guidance the server publishes about itself, which clients place ahead of the tool catalog so the model reads it before choosing anything.
This server publishes no instructions, or was last inspected before Glama recorded them.
Capabilities
Features and capabilities supported by this server
Protocol revision2025-11-25
| Capability | Details |
|---|---|
| tools | {
"listChanged": true
} |
Tools
Functions exposed to the LLM to take actions
| Name | Description |
|---|---|
| search_vesselsA | Search for vessels. Use q when you have an identifier but do not know which kind it is; use the specific filters to narrow a fleet. |
| get_vesselC | Get detailed information about a specific vessel |
| get_vessel_positionB | Get the current position of a vessel (latitude, longitude, speed, heading) |
| get_vessel_etaB | Get the estimated time of arrival for a vessel |
| get_vessel_emissionsB | Get emissions data for a vessel (CO2, fuel consumption) |
| get_vessel_casualtiesC | Get marine casualty records for a vessel |
| get_vessel_positions_batchA | Get positions for multiple vessels at once by MMSI or IMO numbers |
| search_portsB | Search for ports by name, country, type, size, region, harbor size, or harbor use |
| get_portA | Get detailed information about a specific port by UN/LOCODE |
| get_port_inboundA | Get vessels heading to a specific port within an ETA arrival window |
| get_port_eventsA | Get port events (arrivals/departures) for a specific port. Covers only the last 2 hours unless timeFrom is given. |
| get_port_events_by_vesselA | Get port events (arrivals/departures) for a specific vessel |
| list_port_eventsA | List port events (arrivals/departures) globally with optional filters for time, country, port, vessel, or event type |
| search_port_events_by_portA | Search port events by port name. Covers only the last 2 hours unless timeFrom is given. |
| search_port_events_by_vesselA | Search port events by vessel name. Covers only the last 2 hours unless timeFrom is given. |
| get_vessel_last_port_eventB | Get the most recent port event (arrival or departure) for a vessel |
| list_emissionsB | List global vessel emissions data with optional year filter |
| get_vessels_in_areaA | Find all vessels within a rectangular bounding box (latitude/longitude) |
| get_vessels_in_radiusA | Find all vessels within a radius of a point. The radius is in METRES, not nautical miles or kilometres. |
Prompts
Interactive templates invoked by user choice
| Name | Description |
|---|---|
No prompts | |
Resources
Contextual data attached and managed by the client
| Name | Description |
|---|---|
No resources | |
TDQS
Scored across 19 tools
Several tools have heavily overlapping purposes, especially the port event family: search_port_events_by_vessel, get_port_events_by_vessel, search_port_events_by_port, get_port_events, and list_port_events all query similar event data with only subtle filter differences. get_vessel_last_port_event, get_vessel_position, and get_vessel_positions_batch also create boundary confusion. An agent could easily select the wrong tool despite the descriptions.
The tools mostly use snake_case verb_noun naming with get_, search_, and list_ prefixes, but the mix of verbs is inconsistent for similar actions. For example, port events are exposed as get_port_events, search_port_events_by_vessel, get_port_events_by_vessel, and list_port_events, making the naming pattern feel arbitrary. Still, the convention is readable and not chaotic.
Nineteen tools is on the heavy side for a vessel/port data API, especially since several tools appear to cover nearly the same port event queries. The core domain is broad enough to justify many endpoints, but the overlapping tools inflate the count and make the surface feel larger than necessary.
The server covers the main read-only vessel and port domain well: vessel lookup, positions, ETA, emissions, casualties, port details, port events, and area/radius queries are all present. Minor gaps exist, such as no historical vessel track or port call summary endpoint, but agents can generally accomplish core workflows without dead ends.