
This server connects Claude to VesselAPI's maritime intelligence platform with 23 tools covering vessel tracking, port operations, and emissions data. You can search vessels by IMO or MMSI, pull real-time positions and ETAs, query port arrivals and departures, get inspection records and casualties, and search by geography using bounding boxes or radius queries. It also surfaces NAVTEX safety messages and supports batch position lookups. Reach for this when you need to monitor shipping movements, analyze port traffic patterns, track vessel compliance history, or build maritime logistics workflows. Requires a VesselAPI key from their dashboard. Manual pagination keeps you in control of API quota usage.
An MCP (Model Context Protocol) server that exposes maritime data from the VesselAPI to AI assistants like Claude Desktop, Cursor, Windsurf, and Claude Code.
VESSELAPI_API_KEY in the configuration belowResources: Documentation | API Explorer | Dashboard | Contact Support
A hosted deployment is available on Fronteir AI.
No installation required. Configure your AI client with npx:
{
"mcpServers": {
"vesselapi": {
"command": "npx",
"args": ["-y", "vesselapi-mcp"],
"env": {
"VESSELAPI_API_KEY": "your-api-key"
}
}
}
}
Add the JSON above to the config file for your client:
| Client | Config file |
|---|---|
| Claude Desktop | ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) or %APPDATA%\Claude\claude_desktop_config.json (Windows) |
| Cursor | .cursor/mcp.json or ~/.cursor/mcp.json |
| Claude Code | claude mcp add, which writes .mcp.json in the project or ~/.claude.json for user scope |
| Windsurf | ~/.codeium/windsurf/mcp_config.json |
| Tool | Description |
|---|---|
search_vessels | Search vessels by name, IMO, MMSI, flag, type, callsign, or year built |
get_vessel | Get detailed vessel information |
get_vessel_position | Get current vessel position (lat/lon, speed, heading) |
get_vessel_eta | Get vessel estimated time of arrival |
get_vessel_emissions | Get emissions data (CO2, fuel consumption) |
get_vessel_casualties | Get marine casualty records |
get_vessel_positions_batch | Get positions for multiple vessels at once (with optional time range) |
| Tool | Description |
|---|---|
search_ports | Search ports by name, country, type, size, region, harbor size, or harbor use |
get_port | Get port details by UN/LOCODE |
get_port_inbound | Get vessels inbound to a port within an ETA window |
get_port_events | Get arrivals/departures for a port |
get_port_events_by_vessel | Get port events for a vessel |
list_port_events | List port events globally with filters for time, country, port, vessel, or event type |
search_port_events_by_port | Search port events by port name |
search_port_events_by_vessel | Search port events by vessel name |
get_vessel_last_port_event | Get the most recent port event for a vessel |
| Tool | Description |
|---|---|
list_emissions | List global vessel emissions data with optional year filter |
| Tool | Description |
|---|---|
get_vessels_in_area | Find vessels in a bounding box (with optional time range) |
get_vessels_in_radius | Find vessels within a radius of a point (with optional time range) |
All list endpoints support limit and nextToken parameters for manual pagination. When more results exist, the response includes a nextToken. Pass it in the next call to get the next page.
git clone https://github.com/vessel-api/vesselapi-mcp.git
cd vesselapi-mcp
npm install
npm run build
npm run build # Build the server
npm run typecheck # Type-check without emitting
npm run clean # Remove build artifacts
VESSELAPI_API_KEY=your-key npx @modelcontextprotocol/inspector node dist/index.js
Emissions and casualty data: © European Union. Source: European Maritime Safety Agency (EMSA): THETIS-MRV (EU MRV, Regulation (EU) 2015/757) and the European Marine Casualty Information Platform (EMCIP). Reused under the European Commission reuse notice (Commission Decision 2011/833/EU), which authorises reuse for commercial and non-commercial purposes with acknowledgement of the source. Data may be transformed and combined; EMSA does not endorse this service.
MIT