Vesselapi Mcp

io.github.vessel-apiPublished by GitHub account vessel-apiv2.2.1Updated Nov 1, 2026

MCP server for the VesselAPI: maritime vessel tracking, port events and emissions

VerifiedSTDIODesktop onlyLocation & LifestyleData & Analytics

Overview

AI-generated overview

Exposes VesselAPI maritime data — vessel search, positions, ETAs, port events and EU emissions reports — to an AI assistant.

What you can do
  • Search and look up vessels by name, IMO, MMSI, flag, type or callsign, with details, latest stored position, reported ETA, casualties and batch positions
  • Search ports and read port details, inbound vessels, arrivals and departures, and port events across all covered ports
  • Find vessels by geographic area using a bounding box or a radius around a point
  • List EU MRV emissions reports (CO2, fuel consumption) with an optional reporting-year filter
  • Page through list results manually with limit and nextToken to control API quota use
When to use it
Useful when you want an assistant to answer questions about ships, port calls, vessel movements or shipping emissions without leaving the chat, for example tracking a specific vessel, checking what is arriving at a port, or reviewing EU MRV emissions figures.
Requirements
Runs locally over stdio via npx (Node.js required). Needs a VesselAPI account and an API token created in the VesselAPI dashboard, supplied as the VESSELAPI_API_KEY environment variable. Network access to the VesselAPI service is required.
Before you install
The API token is a credential stored in the client config file; keep it out of shared repositories. Queries consume VesselAPI API quota, so pagination and batch calls affect usage. Position data is the latest stored AIS position and may be hours or days old, and ETAs are declared by the vessel, not predicted. Emissions and casualty data come from EU/EMSA sources and are reused with attribution; EMSA does not endorse the service.

Installation

In SourceWeft

  1. Open Vesselapi Mcp in the dashboard and add it to a workspace.
  2. Enable the server for the chats that should use its tools.

Desktop only via STDIO. STDIO servers start a local process, so they need the SourceWeft desktop host.

Other MCP clients

Follow the launch instructions in the repository.

README

VesselAPI MCP Server

[CI] [npm] [Node] [License: MIT]

[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:

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

bash
git clone https://github.com/vessel-api/vesselapi-mcp.gitcd vesselapi-mcpnpm installnpm run build
bash
npm run build        # Build the servernpm run typecheck    # Type-check without emittingnpm run clean        # Remove build artifacts

Testing with MCP Inspector

bash
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

Source: README.md at commit 8352732

Tools

0
SourceWeft started this package once in an isolated sandbox, without credentials, to list its tools. That failed: the server did not start.

Version history

3
  1. v2.2.1LatestNov 1, 2026
  2. v2.2.0Oct 29, 2026
  3. v1.0.1Sep 16, 2026

Score

50% of the applicable checks met

How complete this listing is, computed from the registry entry, the endpoint and public sources. Not a rating of the server and not a statement that it is safe or working today: reachability is a dated check, and no installs or reviews go into the score.

  • Reached in the last 30 days25 pts

    Keep the endpoint answering the MCP handshake; SourceWeft probes it every 30 days.

  • Auth declared10 pts

    Declare the credential headers in the registry entry, or keep the endpoint answering the probe so its auth can be classified.

  • Tools listed15 pts

    Answer tools/list without a credential, or ship a package that starts in a sandbox without one.

  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts