MCP.Market

Clairwave MCP server

online · 75% uptime
by clairwave·io.github.clairwave/clairwave·v0.4.0

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

B75/100grade B
What users say
No reviews yet
Be the first
Safety scan
B75/100

full report

Adoption
New

0 stars

Reviews

Write one

Nobody has reviewed Clairwave yet.

If you have run it, two minutes of your experience saves the next person an afternoon.

Clairwave tools (13, 2 write)

write = sends, deletes, buys or posts
  • aboutFree

    What Clairwave provides, which models/data back each tool, and limits.

  • estimate_detection_rangeFree

    Sonar detection range along a bearing from a location (lat/lon or `place`). Transmission loss (TL) is ALWAYS computed: RAM parabolic equation with the location's bathymetry, seasonal sound speed (`month`, default: current month) and seabed. Every other sonar-equation term is optional — anything not given gets a stated, typical default listed in `assumptions` with its source. Tell the user which values were assumed. Detection threshold DT is derived from processing gain (unless given): detection index d from `pd`/`pfa` (default 0.5 / 1e-4 → d ≈ 13.8), then passive (incoherent energy detector): DT = 5·log10(d / (B·T)), B = analysis band, T = `integration_time_s` (default 1 s); active (matched filter): DT = 10·log10(d / (2·B·τ)), B = `bandwidth_hz` (default 100 Hz LFM), τ = `pulse_length_s` (default 0.5 s). DT is in-band SNR, so it can be negative — that IS the processing gain. mode="passive": SE = SL − TL − (NL − DI) − DT. Default target = merchant ship (bulk carrier, AIS 70, 200 m @ 12 kn, JOMOPANS-ECHO decidecade band level) at 6 m; receiver ½ water depth (≤ 30 m), omni (DI 0 — give directivity_index_db for an array). `frequency_hz` is optional: the tool always also evaluates the target's MOST DETECTABLE 1/3-octave band in 50–2000 Hz (`best_band`) — ships are loudest there; a user frequency is reported as asked. If you give `source_level_db` without `frequency_hz`, the range is evaluated at 50 Hz. mode="active" (monostatic, `frequency_hz` required): SE = SL − 2·TL + TS − (NL − DI) − DT, TL from the sonar to the target depth. Defaults: hull sonar at 7 m, SL 220 dB, TS 10 dB (large underwater object, beam aspect), target ½ water depth (≤ 50 m), DI 20 dB (hull array). Noise-limited only: reverberation is NOT included (often the limit in shallow water). NL (unless given) = Wenz ambient noise at the CURRENT forecast wind at the point (Clairwave weather), moderate shipping, in the analysis band. Units: dB re 1 µPa (SL @ 1 m).

  • get_bathymetryFree

    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_profileFree

    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_vesselFree

    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_photoFree

    Photograph of a vessel from Wikimedia Commons, with attribution.

  • habitat_received_levelFree

    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_placeFree

    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_volumewrite actionFree

    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_losswrite actionFree

    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_vesselsFree

    Search live AIS vessels by name or MMSI prefix (global feed).

  • vessel_source_levelFree

    Underwater radiated-noise source level of a ship (monopole, dB re 1 uPa m, 6 m reference source depth): decidecade spectrum (10 Hz - 100 kHz; model bands to 31.5 kHz, validated 20 Hz - 20 kHz) and broadband level, from the JOMOPANS-ECHO reference spectrum model (MacGillivray & de Jong 2021, J. Mar. Sci. Eng. 9:369), fitted to 1862 measured ship passes. Individual ships scatter about +/-6 dB rms per band. Give an MMSI (live AIS type/speed/length are used) or explicit AIS ship_type / speed / length. vessel_class overrides the AIS mapping (e.g. "vehicle_carrier", which has no AIS type). Missing speed = the class reference speed; missing length = the class mean length of the measured ships. The spectrum is usable directly as `sl_spectrum`.

  • vessels_nearFree

    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.

Public scan report

scanner v0.1.10 · 2026-10-29 · same rubric, same numbers if you re-run it

1 high1 low
  • –Code scanremote-only server, no package to scann/a
  • Live reliabilityremote reachable in 1202ms20/20
  • Tool poisoning13 tool descriptions checked13/15
  • Auth qualityopen endpoint exposes 2 write-action tools with no auth3/15
  • Maintenancelast push 32 days ago12/15
  • Maintainer identityregistry namespace matches repository owner; GitHub account older than a year8/10

Findings (2)

  • highWrite-action tools reachable without authenticationauth.open-write
  • lowUnusually long tool description (over 2,000 characters)poison.long-description
    tool estimate_detection_range: …Sonar detection range along a bearing from a location (lat/lon or `place`). Transmission loss (TL) is ALWAYS computed: RAM parabolic equation with the location's bathymetry, seasonal sound speed (`month`, default: current month) and seabed. Every other sonar-equation term is optional — anything not given gets a stated, typical default listed in `assumptions` with its source. Tell the user which values were assumed. Detection threshold DT is derived from processing gain (unless given): detection index d from `pd`/`pfa` (default 0.5 / 1e-4 → d ≈ 13.8), then passive (incoherent energy detector): DT = 5·log10(d / (B·T)), B = analysis band, T = `integration_time_s` (default 1 s); active (matched filter): DT = 10·log10(d / (2·B·τ)), B = `bandwidth_hz` (default 100 Hz LFM), τ = `pulse_length_s` (default 0.5 s). DT is in-band SNR, so it can be negative — that IS the processing gain. mode="passive": SE = SL − TL − (NL − DI) − DT. Default target = merchant ship (bulk carrier, AIS 70, 200 m @ 12 kn, JOMOPANS-ECHO decidecade band level) at 6 m; receiver ½ water depth (≤ 30 m), omni (DI 0 — give directivity_index_db for an array). `frequency_hz` is optional: the tool always also evaluates the target's MOST DETECTABLE 1/3-octave band in 50–2000 Hz (`best_band`) — ships are loudest there; a user frequency is reported as asked. If you give `source_level_db` without `frequency_hz`, the range is evaluated at 50 Hz. mode="active" (monostatic, `frequency_hz` required): SE = SL − 2·TL + TS − (NL − DI) − DT, TL from the sonar to the target depth. Defaults: hull sonar at 7 m, SL 220 dB, TS 10 dB (large underwater object, beam aspect), target ½ water depth (≤ 50 m), DI 20 dB (hull array). Noise-limited only: reverberation is NOT included (often the limit in shallow water). NL (unless given) = Wenz ambient noise at the CURRENT forecast wind at the point (Clairwave weather), moderate shipping, in the analysis band. Units: dB re 1 µPa (SL @ 1 m).…
Overall 75/100. Components that don't apply are left out of the denominator. Any critical finding is an F.RubricAppeal a findingJSON

How Clairwave compares

Against every graded MCP server, from our own scans and uptime checks. Updated after each scan run.

Safety score
75/100
higher than 45% of 48,243 servers
Tools
13
the typical server has 7
Tools that change things
15%
typical: 0%. Fewer write tools means less an agent can break
Uptime
75%
of our recent checks; the typical remote server answers 100%
Response time
805 ms
faster than 18% of 30,027 servers

What its tools let an agent do: 11 read · 2 run or deploy

Install Clairwave in Claude Code, Cursor or VS Code

claude mcp add --transport http clairwave https://www.clairwave.com/mcp
Add to Cursor

What the publisher says

From the Clairwave repository's README, as published. We do not edit it. Read it on GitHub

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, runid) and an openurl 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

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: CLAIRWAVEAPI, CLAIRWAVEFLEET, CLAIRWAVESITE, MCPPORT.

Where to find it

  • Official MCP Registry: io.github.clairwave/clairwave (https://registry.modelcontextprotocol.io/v0.1/servers?search=io.github.clairwave/clairwave)
  • Claude: Settings > Connectors > Add custom connector, URL https://www.clairwave.com/mcp, no auth.
  • ChatGPT (developer mode) and Grok (grok.com/connectors > New > Custom): paste the same URL.
  • xAI / OpenAI APIs: {"type": "mcp", "serverurl": "https://www.clairwave.com/mcp", "serverlabel": "clairwave"}.

Place names

Shortened. The full README is on GitHub.

Nothing above is checked by us. What we check is on the safety report.

Grade history

  • 2026-10-29restoreD → Bscore 75: Write-action tools reachable without authentication; Unusually long tool description (over 2,000 characters)
  • 2026-10-27downgradeA → Dscore 42: Remote endpoint did not respond

Clairwave: common questions

Is Clairwave MCP server safe?
Mostly: it is graded B (75/100). Read the Clairwave safety report
How do I install Clairwave?
It runs remotely at www.clairwave.com. Add it to Claude Code, Cursor, VS Code or Claude Desktop with the snippets above, or call it through the mcp.market gateway without installing anything.
Does Clairwave need an API key?
Not as far as the registry entry and our scan can tell: no credentials are declared or required.
Is Clairwave maintained?
The last commit was 39 days ago (2026-09-27). The latest release is v0.4.0.
Is Clairwave up?
75% of our last 28 checks got an answer. We check remote servers about four times a day.
How does Clairwave compare with other MCP servers?
safety score 75/100 (higher than 45% of 48,243 servers); tools 13 (the typical server has 7); tools that change things 15% (typical: 0%. Fewer write tools means less an agent can break). Full comparison.