The VesselAPI MCP Server provides maritime data access through tools for AI assistants, covering vessel tracking, port information, geographic search, and safety alerts.
Vessel Information & Tracking
Search vessels by name, IMO, MMSI, flag, type, or callsign
Retrieve current position (latitude, longitude, speed, heading), ETA, classification details (class society, surveys, hull info), ownership (owner, manager, operator), emissions data (CO2, fuel consumption), port state control inspection records, and marine casualty records
Port Information & Events
Search ports by name, country, type, or region
Get detailed port information by UN/LOCODE
Retrieve port events (arrivals/departures) for a specific port or vessel
Geographic Search
Find vessels within a rectangular bounding box (lat/lon)
Find vessels within a specified radius (nautical miles) from a point
Maritime Safety
Access NAVTEX messages including navigational warnings and weather forecasts
General Features
All list endpoints support pagination via
limitandnextTokenparameters to control API quota usageRequires a
VESSELAPI_API_KEYfrom dashboard.vesselapi.com
VesselAPI MCP Server
An MCP (Model Context Protocol) server that exposes maritime data from the VesselAPI to AI assistants like Claude Desktop, Cursor, Windsurf, and Claude Code.
Prerequisites
Sign up at dashboard.vesselapi.com
Create an API token in your dashboard
Use the token as
VESSELAPI_API_KEYin the configuration below
Resources: Documentation | API Explorer | Dashboard | Contact Support
Features
23 tools covering vessels, ports, location search, emissions, and maritime safety
Vessel search, positions (single and batch), ETA, classification, ownership, emissions, inspections, and casualties
Port search, details, port events (arrivals/departures), and global port event search
Geographic vessel search (bounding box and radius)
NAVTEX maritime safety messages
Manual pagination to control API quota usage
Quick Start
No installation required — just configure your AI client with npx:
{
"mcpServers": {
"vesselapi": {
"command": "npx",
"args": ["-y", "vesselapi-mcp"],
"env": {
"VESSELAPI_API_KEY": "your-api-key"
}
}
}
}Configuration
Add the JSON above to the config file for your client:
Client | Config file |
Claude Desktop |
|
Cursor |
|
Claude Code |
|
Windsurf |
|
Tools
Vessel Tools
Tool | Description |
| Search vessels by name, IMO, MMSI, flag, type, callsign, year built, class society, or owner |
| Get detailed vessel information |
| Get current vessel position (lat/lon, speed, heading) |
| Get vessel estimated time of arrival |
| Get classification details (class society, surveys, hull) |
| Get ownership details (owner, manager, operator) |
| Get emissions data (CO2, fuel consumption) |
| Get port state control inspections |
| Get marine casualty records |
| Get detailed information about a specific inspection |
| Get positions for multiple vessels at once (with optional time range) |
Port Tools
Tool | Description |
| Search ports by name, country, type, size, region, harbor size, or harbor use |
| Get port details by UN/LOCODE |
| Get arrivals/departures for a port |
| Get port events for a vessel |
| List port events globally with filters for time, country, port, vessel, or event type |
| Search port events by port name |
| Search port events by vessel name |
| Get the most recent port event for a vessel |
Emissions Tools
Tool | Description |
| List global vessel emissions data with optional year filter |
Location Tools
Tool | Description |
| Find vessels in a bounding box (with optional time range) |
| Find vessels within a radius of a point (with optional time range) |
Safety Tools
Tool | Description |
| Get NAVTEX maritime safety messages |
Pagination
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.
Development
git clone https://github.com/vessel-api/vesselapi-mcp.git
cd vesselapi-mcp
npm install
npm run buildnpm run build # Build the server
npm run typecheck # Type-check without emitting
npm run clean # Remove build artifactsTesting with MCP Inspector
VESSELAPI_API_KEY=your-key npx @modelcontextprotocol/inspector node dist/index.jsLicense
MIT