Search / io.github.clairwave/clairwave
Clairwave
not classifiedOcean acoustics: propagation models, bathymetry, sound speed, vessel noise, live AIS. Open.
v0.4.0 · active · repository · website · descriptor JSON · versions
Search / io.github.clairwave/clairwave
Ocean acoustics: propagation models, bathymetry, sound speed, vessel noise, live AIS. Open.
v0.4.0 · active · repository · website · descriptor JSON · versions
{
"mcpServers": {
"clairwave": {
"type": "http",
"url": "https://www.clairwave.com/mcp"
}
}
}claude mcp add --transport http clairwave https://www.clairwave.com/mcp[mcp_servers.clairwave]
url = "https://www.clairwave.com/mcp"
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"clairwave": {
"type": "remote",
"url": "https://www.clairwave.com/mcp",
"enabled": true
}
}
}{
"mcpServers": {
"clairwave": {
"type": "http",
"url": "https://www.clairwave.com/mcp"
}
},
"deeplink": "cursor://anysphere.cursor-deeplink/mcp/install?name=clairwave&config=eyJ0eXBlIjoiaHR0cCIsInVybCI6Imh0dHBzOi8vd3d3LmNsYWlyd2F2ZS5jb20vbWNwIn0%3D"
}{
"servers": {
"clairwave": {
"type": "http",
"url": "https://www.clairwave.com/mcp"
}
}
}{
"mcpServers": {
"clairwave": {
"httpUrl": "https://www.clairwave.com/mcp"
}
}
}extensions:
"clairwave":
enabled: true
name: "clairwave"
type: streamable_http
uri: "https://www.clairwave.com/mcp"
timeout: 300
protocol.modern, protocol.stateless, protocol.transport, protocol.list_ttlno remote answered a protocol handshake (not probed yet, unreachable, or local-only)auth.prm, auth.as_metadata, auth.cimdno remote uses OAuthauth.secret_in_urlno templated URLtools.descriptionsevery tool has a descriptiontools.description_lengthdescriptions are concisetools.schemasevery tool has an object input schematools.annotations13 of 13 tools declare readOnlyHint or destructiveHinttools.directory_hintsevery tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHinttools.token_costabout 2,987 tokens to load every tooltools.api_dumptools are not a one-to-one API dumpstability.changes, stability.rug_pulltool history not recorded yetdeps.known_vulns, deps.mcp_sdk_version, deps.resolvableno npm or PyPI packageNo tool definition changes recorded. A server's first observation is its baseline; later probes record what changes.
Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed. How it is computed.
+repository +namespace-matches-repo +website +reachable +uptime-97% ~updated-45d-ago
Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed. How it is computed.
| remote | auth | reachable | uptime 30d | p50 | protocol | last ok |
|---|---|---|---|---|---|---|
https://www.clairwave.com/mcp streamable-http | unknown | yes | 97% | 154 ms | – | 2026-10-19 |
aboutread-only | What Clairwave provides, which models/data back each tool, and limits. |
estimate_detection_rangeread-only | Location: lat/lon or `place` name. Passive sonar detection range along a bearing: runs a RAM transmission loss simulation for the location/season and applies the sonar equation SE = SL - TL - NL (- DT) at the receiver depth. Returns the first range where detection is lost, the furthest range still detectable (convergence zones), and the excess-vs-range curve. Units: dB re 1 uPa (SL @1 m, NL in the analysis band). |
get_bathymetryread-only | Seafloor depth from Clairwave-served global bathymetry (~450 m resolution). Location: lat/lon or `place` (name resolved to a water point, echoed in `location`). Without a bearing: depth at the point. With a bearing (compass degrees, 0 = north): a depth profile along that transect out to range_km. |
get_sound_speed_profileread-only | Seasonal sound-speed profile c(z) at a location (lat/lon or `place` name, e.g. "Halifax approaches") for a calendar month (1-12), from Clairwave-served seasonal temperature/salinity climatology, plus the seabed parameters (compressional/shear speed, density ratio, attenuation, sediment type) at the same point. Cached per 0.1 degree. |
get_vesselread-only | Everything about one vessel: live AIS position/track and static particulars, plus its 3D model (unique photo-derived model if generated, else the class archetype) with GLB URL (bow=+Z, up=+Y) and platform links. |
get_vessel_photoread-only | Photograph of a vessel from Wikimedia Commons, with attribution. |
habitat_received_levelread-only | Broadband received level (dB re 1 uPa) at a fixed site — a fish farm, reef, hydrophone or marine protected area — from the ships around it, power-summed. Each vessel's source level comes from its AIS class, speed and size; transmission loss is a fast broadband model, so this is a screening estimate (use run_transmission_loss for exact site physics). hours_back = 0 uses the live snapshot; > 0 reconstructs a time series from the AIS archive in 10-minute bins (max/median/quiet levels). Location: lat/lon or `place`. Show `open_url` to the user as a clickable link. |
resolve_placeread-only | Turn a place name ('outside Halifax', 'Strait of Hormuz', 'Bergen, Norway') into water coordinates. Maritime gazetteer first (ports resolve to their approaches, straits/seas to a representative point), then OpenStreetMap. Points on land or shallower than min_depth_m are walked seaward along the gazetteer bearing (or the nearest direction) until deep enough; the original point and the snap are reported. offshore_km pushes the point further out along seaward_bearing_deg. All location tools also accept `place` directly, so a separate call is only needed to inspect. |
run_bellhop_volume | Full 3D transmission-loss volume around a source (lat/lon or `place`) with Bellhop (all bearings), stored on the platform under a run id. Show `open_url` to the user as a clickable link: it opens this run visualized. Returns the run id, the replication metadata (SSP, seabed, bounding box) and file links (uint8 TL cube .npy + JSON sidecar). Any frequency and radius (keep radius <= ~50 km for reasonable run times). |
run_transmission_lossread-only | Run a physically grounded transmission-loss simulation (RAM parabolic equation) from a source at (lat, lon or `place`, depth) along a compass bearing. Bathymetry, the seasonal sound-speed profile (`month`) and seabed parameters are fetched for the location automatically. Returns TL vs range at the receiver depths (default: source depth, 10 m, 100 m, mid-water), grid statistics, and the full replication bundle. Show `open_url` to the user as a clickable link. |
search_vesselsread-only | Search live AIS vessels by name or MMSI prefix (global feed). |
vessels_nearread-only | Live AIS vessels within radius_km of a point (lat/lon or `place`), nearest first, with position, course/speed, type, dimensions and last-update time. |
vessel_source_levelread-only | Radiated-noise source level of a ship (dB re 1 uPa @ 1 m): broadband, third-octave spectrum (ISO centres 10 Hz - 100 kHz) and the mechanism breakdown (cavitation, machinery, flow, blade-rate tonals), from Clairwave's class-based ship-noise model (cavitation spectrum + machinery + flow + tonals). Give an MMSI (live AIS particulars are used) or explicit type / speed / dimensions. The spectrum is usable directly as `sl_spectrum` input. |
Schemas: list_tools.
{
"name": "io.github.clairwave/clairwave",
"title": "Clairwave",
"$schema": "https://static.modelcontextprotocol.io/schemas/2025-12-11/server.schema.json",
"remotes": [
{
"url": "https://www.clairwave.com/mcp",
"type": "streamable-http"
}
],
"version": "0.4.0",
"repository": {
"url": "https://github.com/clairwave/clairwave-mcp",
"source": "github"
},
"websiteUrl": "https://www.clairwave.com",
"description": "Ocean acoustics: propagation models, bathymetry, sound speed, vessel noise, live AIS. Open."
}