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 tonybentley-signalk-mcp-server npx signalk-mcp-server \
  --env SERVER_NAME="signalk-mcp-server" \
  --env SIGNALK_TLS="false" \
  --env SIGNALK_HOST="localhost" \
  --env SIGNALK_PORT="3000" \
  --env EXECUTION_MODE="code" \
  --env SERVER_VERSION="1.0.6"

How to use

This MCP server provides AI agents with access to SignalK marine data by executing code in secure V8 isolates. Instead of returning all data, the server allows you to run JavaScript code that filters and aggregates data inside the isolate, dramatically reducing token usage. The available tools expose SignalK data through async SDK functions (e.g., getVesselState, getAisTargets, getActiveAlarms, listAvailablePaths, getPathValue, getConnectionStatus), and you can combine multiple calls in a single code execution for efficiency.

To use, configure an MCP client (e.g., Claude Desktop or your own AI tool) to query the signalk MCP server. Use the provided code execution flow to fetch vessel data, filter AIS targets by distance, check alarms, or discover data paths, all inside the isolate. Typical workflows include retrieving vessel position, filtering nearby vessels, and summarizing alarms in a single execution to minimize data transfer to the AI.

How to install

Prerequisites:

  • Node.js 18.x or newer
  • npm or pnpm
  • Access to a running SignalK server

Installation steps:

  1. Install the MCP server via npx (recommended):
npx signalk-mcp-server
  1. Or install globally and run directly:
npm install -g signalk-mcp-server
signalk-mcp-server
  1. Ensure your SignalK server is reachable from the MCP server (set SIGNALK_HOST, SIGNALK_PORT, and optionally SIGNALK_TLS). If you use the default config, the MCP server expects a local SignalK at port 3000 without TLS.
  2. If you want to customize behavior, set environment variables as described in the configuration section (EXECUTION_MODE, SERVER_NAME, SERVER_VERSION).

Additional notes

Tips and notes:

  • The code execution model uses V8 isolates to filter data on the fly, yielding substantial token savings (often >90%).
  • Execution modes: code (default, secure isolate), tools (legacy MCP tools), hybrid (both available during transition).
  • Always await async SDK functions inside your code (e.g., const vessel = await getVesselState()).
  • The environment below mirrors common deployment setups; adjust SIGNALK_HOST/PORT to your environment.
  • If you encounter connectivity issues, verify TLS settings and that SignalK credentials (if required) are handled by the binding layer.
  • Version note: 1.0.6 changed default mode to code and deprecated legacy tools by default. You can enable them via EXECUTION_MODE=tools if needed.

Related MCP Servers

Sponsor this space

Reach thousands of developers