# Clairwave

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

- name: io.github.clairwave/clairwave
- version: 0.4.0
- connection class: unknown (unknown)
- trust: 94/100
- quality: 100/100 (strong)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/io.github.clairwave%2Fclairwave
- tools: https://api.protogrid.dev/v1/servers/io.github.clairwave%2Fclairwave/tools

**Not classified yet.** The remote endpoints have not been probed successfully, or the listing has nothing to connect to.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "clairwave": {
      "type": "http",
      "url": "https://www.clairwave.com/mcp"
    }
  }
}
```


## Trust

- hygiene: 100
- liveness: 99
- freshness: 85
- provenance: 90
- drivers: +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.

## Quality 100/100 (strong)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: n/a (weight 15)

- n/a `auth.prm`, `auth.as_metadata`, `auth.cimd`: no remote uses OAuth
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 100 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 13 of 13 tools declare readOnlyHint or destructiveHint
- pass `tools.directory_hints`: every tool declares readOnlyHint, destructiveHint, idempotentHint and openWorldHint
- pass `tools.token_cost`: about 2,987 tokens to load every tool
- pass `tools.api_dump`: tools are not a one-to-one API dump

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history not recorded yet

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 13, about 2,987 tokens to load them all
- badge: [![protogrid quality](https://protogrid.dev/badge/io.github.clairwave/clairwave.svg)](https://protogrid.dev/servers/io.github.clairwave/clairwave)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://www.clairwave.com/mcp (streamable-http, auth unknown, reachable true, uptime30d 0.9734513)

## Packages

_none_

## Tools (13)

- `about`: What Clairwave provides, which models/data back each tool, and limits.
- `estimate_detection_range`: 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_bathymetry`: 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_profile`: 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_vessel`: 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_photo`: Photograph of a vessel from Wikimedia Commons, with attribution.
- `habitat_received_level`: 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_place`: 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_loss`: 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_vessels`: Search live AIS vessels by name or MMSI prefix (global feed).
- `vessels_near`: 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_level`: 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.
