Skip to main content
ariefrse.my
HomeSkillsProjectsAI WorkWritingContact
Resume
All projects

Open Source

Maritime MCP Server

2026 · Published, MIT licensed · Developer tool

An open-source Model Context Protocol server that gives any MCP client live AIS vessel traffic. Ask which tankers are anchored near Port Klang, or how long a laden passage usually takes, and get a real answer.

Source
Maritime MCP Server

Overview

A Python MCP server built on the official SDK (FastMCP) that exposes maritime vessel data as standard protocol tools rather than a bespoke integration, so Claude Desktop, an agent framework or an IDE extension can all query it without client-specific code. Fourteen tools cover filtering the fleet by type, flag and navigational status, finding vessels within a radius of a named port with distances annotated, looking one up by MMSI or name, recorded tracks, port calls inferred from where a ship stopped and for how long, anchorage clustering, traffic density, port congestion and observed passage times, across nineteen selectable sea areas each measured against a throughput budget before it is offered. A vessels://all resource exposes the whole dataset. With an aisstream.io key it holds a websocket to live AIS over Malaysian waters and forgets a vessel after 30 minutes without a transmission, because a ship that stopped reporting is not still there. Without a key it serves a bundled 18-vessel snapshot and says so in every response, which is a supported mode rather than a failure. Every tool response opens with a block stating where its answer came from. The test suite runs with no API key and no network against 274 real AIS messages captured over the Strait of Malacca and committed as a fixture. It powers Selat.

Key features

  • Fourteen MCP tools plus a readable vessels://all resource
  • Live AIS over a websocket, with a 30 minute staleness expiry
  • Graceful snapshot fallback when no API key is configured
  • Every response declares the provenance of its data
  • 356 tests against 274 real captured AIS messages, no network needed
  • Offline smoke test that exercises every tool without an MCP client

Tech stack

Python · MCP · WebSockets · pytest

Project info

Year
2026
Team
Solo project
Role
Software Engineer
Status
Published, MIT licensed
Category
Open Source
Back to all projects

© 2026 Muhammad Arief Roseli

GitHubLinkedInSnapInvois