The full upstream README, mirrored here for reference. Install config, tool schemas, adoption signals, and an original overview live on the Clairwave listing page.
An open MCP server that gives AI assistants physically grounded ocean acoustics.
Clairwave runs validated propagation models (Bellhop, RAM/parabolic equation) on global bathymetry and seasonal sound-speed profiles, tracks live AIS vessels, and serves 3D hull models for them (shipshape). This server exposes that to Claude, ChatGPT, Gemini and any other MCP client — so an assistant reasoning about the ocean can run the physics instead of guessing.
Every result carries provenance (model, data source, run_id) and an
open_url that opens the exact result in the platform. Simulation results
include the bathymetry, sound-speed profile and bottom parameters that were
used, so a researcher can replicate the run in MATLAB, Python or anything else.
Endpoint (no auth, no key): https://www.clairwave.com/mcp — Streamable HTTP.
claude mcp add --transport http clairwave https://www.clairwave.com/mcp| Tool | What it does |
|---|---|
get_bathymetry | Depth at a point, or a transect profile along a bearing |
get_sound_speed_profile | Seasonal c(z) for a month + seabed parameters (cp, cs, density, attenuation, sediment) |
run_transmission_loss | RAM parabolic-equation TL along a bearing; bathymetry/SSP/seabed fetched automatically; replication bundle included |
estimate_detection_range | Sonar equation on a RAM run: continuous and furthest detection range, signal excess vs range |
run_bellhop_volume | 3D Bellhop TL volume stored under a run id (uint8 cube + JSON sidecar links) |
vessel_source_level | Ship radiated noise: broadband + third-octave spectrum + mechanism breakdown |
search_vessels / vessels_near | Live AIS by name/MMSI, or within a radius of a point |
get_vessel | Live position/track, particulars, and the 3D model (GLB, bow=+Z) with platform links |
get_vessel_photo | Wikimedia Commons photo with attribution |
resolve_place | Place name (port, strait, sea, 'off Halifax') → water coordinates; gazetteer + OpenStreetMap, snapped seaward off land |
habitat_received_level | Power-summed vessel noise at a fixed site (fish farm, reef, hydrophone): live snapshot or 10-minute history series; top contributors |
about | Models, data sources, limits |
Typical latency against the live platform: bathymetry 0.5 s, SSP 6 s first time per 0.1° cell then cached, RAM transmission loss 1–3 s, detection range 1–3 s.
Environment: CLAIRWAVE_API, CLAIRWAVE_FLEET, CLAIRWAVE_SITE, MCP_PORT.
io.github.clairwave/clairwave (https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.clairwave/clairwave)https://www.clairwave.com/mcp, no auth.{"type": "mcp", "server_url": "https://www.clairwave.com/mcp", "server_label": "clairwave"}.Every location tool takes either lat/lon or a place string. Names go through a
maritime gazetteer first (ports resolve to their approaches, straits and seas to a
representative water point; ~120 entries in gazetteer.py), then OpenStreetMap
Nominatim. If the point is on land or shallower than 10 m it is walked seaward until
it is deep enough, and the response's location block reports the original point,
the snap distance and bearing, and the depth used. resolve_place exposes the same
logic directly, with offshore_km to push a point further out.
MIT. Data: AIS via the AISHub peer network (Clairwave contributes receivers); vessel photos CC-licensed with attribution; bathymetry and SSP sources cited in each response.