searoute_mcp

Project-Harrison/searoute_mcp

3.3

If you are the rightful owner of searoute_mcp and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.

An MCP server for maritime routing.

Tools
3
Resources
0
Prompts
0

searoute_mcp

Maritime Routing MCP Server (Python)

CI Python Status

Table of Contents


Searoute MCP Demo

Overview

searoute_mcp is a Model Context Protocol (MCP) server for maritime routing.
It integrates searoute-py with MCP, exposing tools that allow LLM clients (e.g. Claude Desktop) to:

  • Compute oceangoing route distances (in nautical miles)
  • Retrieve full oceangoing routes with waypoints (GeoJSON format)
  • Compare against geodesic great-circle distances

All tools accept latitude, longitude as inputs for user friendliness, while internally converting to the required searoute format.


Installation

Clone the repository and install dependencies:

git clone https://github.com/ShippingIntel/searoute_mcp.git
cd searoute_mcp
python3 -m venv .venv
source .venv/bin/activate   # Linux/macOS
.venv\Scripts\activate      # Windows

pip install -r requirements.txt

Dependencies:

  • mcp[python]>=0.1.0
  • searoute>=1.4.3
  • geopy>=2.4.1

Quickstart

Run the server locally:

python -m mcp_server.main

Install into Claude Desktop:

mcp install mcp_server/main.py

Test with the MCP Inspector:

mcp dev mcp_server/main.py

Core Tools

  • compute_distance Shortest oceangoing route distance (nm) between two coordinates.

  • compute_route Full oceangoing route (GeoJSON geometry + distance).

  • compute_geodesic Great-circle (sphere) distance in nautical miles, ignoring land/sea constraints.


Example Prompts

All prompts use latitude, longitude ordering.

{
  "tool": "compute_distance",
  "arguments": {
    "start_lat": 47.6062,
    "start_lon": -122.3321,
    "end_lat": 35.6895,
    "end_lon": 139.6917
  }
}
{
  "tool": "compute_route",
  "arguments": {
    "start_lat": 40.7128,
    "start_lon": -74.0060,
    "end_lat": 48.8566,
    "end_lon": 2.3522
  }
}
{
  "tool": "compute_geodesic",
  "arguments": {
    "start_lat": 51.5072,
    "start_lon": -0.1276,
    "end_lat": -33.8688,
    "end_lon": 151.2093
  }
}

Examples:

  • Seattle → Tokyo (oceangoing distance)
  • New York → Paris (full route with waypoints)
  • London → Sydney (geodesic great-circle)

Running Your Server

Choose a transport:

# stdio (local dev)
python -m mcp_server.main stdio

# Streamable HTTP (for deployment)
python -m mcp_server.main streamable-http

Contributing

Contributions are welcome! See for setup and workflow guidelines.


License

This project is licensed under the MIT License — see the file for details.


References

searoute_mcp builds upon prior open-source and research projects in maritime routing and network analysis:

  • Marnet Project — Atlas of Marine Socio-economic Indicators for the Atlantic Area EU transnational project led by the Northern & Western Regional Assembly, developing a socio-economic data network for the Atlantic regions.

  • searoute-py Python package for generating shortest sea routes between two points, designed for visualizing realistic maritime routes and customizable with ports and networks.

  • NetworkX Python package for the creation, manipulation, and study of complex networks. Provides the graph algorithms underpinning routing logic.

  • Eurostat SeaRoute Java-based library and webservice by Eurostat computing shortest maritime routes from global shipping networks enriched with AIS data, using Dijkstra’s algorithm via GeoTools.