Get the FREE Ultimate OpenClaw Setup Guide →

signalk

Signalk MCP Server

Installation
Run this command in your terminal to add the MCP server to Claude Code.
Run in terminal:
Command
claude mcp add --transport stdio vesselsense-signalk-mcp-server npx signalk-mcp-server \
  --env SERVER_NAME="signalk-mcp-server" \
  --env SIGNALK_TLS="false (true if using WSS/HTTPS)" \
  --env SIGNALK_HOST="localhost or signalK server host" \
  --env SIGNALK_PORT="3000 (SignalK server port)" \
  --env EXECUTION_MODE="code (default) | tools | hybrid" \
  --env SERVER_VERSION="1.0.6"

How to use

This MCP server exposes a SignalK-focused integration that runs user code inside secure V8 isolates to filter and shape data before returning it to the AI agent. It enables real-time consumption of SignalK data with substantial token savings by performing client-side filtering in the execution sandbox. Available SDK functions include getVesselState, getAisTargets, getActiveAlarms, listAvailablePaths, getPathValue, and getConnectionStatus, all of which must be awaited as they are asynchronous. You can combine multiple calls in a single execute_code invocation to produce compact results, such as locating a vessel position and nearby AIS targets within one execution. The server supports different execution modes (code, tools, hybrid) to balance security and backward compatibility. See the examples for common workflows like getting vessel data, filtering nearby vessels, and generating a situation report.

How to install

Prerequisites:

  • Node.js 18.0.0 or higher
  • Access to a SignalK server

Installation steps:

  1. Install via npx (recommended)
# Install and run the MCP server directly via npx
npx signalk-mcp-server
  1. Or install globally (optional)
# Install globally to run as a CLI tool
npm install -g signalk-mcp-server
  1. Verify installation and run
# If installed globally, start the server (example)
npm run signalk-mcp-server
  1. Configure environment variables (example)
# Example environment configuration (adjust as needed)
SIGNALK_HOST=localhost
SIGNALK_PORT=3000
SIGNALK_TLS=false
EXECUTION_MODE=code
SERVER_NAME=signalk-mcp-server
SERVER_VERSION=1.0.6
  1. Run unit tests (if you clone the repo locally)
npm install
npm run build
npm run test:unit
  1. For development mode
npm run dev

Additional notes

Tips and notes:

  • The SIGNALK_HOST/SIGNALK_PORT/SIGNALK_TLS env vars configure how the server connects to your SignalK instance.
  • EXECUTION_MODE lets you switch between code (secure, fast isolate-based execution), tools (legacy MCP tool calls), or hybrid (both).
  • The server uses an isolated-vm-based sandbox with a 128MB memory limit and a 30-second execution timeout to protect resources.
  • All SDK calls are asynchronous; always await them in code executed in the sandbox.
  • If migrating from older setups, note that 1.x migrations changed the default mode to code and legacy tools are not enabled by default.
  • For security, there is no credential exposure; authentication with SignalK is handled by the binding layer, and the sandbox is read-only with respect to the SignalK server.

Related MCP Servers

Sponsor this space

Reach thousands of developers