mcpField
V
Vesselapi Mcp Server

Vesselapi Mcp Server

Local
github.com/vessel-apiMaps & Travel1Updated today

About Vesselapi Mcp Server

VesselAPI MCP Server exposes maritime vessel, port, location, and emissions data to AI assistants through VesselAPI. It is for users who need to search vessels and ports or inspect positions, port activity, and records using a VesselAPI token.

Key features

  1. 01Search vessels by identifiers and attributes
  2. 02Retrieve positions, ETAs, and emissions
  3. 03Search ports and port events
  4. 04Find vessels by geographic area
  5. 05Paginate results manually

Use cases

  1. 01Check vessel position and reported ETA
  2. 02Review arrivals and departures at a port
  3. 03Find vessels within a specified area

MCP support

Provides MCP tools for querying VesselAPI vessel, port, location, and emissions data. Clients authenticate with a `VESSELAPI_API_KEY` token.

Configuration

Local server config is the same for every client. Copy it into your client’s MCP config file.

mcp.json · Universal config
{
"mcpServers": {
"vesselapi": {
"command": "npx",
"args": [
"-y",
"vesselapi-mcp"
]
}
}
}
Run commandnpx -y vesselapi-mcp

Local servers need a runtime on your machine (e.g. Node.js 18+). Config file locations differ by client; see your client’s docs.

Packages
npmvesselapi-mcp2.2.0

Tools

19

Saved tool list · updated 3w ago

ParameterTypeRequiredDescription
qstringNoFree-text search across name, IMO, MMSI, ENI and callsign. Use this when the type of identifier is unknown.
namestringNoVessel name (partial match)
imostringNoIMO number
mmsistringNoMMSI number
enistringNoENI number, used for inland waterway vessels
flagstringNoFlag state (ISO country code)
vesselTypestringNoVessel type
callsignstringNoRadio callsign
yearBuiltMinnumberNoMinimum year built
yearBuiltMaxnumberNoMaximum year built
limitintegerNoResults per page, 1 to 50. Defaults to 20.
nextTokenstringNoPagination token from previous response

Details

From the project README

VesselAPI MCP Server

CI npm Node License: MIT

README image

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

  1. Sign up at dashboard.vesselapi.com
  2. Create an API token in your dashboard
  3. Use the token as VESSELAPI_API_KEY in the configuration below

Resources: Documentation | API Explorer | Dashboard | Contact Support

Features

  • 19 tools covering vessels, ports, location search, and emissions
  • Vessel search, positions (single and batch), ETA, emissions, and casualties
  • Port search, details, port events (arrivals/departures), and port event search across all covered ports
  • Geographic vessel search (bounding box and radius)
  • Manual pagination to control API quota usage

Quick Start

No installation required. 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:

ClientConfig 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 Codeclaude mcp add, which writes .mcp.json in the project or ~/.claude.json for user scope
Windsurf~/.codeium/windsurf/mcp_config.json

Tools

Vessel Tools
ToolDescription
search_vesselsSearch vessels by name, IMO, MMSI, flag, type, callsign, or year built
get_vesselGet detailed vessel information
get_vessel_positionGet the latest stored vessel position (lat/lon, speed, heading, timestamp); it may be hours or days old
get_vessel_etaGet the ETA the vessel last reported (declared, not predicted)
get_vessel_emissionsGet EU MRV emissions reports (CO2, fuel consumption)
get_vessel_casualtiesGet marine casualty records
get_vessel_positions_batchGet positions for multiple vessels at once (with optional time range)
Port Tools
ToolDescription
search_portsSearch ports by name, country, type, size, region, harbor size, or harbor use
get_portGet port details by UN/LOCODE
get_port_inboundGet vessels reporting a port as their destination, within an ETA window
get_port_eventsGet arrivals/departures for a port (last 2 hours unless timeFrom is given)
get_port_events_by_vesselGet port events for a vessel (last 2 hours unless timeFrom is given)
list_port_eventsList port events across all covered ports, with filters for time, country, port, vessel, or event type
search_port_events_by_portSearch port events by port name
search_port_events_by_vesselSearch port events by vessel name
get_vessel_last_port_eventGet the most recent port event for a vessel
Emissions Tools
ToolDescription
list_emissionsList EU MRV emissions reports, with an optional reporting-year filter
Location Tools
ToolDescription
get_vessels_in_areaFind vessels with an AIS position in a bounding box (default last 2 hours, at most 4 hours)
get_vessels_in_radiusFind vessels with an AIS position within a radius of a point (default last 2 hours, at most 4 hours)

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 build
npm run build        # Build the server
npm run typecheck    # Type-check without emitting
npm run clean        # Remove build artifacts
Testing with MCP Inspector
VESSELAPI_API_KEY=your-key npx @modelcontextprotocol/inspector node dist/index.js

Data Sources & Attribution

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.

License

MIT

Comments

Markdown supported

New to MCP?

From what the protocol is to installing your first server, these answers cover most first questions.

An open protocol that defines how AI applications connect to external tools and data in a uniform way. Clients talk to the model; MCP servers provide tools, resources and prompt templates. They exchange standard messages, so one server can be reused by many clients.