AIS Trail

com.aistrailPublished by aistrail.comOfficial publisherv1.6.0Updated Nov 7, 2026

Live AIS ship positions, vessel history, port calls and events, plus sanctions flags. Read-only.

VerifiedStreamable HTTPWeb executableLocation & LifestyleFinanceData & Analytics

Overview

AI-generated overview

Read-only AIS ship tracking: live vessel positions, port lookups, historical tracks, port calls, events and sanctions flags for an AI assistant.

What you can do
  • Search and inspect ships by name, MMSI or IMO, with identity, position, speed, destination and recent track
  • Find ships in a bounding box or within a radius of a point or another ship, and look up ports by name, UN/LOCODE or country
  • Check live ship counts and archive coverage per data source
  • Query archive history: a ship's track between two times, a ship's port calls, arrivals at one port, and vessel events such as stops, AIS gaps and encounters
  • Look up records for up to 20 ships at once with sanctions flags from OFAC SDN, UK and EU lists
When to use it
Useful when you want to ask plain-language questions about ships and ports, such as which tankers are off a given port, where a vessel sailed last week, which ships called at a port, or whether a ship appears on a sanctions list.
Requirements
Remote Streamable HTTP endpoint; nothing to install. Live tools work without credentials. The archive tools (vessel_track, vessel_port_calls, port_calls, expected_arrivals, vessel_events, lookup_vessels) need an AIS Trail API key sent as the Authorization header, so the client must support custom headers; keys come from the AIS Trail dashboard and a Free plan includes one.
Before you install
Archive tools consume the plan's credits and are subject to its history depth and rate limits. The API key is a secret sent in the Authorization header; give each client its own key so it can be revoked separately. Data is what ships broadcast and may be missing, delayed or wrong; it is not for navigation, collision avoidance or search and rescue. Private vessels are excluded from individual results. Results should credit the listed sources.

Installation

In SourceWeft

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

Web executable via Streamable HTTP. Remote servers run from the web runtime once configured in a workspace.

Use with an agent

Paste this prompt into Claude Code, Codex, Cursor or another agent — or into SourceWeft chat. The agent reads this server's install guide, shows you its publisher, endpoint and sign-in, and adds it to your client once you agree. Keys never go into a command.

Read https://sourceweft.com/mcp/com.aistrail%2Fais/install.md and connect the MCP server it describes to my client. Before changing any config, show me its publisher, endpoint and sign-in method and wait for my OK. Never put an API key in a command or in a file I would commit; ask me where it should come from.

Read the install guide the agent follows

Other MCP clients

Add this to your client's mcpServers config.

{
  "mcpServers": {
    "ais-trail": {
      "type": "http",
      "url": "https://api.aistrail.com/mcp"
    }
  }
}

README

[AIS Trail]

AIS Trail MCP Server

Ship data for AI assistants. The AIS Trail MCP server gives Claude, ChatGPT, Cursor and any other Model Context Protocol client read-only access to live AIS positions, vessel history, port calls, vessel events and sanctions list flags.

The server is hosted by AIS Trail, so there is nothing to install: point your client at the endpoint below. This repository holds its public documentation.

Website · Documentation · Live map · Coverage · Pricing

Server

Endpointhttps://api.aistrail.com/mcp
TransportStreamable HTTP, stateless (one JSON response per request)
Protocol versions2026-07-28, 2025-11-25, 2025-06-18, 2025-03-26
AuthenticationAuthorization: Bearer <API key>, required only for the archive tools
Registrycom.aistrail/ais in the official MCP Registry; also on Smithery

Connect

Claude Code

bash
claude mcp add --transport http aistrail https://api.aistrail.com/mcp \  --header "Authorization: Bearer $AIS_TRAIL_KEY"

Run /mcp in Claude Code to confirm that aistrail is connected.

Other clients. Add a remote (Streamable HTTP) server with the same URL and header. For clients configured with JSON, such as VS Code and Cursor:

json
{  "servers": {    "aistrail": {      "type": "http",      "url": "https://api.aistrail.com/mcp",      "headers": { "Authorization": "Bearer YOUR_AIS_TRAIL_KEY" }    }  }}

Leave out the header to use the live tools only; clients that cannot send a header (for example connectors that offer only OAuth) work the same way. API keys are created in the AIS Trail dashboard, and the Free plan includes one. Give each client its own key so it can be revoked separately.

Example questions

Ask in plain words; the assistant picks the tools.

  • "Which tankers are off Helsinki right now?"
  • "Find the ship MYSTAR and show where it sailed three days ago."
  • "Which ships called at Turku last week?"
  • "Is the ship with IMO 1234567 on a sanctions list?"
  • "What happened to MMSI 276859000 last week? Include AIS gaps and encounters."

Tools

All tools are read-only.

ToolAnswersAPI key
search_vesselsShips by name, MMSI or IMO number, live ships firstNo
get_vesselOne ship now: identity, flag, size, position, speed, course, destination, ETA and its recent trackNo
vessels_in_areaShips heard in the last hour inside a box, largest first, optionally by ship typeNo
vessels_nearShips heard in the last hour near a point or another ship, nearest firstNo
find_portPorts by name, UN/LOCODE or countryNo
data_statusLive ship count, archive coverage per source and service statusNo
vessel_trackWhere a ship has been between two timesYes
vessel_port_callsA ship's port calls with draught, cargo estimate and sanctions flagsYes
port_callsArrivals and departures at one port, with the berth where the port's own records give itYes
expected_arrivalsShips expected at one port, from the port's own records (Finnish ports; Pro and Business plans)Yes
vessel_eventsPort and anchorage calls, stops, identity and destination changes, AIS gaps and encountersYes
lookup_vesselsRecords of up to 20 ships at once, with the sanctions lists that name them (OFAC SDN, UK, EU)Yes

Limits and parameters for each tool are in the documentation.

API key and credits

The live tools use no credits. The archive tools call the AIS Trail REST API with your key, so your plan's history depth, credits and rate limits apply exactly as they do in the API:

ToolCredits
vessel_track1 per vessel-day
vessel_port_calls, port_calls1 per port call returned
expected_arrivals1 per ship returned
vessel_events1 per event returned
lookup_vessels1 per vessel found

See Pricing for plans and the REST API documentation for the underlying endpoints.

Data

  • Positions are what ships broadcast over AIS; all times are UTC.
  • Every answer with ship data names the sources to credit. Coverage and sources: coverage map, data sources.
  • Private vessels (pleasure craft, sailing vessels and Class B transponders without a valid IMO number) are never listed or looked up; area and nearby results only count them.
  • Not for navigation.

Support

Open an issue in this repository or write to [email protected].

Use of the server is subject to the Terms of Service and the Privacy Policy.

Source: README.md at commit ed668ff

Tools

12

search_vessels

Search ships

Find ships by name (or part of it), MMSI (9 digits) or IMO number (7 digits). Returns live ships first, then ships out of range with their last known position (up to 7 days). List results are compact rows (mmsi, name, category, flag (ISO code from the MMSI), lat, lon, speed_kn, course_deg, length_m, destination, age_s, status, source); call get_vessel for full details of one ship. Private vessels (pleasure craft, sailing vessels and Class B transponders without a valid IMO number) are never listed or looked up individually; area and nearby results report how many were left out (private_vessels).

Parameterslimitqueryrequired

get_vessel

Ship details and position

Everything known about one ship now: identity (name, IMO, call sign, flag, type, size), last position, speed, course, heading, navigational status, destination (port codes decoded) and ETA as given by the crew, how long ago it was heard, its track over the last 40 minutes, and the data sources to credit. flag (ISO code) and flag_country come from the MMSI: the flag of the radio licence, usually but not always the registry flag. dwt_estimate is an estimate from the AIS dimensions (tonnes, size class such as Panamax or VLCC, hull, draught used), not a registry value; null for tugs, pleasure craft and other types where deadweight does not apply. For archive records and sanctions flags, use lookup_vessels (API key).

Parametersmmsirequired

vessels_in_area

Ships in an area

Ships heard in the last hour inside a box (at most 5° on each side), largest first. List results are compact rows (mmsi, name, category, flag (ISO code from the MMSI), lat, lon, speed_kn, course_deg, length_m, destination, age_s, status, source); call get_vessel for full details of one ship. Private vessels (pleasure craft, sailing vessels and Class B transponders without a valid IMO number) are never listed or looked up individually; area and nearby results report how many were left out (private_vessels).

Parameterslimitmax_latrequiredmax_lonrequiredmin_latrequiredmin_lonrequiredship_type

vessels_near

Ships near a point or ship

Ships heard in the last hour within a radius (at most 50 nautical miles) of a point or of another ship, nearest first. List results are compact rows (mmsi, name, category, flag (ISO code from the MMSI), lat, lon, speed_kn, course_deg, length_m, destination, age_s, status, source); call get_vessel for full details of one ship. Private vessels (pleasure craft, sailing vessels and Class B transponders without a valid IMO number) are never listed or looked up individually; area and nearby results report how many were left out (private_vessels).

Parameterslatlonmmsilimitradius_nm

vessel_track

Ship history (API key)

Where a ship has been between two times (UTC, ISO 8601), from the AIS Trail archive. Needs an AIS Trail API key sent by the MCP client as the HTTP header 'Authorization: Bearer ap_live_…' (keys at https://aistrail.com); clients that cannot add headers (OAuth-only web connectors) cannot use it yet. Resolution: raw (up to 24 h per call), 1m (up to 7 days) or 1h (up to 366 days); at most 200 points per call, as rows of [time, lat, lon, speed_kn, course_deg]. The plan's history depth, credits (as on the track endpoint: 1 per vessel-day) and rate limit apply, and the 24-hour delay on recent data on plans without live data. sources_through gives, per source, the time up to which the archive holds its data; pending_days lists days in the range a source has not delivered yet, so no points on those days does not mean the ship was absent.

Parameterstorequiredfromrequiredmmsirequiredresolution

data_status

Coverage and freshness

How many ships are live now (live_ships_private: how many of them are private vessels, counted only), how many are known from the last 7 days, the date range of the history archive per source with available_until (the latest time vessel_track can return for that source on plans without live data), and the service status: ok or degraded, with reason codes in reasons.

Takes no parameters.

find_port

Find ports

Find ports by name (or part of it), UN/LOCODE (e.g. FIHEL) or two-letter country code (e.g. FI) in the port reference (World Port Index and UN/LOCODE ports): id (for port_calls), name, country, UN/LOCODE, position, harbor size (World Port Index ports only) and the radius of the port area used to detect port calls. At most 20 ports, larger harbors first. No API key needed.

Parameterslimitquerylocodecountry

vessel_port_calls

Ship port calls (API key)

Port calls of a ship between two times (UTC, ISO 8601), from the AIS Trail archive: port, arrival, departure, draught on arrival and departure, cargo estimate (loaded, ballast or unchanged, from the draught change), previous and next port. Give mmsi or imo. A port call starts when the ship stops inside a port area and ends when it leaves; departure is null while it is still in port. The sanctions column gives the codes of the sanctions lists (OFAC, UK, EU) that name the ship's IMO number; informational only, not a compliance determination. Needs an AIS Trail API key sent by the MCP client as the HTTP header 'Authorization: Bearer ap_live_…'. At most 100 port calls per call and at most 366 days; the plan's history depth, credits (1 per port call returned), rate limit and 24-hour delay (on plans without live data) apply.

Parameterstorequiredimofromrequiredmmsi

port_calls

Port arrivals and departures (API key)

Ships that called at one port between two times (UTC, ISO 8601), from the AIS Trail archive: ship (with its flag from the MMSI), arrival, departure, draught on arrival and departure, cargo estimate, previous and next port. Get the port_id from find_port. event: any (in port at any time in the range, default), arrival or departure. The sanctions column gives the codes of the sanctions lists (OFAC, UK, EU) that name the ship's IMO number; informational only, not a compliance determination. Needs an AIS Trail API key sent by the MCP client as the HTTP header 'Authorization: Bearer ap_live_…'. At most 100 port calls per call and at most 366 days; the plan's rules and credits (1 per port call returned) apply as for vessel_port_calls.

Parameterstorequiredfromrequiredeventport_idrequired

expected_arrivals

Ships expected at a port (API key)

Ships that have not arrived yet at one port, from the port's own records: estimated arrival and departure (UTC), berth and declared previous port, from 6 hours ago to 14 days ahead, in arrival order. Available for Finnish ports; elsewhere the list is empty. Get the port_id from find_port. Needs an AIS Trail API key sent by the MCP client as the HTTP header 'Authorization: Bearer ap_live_…' and a plan with live data (Pro or Business); at most 200 ships per call, 1 credit per ship returned.

Parametersport_idrequired

vessel_events

Ship events (API key)

Events of a ship between two times (UTC, ISO 8601), computed from the AIS Trail archive. from and to are optional: without to, now (24 hours ago on plans without live data); without from, 7 days before to (on Free, no earlier than the oldest day the plan includes), as on the REST endpoint. Give mmsi or imo (with imo, every MMSI that reported that IMO number in the range). Types: ENTER_ZONE and EXIT_ZONE (arrival at and departure from a port or anchorage; port_id for port_calls, zone port or anchorage), STATE_CHANGED (MOVING, NOT_MOVING, LONG_STOP), NAME_CHANGED, IMO_CHANGED, CALLSIGN_CHANGED, DESTINATION_CHANGED and DRAUGHT_CHANGED (old and new value); only when asked by name or with types ['all']: AIS_GAP (long AIS silence while under way; old_value hours, new_value nautical miles), ENCOUNTER (slow close approach to another ship outside port areas, a candidate ship-to-ship transfer; new_value the other ship's MMSI), FLAG_CHANGED (the IMO number reappears under an MMSI with another flag) and POSITION_JUMP (a physically impossible position jump). Rows: [time, event, old_value, new_value, lat, lon, mmsi, port_id, zone, sanctions, detail]; detail says more about behaviour events. The sanctions column gives the codes of the sanctions lists (OFAC, UK, EU) that name the ship's IMO number; informational only, not a compliance determination. Needs an AIS Trail API key sent by the MCP client as the HTTP header 'Authorization: Bearer ap_live_…'. At most 200 events per call and at most 31 days; the plan's history depth, credits (1 per event returned), rate limit and 24-hour delay (on plans without live data) apply.

Parameterstoimofrommmsitypes

lookup_vessels

Ship records and sanctions (API key)

Records of up to 20 ships at once from the AIS Trail archive, by mmsi and/or imo (lists): identity and particulars (name, IMO, call sign, type, flag from the MMSI, length, beam, estimated deadweight, first and last seen) and sanctions flags by IMO number from three official lists: OFAC SDN, UK Sanctions List and EU Regulation 833/2014 Annex XLII (list, programmes, date listed). An IMO number resolves to the MMSI that reported it last; ships not in the plan's sources come back with found false. Sanctions flags are informational, not a compliance determination: only ships a list names by IMO number are matched, ownership-based sanctions are not covered. Needs an AIS Trail API key sent by the MCP client as the HTTP header 'Authorization: Bearer ap_live_…'. Credits: 1 per ship returned (none for ships not found); the plan's sources and 24-hour delay (on plans without live data) apply.

Parametersimommsi

Version history

5
  1. v1.6.0LatestNov 7, 2026
  2. v1.5.2Oct 22, 2026
  3. v1.5.1Oct 20, 2026
  4. v1.5.0Oct 19, 2026
  5. v1.4.0Oct 16, 2026

Score

90% 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 daysRequired25 pts
  • Auth declaredRequired10 pts
  • Tools listedRequired15 pts
  • DescriptionRequired15 pts
  • Logo10 pts
  • Documentation15 pts
  • License10 pts

    Declare a license in the repository or the registry entry.