signalk
Signalk MCP Server
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:
- Install the MCP server via npx (recommended):
npx signalk-mcp-server
- Or install globally and run directly:
npm install -g signalk-mcp-server
signalk-mcp-server
- 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.
- 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
iterm
A Model Context Protocol server that executes commands in the current iTerm session - useful for REPL and CLI assistance
mcp
Octopus Deploy Official MCP Server
furi
CLI & API for MCP management
editor
MCP Server for Phaser Editor
DoorDash
MCP server from JordanDalton/DoorDash-MCP-Server
mcp
MCP сервер для автоматического создания и развертывания приложений в Timeweb Cloud