Skip to content

Instantly share code, notes, and snippets.

@clarkbw
Last active June 20, 2026 16:11
Show Gist options
  • Select an option

  • Save clarkbw/335fd5b968fc0e8a1a85e8398239a0d0 to your computer and use it in GitHub Desktop.

Select an option

Save clarkbw/335fd5b968fc0e8a1a85e8398239a0d0 to your computer and use it in GitHub Desktop.
The Signal K plugin ecosystem by the numbers (June 2026) — 479 plugins, 126 webapps, what ships by default, who maintains it, and where the gaps are.

Signal K plugins, by type — a community taxonomy

A working categorisation of the published Signal K plugin ecosystem, with the maintained/core plugins sorted into each type. Meant as an orientation map: "what kind of plugin is this, and what else lives in the same bucket?"

Data source: npm signalk-node-server-plugin keyword index (~479 packages), the @signalk npm scope, and github.com/SignalK, surveyed 2026-06-20. This is not exhaustive — it covers the maintained + historically-important core (~80 plugins), not the full long tail. Version/date stamps are point-in-time; re-query npm before trusting a "stale" verdict. Corrections welcome.

How the App Store works (context)

  • The in-server App Store is a live npm keyword query — anything published with signalk-node-server-plugin (server plugins), signalk-webapp (webapps), or signalk-embeddable-webapp (components) shows up. No human curation.
  • The @signalk/* scope marks officially-owned packages; the App Store lists everything keyword-tagged regardless of scope. Most official packages publish via CI, so npm's "publisher" field often shows GitHub Actions — GitHub org/repo ownership is the better signal for who maintains a thing.
  • Basic NMEA 0183 (serial/TCP/UDP) and NMEA 2000 (canboat/socketcan) ingestion are server "connections," not plugins — the keyword-tagged plugins sit on top.

The taxonomy (12 types)

Plugins routinely span two types — dual-tag rather than force one bucket.

# Category What lives here
1 Data sources & connectors Bring data in/out over a transport: MQTT/UDP/TCP/WebSocket/REST bridges, mesh, AIS feeds, replay/simulators
2 NMEA conversion Translate SK ⇄ NMEA 0183 / NMEA 2000 (canboat PGNs), incl. AIS sentence conversion
3 Sensor hardware Read physical sensors: ESP32/SensESP, BLE, I²C/Pi-hat, serial/Modbus, custom CAN
4 Navigation Routes/waypoints/resources, course computer, tracks, polars, tides/currents, sail config
5 AIS & safety AIS handling, CPA/TCPA & collision, MOB/EPIRB/SART, NAVTEX, buddy lists
6 Autopilot Drive/command autopilots via the Autopilot Provider API
7 Anchor & security Anchor watch/drag alarm, geofence-style thresholds
8 Electrical, battery & Victron Victron integrations, battery/BMS/SOC, solar, switching/relays, smart-device control
9 Engine & tanks Engine-on detection, hour meters, tank/fluid levels, usage/consumption
10 Environment & weather Forecast providers (NOAA/Open-Meteo/etc.), barometer trend, weather-station hardware
11 Instrumentation & display Chartplotter/map webapps, gauge dashboards, calibration
12 Notifications, logging & cloud Alarm/notification managers, push relays, time-series/DB logging, cloud sync & reporting

Plus a cross-cutting tier-0: what ships inside the server vs what it auto-installs.


0. Bundled with the server (required core + default-installed)

From signalk-server's package.json (verified 2026-06-20). These are present on a fresh install — the de-facto baseline every user already has.

Required core librariesdependencies in the server. Not plugins you install/remove; they are the server's data plane:

Package Role
@signalk/server-api Plugin/webapp API surface (what every plugin imports)
@signalk/signalk-schema The SK data model / schema
@signalk/streams Stream-processing primitives for providers
@signalk/n2k-signalk NMEA 2000 (canboat PGN) → SK delta transform
@signalk/nmea0183-signalk NMEA 0183 → SK delta transform
@signalk/course-provider Backs the Course API (GC/rhumb, ETA, arrival circle)
@signalk/resources-provider Backs the Resources API (routes/waypoints/notes/regions)

Default-installedoptionalDependencies: auto-installed on setup, shown enabled in the App Store, but removable:

Package Category What
@signalk/server-admin-ui display The admin/App-Store web UI itself
@signalk/app-dock display Launcher tile grid for installed webapps
@signalk/freeboard-sk display / nav Default chartplotter webapp
@signalk/instrumentpanel display Original gauge dashboard
@mxtommy/kip display KIP dashboard — now bundled by default
serialport data source Serial transport (NMEA over USB/RS-232/485)
@signalk/set-system-time sensor/util Set host clock from GPS
@signalk/signalk-to-nmea0183 NMEA conversion SK → 0183 out
signalk-to-nmea2000 NMEA conversion SK → N2K out
signalk-n2kais-to-nmea0183 NMEA conversion N2K AIS → 0183
@signalk/udp-nmea-plugin data source NMEA 0183 over UDP

Note: NMEA 0183/2000 ingestion is core (nmea0183-signalk + n2k-signalk are required libs, driven by server "connections") — the keyword-tagged conversion plugins are mostly the outbound/bridge direction. A fresh boat already has Freeboard-SK + KIP + instrumentpanel for display.


1. Data sources & connectors

Plugin npm Maintainer What Status
MQTT gateway signalk-mqtt-gw Teppo Kurki Canonical bi-directional SK ⇄ MQTT broker bridge v2.0.0, 2024-02
MQTT import / export signalk-mqtt-import / -export community Selective topic↔path mapping with web UI (each direction) beta, 2025-12
MQTT sensors signalk-mqtt-sensors community Sensor-oriented MQTT↔SK transfer v2.1.0, 2025-04
MQTT bridge signalk-mqtt-bridge community General SK↔MQTT bridge v0.3.2, 2023 — stale
UDP NMEA sender @signalk/udp-nmea-plugin SK org / Kurki Sends NMEA 0183 out over UDP v2.0.0, 2023
Edge link signalk-edge-link community Secure UDP link between SK nodes v2.9.1, 2026-06 — active
WS provider ws-provider-plugin SK org Connect to other SK servers over WebSocket 2018 — stale
REST provider rest-provider-signalk community Inject data into SK via REST v0.7.5, 2026-05
Meshtastic @meri-imperiumi/signalk-meshtastic Henri Bergius SK ⇄ Meshtastic LoRa mesh v1.4.0, 2026-06 — active, novel
AISstream signalk-aisstream community Global AIS over websocket from aisstream.io v0.9.0, 2026-05
NMEA log streamer nmea-streamer Aswin Bouwmeester Replays an NMEA 0183 logfile at set speed v2.2.0, 2024-12
Sim data generator sksim panaaj SK data-stream generator for testing v1.9.0, 2025-05
Simulator @signalk/simulatorplugin Kurki Original simulated-delta source 2017 — historical
What-if helper signalk-whatif-helper community Webapp to browse/modify/create paths for testing v0.1.2, 2025-12

2. NMEA conversion

Plugin npm Maintainer What Status
N2K → SignalK @signalk/n2k-signalk Teppo Kurki The canonical canboat-PGN → SK delta transform v4.6.0, 2026-05 — core lib
SK → NMEA0183 @signalk/signalk-to-nmea0183 SK org SK deltas → 0183 sentences on TCP 10110 v1.18.0, 2026-06 — active
SK → NMEA2000 signalk-to-nmea2000 SK org / Bender SK → N2K PGNs back onto the bus v2.24.0, 2026-01
Emitter "Cannon" signalk-nmea2000-emitter-cannon NearlCrews Modern TS rewrite of SK→N2K, ~92% PGN coverage v1.7.1, 2026-06 — active fork
SignalK over N2K signalk-over-n2k SK org Read/send SK deltas over the N2K bus 2021 — low activity
N2K AIS → 0183 signalk-n2kais-to-nmea0183 Bender N2K AIS PGNs → 0183 AIS sentences v2.0.3, 2025-08
AIS700 → N2K @talmnes/signalk-ais700-to-nmea2000 talmnes Emit GPS PGNs so MFDs see position from an AIS700 v0.1.1, 2026-05 — niche
Vessels → AIS signalk-vessels-to-ais community Other-vessel data → 0183 AIS v2.0.0, 2025-12
AIS → Navionics signalk-ais-navionics-converter community AIS → 0183/N2K for Navionics MFDs v1.0.10, 2026-04

3. Sensor hardware

Plugin npm Maintainer What Status
SensESP signalk/SensESP (PlatformIO, not npm) SK org / Matti Airas ESP32 firmware framework: physical sensors → SK over WiFi v3.x — flagship DIY path
BT Sensors bt-sensors-plugin-sk naugehyde BLE hub: Ruuvi, Victron, Shelly Blu, Gobius tank, batteries v1.3.x, 2026 — active, broad
Victron BLE signalk-victron-ble Stefano Rivera Victron Instant-Readout over BLE (no GX needed) v0.1.9, 2025-11
VE.Direct serial/USB @signalk/vedirect-serial-usb SK org / Bakke Victron VE.Direct (MPPT/BMV/shunt) over serial v1.7.0, 2026-06 — active
Custom CAN parser signalk-custom-can-parser B. Magnusson Westin Maps non-N2K CAN traffic into SK v0.5.4, 2026-04
Modbus serial signalk-modbus-serial-client (GitHub only) mplattu Reads Modbus RS-485 registers GitHub-only
Teltonika RUTx @meri-imperiumi/signalk-teltonika-rutx11 Bergius Router/modem status via Modbus v0.6.2, 2026-06
Daly BMS signalk-daly-bms community Daly Smart BMS over RS-485 v1.0.0, 2026-06
BNO08x IMU sk-py-bno08x community BNO08x attitude/heading IMU v1.0.5, 2026-06
RuuviTag (BlueZ) signalk-ruuvitag-bluez community RuuviTag env sensors via BlueZ/DBus v1.0.3, 2026-05 — current
RuuviTag (old) signalk-ruuvitag-plugin community Original RuuviTag ingest 2021 — superseded
Bluetooth scanner signalk-bluetooth-scanner community Generic BT device monitoring v1.2.7, 2026-03
Pi I²C family signalk-raspberry-pi-bme680 / -bme280 / -bmp180 / -sht31 / -mcp9808 / -bh1750 / -ina219 den Uijl / Blackwood / Caprace Temp/humidity/pressure/light/DC-current on a Pi mixed 2021–2025; several stale
OpenWind signalk-open-wind-plugin community OpenWind mast wind sensor v1.4.1, 2026-04
Simarine Pico pico2signalk community Simarine Pico config/data off the network v0.0.19, 2026-06
Set system time @signalk/set-system-time Kurki Set host clock from GPS time v1.5.0, 2026-01

4. Navigation

Plugin npm Maintainer What Status
Course provider @signalk/course-provider panaaj GC/rhumb course calc, TTG/ETA, arrival-circle notifications active, 2026-06
Resources provider @signalk/resources-provider Bender Routes/waypoints/notes/regions (Resources API) active, 2025-12
Tracks @signalk/tracks-plugin Kurki Accumulate vessel tracks + Track API 2026-03
Polars polars-plugin SK org Polar performance data active, 2026-05
Sails config @signalk/sailsconfiguration Kurki Sail inventory + current config 2023 — niche
Autostate @meri-imperiumi/signalk-autostate Bergius Auto-set navigation.state from movement active, 2026-06
Tides (OpenWaters) signalk-tides bkeepers / OpenWaters Tidal height predictions for vessel position (Apache-2.0) 2026-01 — maintained fork
Tides API (orig) signalk-tides-api joabakk Original tide derivation (worldtide/NOAA) v0.3.0 — stale
Tide watch signalk-tide-watch joelkoz Infers tides from observed depth at rest (no API key) older but distinctive
Crowd depth crowd-depth bkeepers / OpenWaters Collect/share crowd-sourced depth 2026-01
Wind GRIB signalk-windjs-plugin community Scrapes NOAA GRIB2 wind forecast onto SK active
Simple GPX simple-gpx SK org GPX → SK HTTP API archived

5. AIS & safety

Plugin npm Maintainer What Status
Derived data signalk-derived-data Bender True/apparent wind, CPA/TCPA from AIS, tank %, etc. — the default collision source v1.45.x, 2026-06 — ubiquitous
AIS target prioritizer signalk-ais-target-prioritizer independent Per-target CPA/TCPA, collision-risk rating, tunable guard+alarm profiles v0.3.2, 2026-04 — active
MOB notifier @meri-imperiumi/signalk-mob-notifier Bergius Notifications for AIS MOB / EPIRB / SART beacons active, 2026-06
Buddy list signalk-buddylist Bender Share/receive buddy-vessel positions established
NAVTEX signalk-navtex-plugin htool Renders a NAVTEX serial feed in-browser niche
Net-AIS (Finland) signalk-net-ais-plugin K E Gustafsson Pulls Baltic/Finnish traffic-authority AIS regional
AIS status sk-ais-status-plugin panaaj Manage AIS transponder status 2026-02

Gaps worth knowing: MOB and DSC have no dominant server plugin — MOB is usually raised/shown via Freeboard-SK/KIP as a standard notification; DSC distress is parsed from raw NMEA 0183 into notifications. For collision, both derived-data and ais-target-prioritizer do geometric CPA/TCPA, but neither encodes COLREGs rule text.

6. Autopilot

Plugin npm Maintainer What Status
Autopilot @signalk/signalk-autopilot SK org / Bender Raymarine-emulating GUI + backend; drives N2K/Seatalk-1 pilots active, 2026-05 — Raymarine-only
PyPilot provider pypilot-autopilot-provider panaaj Exposes PyPilot to the Autopilot Provider API active, 2026-06
Mock autopilot mock-autopilot-provider SK org Mock provider for testing the Autopilot API maintained

The ecosystem has consolidated on the Autopilot Provider API (SK Server 2.x); these are its two real providers plus the mock.

7. Anchor & security

Plugin npm Maintainer What Status
Anchor alarm signalk-anchoralarm-plugin Bender Anchor watch: position/radius, rode/bearing paths, drag alarm active, 2026-05 — canonical
Simple notifications signalk-simple-notifications Bender Threshold-rule alarms on any path (geofence-style building block) maintained
Alarm silencer signalk-alarm-silencer Bender Silence/ack active alarms via UI maintained

No dedicated signalk-geofence exists — geofence behaviour is assembled from anchor-alarm + simple-notifications + course arrival-circle logic.

8. Electrical, battery & Victron

Plugin npm Maintainer What Status
Venus / GX signalk-venus-plugin Bender Read+control Victron GX (Cerbo, Venus OS) — the canonical Victron integration v2.4.1, 2026-05 — active
To-Venus (reverse) signalk-to-venus Krillle Inject SK batteries/tanks/env/switches into a Cerbo as virtual devices v1.0.19, 2026-03
Victron BLE signalk-victron-ble Rivera Victron via BLE Instant Readout v0.1.9, 2025-11
VE.Direct serial @signalk/vedirect-serial-usb SK org Victron over serial v1.7.0, 2026-06
BMV monitor signalk-victron-battery-monitor Bender Parse Victron BMV-70x sentences 2022 — superseded
N2K switching signalk-n2k-switching Bender SK ⇄ N2K binary switching (relays, switch banks) v2.0.3, 2026-05
Shelly / Shelly2 signalk-shelly / signalk-shelly2 Bender Control Shelly smart relays 2026
EmpirBus NXT signalk-empirbusnxt-plugin Bender Monitor/control Garmin EmpirBus NXT 2025-07
Fusion stereo signalk-fusion-stereo Bender Control a Fusion marine stereo 2025-08
Battery guard signalk-nightswimming-battery-guard Teodoro Lio Cut solar at high SOC / inverter at low SOC v0.2.5, 2026-06 — new
INA219 signalk-raspberry-pi-ina219 (+ -4ch) Caprace DIY current/voltage/power shunt on a Pi 2022 — stale but used

9. Engine & tanks

Plugin npm Maintainer What Status
Engine hours signalk-engine-hours K-E Gustafsson Persistent hour logger for any engine reporting revolutions v1.6.0, 2026-05 — active
Hour meter signalk-hour-meter joelkoz Generic run-time meter off any path + webapp/API 2022 — works, unmaintained
Alternator engine-on @meri-imperiumi/signalk-alternator-engine-on Bergius Engine-on detection from alternator output (no RPM sender) v1.2.1, 2026-06 — active
Usage signalk-usage O. Fernander Track electrical and tank usage over time v0.2.6, 2026-03

Tanks/fuel is a thin category — no maintained dedicated tank or fuel-economy plugin. Tank levels arrive via @signalk/n2k-signalk (fluid-level PGNs) and get surfaced/derived by signalk-derived-data + signalk-usage. The engine-hours pattern is 3-stage: detect (alternator-engine-on) → accumulate (engine-hours or hour-meter). What's missing is a derived endurance layer: slosh/heel-filtered consumption rate, range/time-to-empty, per-tank strapping-table calibration for non-linear geometry, and hysteresis on low-fuel / full-holding alerts — the trivial 80% (% volume) is covered; the useful 20% isn't. A good contribution opportunity.

10. Environment & weather

Plugin npm Maintainer What Status
Open-Meteo provider @signalk/open-meteo-provider panaaj Open-Meteo via the SK Weather API active, 2026-06
OpenWeather provider signalk-openweather-provider panaaj OpenWeather via the Weather API active, 2026-06
NOAA weather signalk-noaa-weather Bender NOAA conditions + forecast for position v1.4.4, 2026-04
Virtual weather sensors signalk-virtual-weather-sensors Nearl Crews Keyless Open-Meteo/AccuWeather → 30+ env deltas + severe alerts v1.9.0, 2026-06 — very active
Meteoblue signalk-meteoblue M. Tamman Meteoblue forecast (partial Weather-API compliance) beta, 2026-01
OpenWeather (alt) openweather-signalk community OpenWeather conditions+forecast 2026-05
NOAA obs report signalk-noaa-weather-report community Send Voluntary Ship Observations to NOAA/Windy 2025-07 — niche outbound
NOAA space weather signalk-noaa-space-weather mark-brannan SWPC geomagnetic / HF-propagation alerts 2025-04 — niche
Ecowitt GW2000 signalk-ecowitt-gw2000 M. Oger Ingest a physical Ecowitt GW2000B/WS90 weather station v1.0.0, 2026-05
Barograph signalk-barograph Inspired Tech Log env to InfluxDB + barograph pressure viz v0.9.7, 2026-05
Barometer trend signalk-barometer-trend oyve Pressure trend + weather prediction from onboard baro v2.3.4, 2025-02

11. Instrumentation & display

Plugin npm Maintainer What Status
Freeboard-SK @signalk/freeboard-sk panaaj Flagship OpenLayers chartplotter webapp; routes, anchor/MOB UI, ENC/S57, playback very active, 2026-06
Charts plugin @signalk/charts-plugin SK org Serves MBTiles/online chart tiles to chartplotter apps active, 2026-06
PMTiles signalk-pmtiles-plugin panaaj Serves ProtoMaps PMTiles charts to Freeboard active, 2026-02
Vessel positions @signalk/vesselpositions SK org Embedded map of own + nearby AIS vessels maintained
KIP @mxtommy/kip Tommy Mauricio The customizable instrument dashboard — gauges, charts, switches, kiosk KIP 3.0 (2025) — most-installed
Instrument panel @signalk/instrumentpanel Kurki Original draggable gauge grid older — superseded by KIP
Calibration @signalk/calibration Kurki Adjust incoming data via calibration offsets 2024-11
Country flags signalk-flags panaaj Country-flag resources for vessels 2026-06

12. Notifications, logging & cloud

Plugin npm Maintainer What Category Status
Notifications mgr signalk-notifications Ilker Temir Central alarm-manager webapp (+ optional Pushover) notifications active — popular
Threshold notifier signalk-threshold-notifier community Fire notifications on path-threshold crossings notifications v4.x
Push (SNS) signalk-push-notifications Bender Push SK notifications to AWS SNS → SMS/email notify+cloud 2026-05
Pushover relay signalk-pushover-notification-relay KvotheBloodless Relay notification state to Pushover notify+cloud maintained
Logbook @meri-imperiumi/signalk-logbook Henri Bergius Semi-auto electronic logbook (trip/hourly/engine), YAML + web UI + API logging active
InfluxDB v1 signalk-to-influxdb Kurki SK → InfluxDB 1.x for Grafana logging legacy
InfluxDB v2 signalk-to-influxdb2 Kurki SK → InfluxDB 2.x + implements History API logging current recommended
Grafana datasource tkurki-signalk-datasource Kurki Grafana datasource reading the SK History API logging+display on Grafana registry
PostgSail signalk-postgsail xbgmsharp Auto-log trips/moorings to self-host/cloud Postgres+PostGIS+Grafana logging+cloud very active
Saillogger signalk-saillogger Ilker Temir Automated cloud logbook + real-time monitoring/sharing cloud+logging active
Starlink signalk-starlink Ilker Temir Dish status/metrics into SK paths cloud v1.1.0 — ~1yr stale
SignalK Cloud signalk-cloud Bender Sync to cloud.signalk.org for remote access cloud maintained
AIS reporter @signalk/aisreporter SK org Report own AIS (type 18/24) to MarineTraffic/AISHub cloud active
AIS forwarder ais-forwarder hkapanen Forward received AIS to aggregators cloud 2023 — stale
Aggregates aggregates Kurki / org Running mean/min/max of paths utility 2024-05
Node-RED @signalk/signalk-node-red Bender Embed Node-RED for SK automation utility active, 2026-05
Zones signalk-zones SK org Per-path alarm value-ranges notifications archived (now built into server)

Maintainers

A handful of people maintain a large share of the widely-used plugins — worth knowing and appreciating:

  • Scott Bender (@sbender9) — Victron/Venus, N2K switching, derived-data, autopilot, anchor alarm, notifications/push, signalk-cloud, Node-RED, Shelly/EmpirBus/Fusion.
  • Teppo Kurki (@tkurki) — founder; the data backbone: n2k-signalk, to-nmea0183, mqtt-gw, InfluxDB v1/v2 + Grafana datasource, tracks, calibration, aggregates.
  • Adrian Panasewicz (@panaaj) — the API/UI layer: Freeboard-SK, charts/PMTiles, course/resources/weather providers, pypilot, flags.
  • Henri Bergius (@bergie / meri-imperiumi) — logbook, autostate, MOB notifier, alternator-engine-on, Meshtastic, Teltonika.
  • Tommy Mauricio (@mxtommy) — KIP, now the default dashboard.
  • Ilker Temir, Brandon Keepers / OpenWaters, and many more across tides, Saillogger, crowd-depth, sensors, and the long tail.

Surveyed 2026-06-20 from the npm registry, the @signalk scope, and github.com/SignalK. Plugin rows trace to npm/GitHub. Treat date/version stamps as point-in-time and "stale" verdicts as re-checkable. Corrections and additions welcome.

The Signal K plugin ecosystem, by the numbers (June 2026)

I spent a day mapping the published Signal K plugin landscape and figured the numbers were worth sharing back. All counts are from the npm registry search API on 2026-06-20 — reproducible, see queries at the bottom.

The headline numbers

  • 479 packages tagged signalk-node-server-plugin (server plugins)
  • 126 packages tagged signalk-webapp (webapps)
  • ~605 keyword-tagged packages total in the App Store index
  • 11 plugins/webapps ship default-installed with the server
  • 7 @signalk/* libraries are required core (the data plane itself)

The App Store isn't a curated list — it's a live npm keyword query. Anything you publish with the right keyword shows up. That's a feature (zero gatekeeping) and explains the long tail: a large fraction of those 479 are single-boat, single-author plugins, many dormant. The maintained, broadly-used core is more like 70–90 plugins.

What you get out of the box

Required core (in the server, not removable): @signalk/server-api, signalk-schema, streams, n2k-signalk, nmea0183-signalk, course-provider, resources-provider. NMEA 0183 and 2000 ingestion are core — the conversion plugins are mostly the outbound direction.

Default-installed (auto-installed, removable): server-admin-ui, app-dock, freeboard-sk, instrumentpanel, KIP (now bundled by default — nice), serialport, set-system-time, signalk-to-nmea0183, signalk-to-nmea2000, n2kais-to-nmea0183, udp-nmea-plugin.

Who carries the ecosystem

A handful of people maintain a remarkable share of the widely-used plugins — worth appreciating publicly:

  • Scott Bender (@sbender9) — Victron/Venus, N2K switching, derived-data, autopilot, anchor alarm, notifications/push, signalk-cloud, Node-RED.
  • Teppo Kurki (@tkurki) — the data backbone: n2k-signalk, to-nmea0183, mqtt-gw, InfluxDB v1/v2 + Grafana datasource, tracks, calibration.
  • Adrian Panasewicz (@panaaj) — the API/UI layer: Freeboard-SK, charts/ PMTiles, course/resources/weather providers.
  • Henri Bergius (@bergie / meri-imperiumi) — logbook, autostate, MOB notifier, alternator-engine-on, Meshtastic.
  • Tommy Mauricio (@mxtommy) — KIP, now the default dashboard.
  • Ilker Temir, Brandon Keepers/OpenWaters, and many more across tides, Saillogger, crowd-depth, sensors…

A working taxonomy (12 types)

Data sources/connectors · NMEA conversion · sensor hardware · navigation · AIS & safety · autopilot · anchor & security · electrical/battery/Victron · engine & tanks · environment & weather · instrumentation/display · notifications/logging/cloud — plus a tier-0 "bundled with the server."

Gaps I noticed (where contributions would help)

  • Tanks & fuel is thin. Levels are on the bus, but nobody publishes a clean endurance / range-to-empty layer with slosh-filtered consumption rate and per-tank strapping-table calibration. The trivial 80% (% volume) is covered by derived-data; the useful 20% isn't.
  • MOB / DSC have no dominant server plugin — handled via UI + raw NMEA parsing into notifications.
  • Collision plugins do geometric CPA/TCPA (derived-data, ais-target-prioritizer) but none encode COLREGs rule text.

Reproduce the counts

curl -s 'https://registry.npmjs.org/-/v1/search?text=keywords:signalk-node-server-plugin&size=1' | jq .total curl -s 'https://registry.npmjs.org/-/v1/search?text=keywords:signalk-webapp&size=1' | jq .total

Default-installed / required lists are from signalk-server's package.json (optionalDependencies and dependencies).

Huge thanks to the maintainers above and everyone in the long tail — building some MCP servers on top of all this and the foundation is genuinely solid. 🙏

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment