Back to Browse

Clairwave MCP Server

Developer ToolsLow Risk10.0MCP RegistryRemote
Free

Server data from the Official MCP Registry

Ocean acoustics: propagation models, bathymetry, sound speed, vessel noise, live AIS. Open.

About

Ocean acoustics: propagation models, bathymetry, sound speed, vessel noise, live AIS. Open.

Remote endpoints: streamable-http: https://www.clairwave.com/mcp

Security Report

10.0
Low Risk10.0Low Risk

Valid MCP server (0 strong, 3 medium validity signals). No known CVEs in dependencies. Imported from the Official MCP Registry.

13 tools verified · Open access · No issues found

Security scores are indicators to help you make informed decisions, not guarantees. Always review permissions before connecting any MCP server.

Permissions Required

This plugin requests these system permissions. Most are normal for its category.

env_vars

Check that this permission is expected for this type of plugin.

HTTP Network Access

Connects to external APIs or services over the internet.

How to Connect

Remote Plugin

No local installation needed. Your AI client connects to the remote endpoint directly.

Add this to your MCP configuration to connect:

{
  "mcpServers": {
    "io-github-clairwave-clairwave": {
      "url": "https://www.clairwave.com/mcp"
    }
  }
}

Documentation

View on GitHub

From the project's GitHub README.

clairwave-mcp

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.

Connect

  • Claude Code: claude mcp add --transport http clairwave https://www.clairwave.com/mcp
  • Claude.ai / Claude Desktop: Settings → Connectors → Add custom connector → the URL above
  • ChatGPT: Settings → Connectors → Create (developer mode) → the URL above
  • Any MCP client: point it at the URL; the server is stateless and JSON-response capable

Tools

ToolWhat it does
get_bathymetryDepth at a point, or a transect profile along a bearing
get_sound_speed_profileSeasonal c(z) for a month + seabed parameters (cp, cs, density, attenuation, sediment)
run_transmission_lossRAM parabolic-equation TL along a bearing; bathymetry/SSP/seabed fetched automatically; replication bundle included
estimate_detection_rangeSonar equation on a RAM run: continuous and furthest detection range, signal excess vs range
run_bellhop_volume3D Bellhop TL volume stored under a run id (uint8 cube + JSON sidecar links)
vessel_source_levelShip radiated noise: broadband + third-octave spectrum + mechanism breakdown
search_vessels / vessels_nearLive AIS by name/MMSI, or within a radius of a point
get_vesselLive position/track, particulars, and the 3D model (GLB, bow=+Z) with platform links
get_vessel_photoWikimedia Commons photo with attribution
resolve_placePlace name (port, strait, sea, 'off Halifax') → water coordinates; gazetteer + OpenStreetMap, snapped seaward off land
habitat_received_levelPower-summed vessel noise at a fixed site (fish farm, reef, hydrophone): live snapshot or 10-minute history series; top contributors
aboutModels, 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.

Run locally

pip install "mcp[cli]<2" httpx
python server.py            # streamable HTTP on :8890 (/mcp)
python server.py --stdio    # stdio for local clients
python tests/smoke_client.py

Environment: CLAIRWAVE_API, CLAIRWAVE_FLEET, CLAIRWAVE_SITE, MCP_PORT.

Where to find it

Place names

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.

Example prompts

  • "What is the sound speed profile 50 km west of Gibraltar in March, and where is the sonic layer depth?"
  • "How far could a 150 Hz, 170 dB source at 20 m depth be detected by a receiver at 100 m near 36N 5.5W, along bearing 090?"
  • "Show transmission loss versus range at 200 Hz out to 30 km north of Halifax in winter."
  • "What ships are within 15 km of the Strait of Hormuz right now, and how loud is the largest one?"
  • "Run a 3D Bellhop volume at 400 Hz around 49.2N 123.3W and give me the link to open it."

Limits and support

License

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.

Reviews

No reviews yet

Be the first to review this server!