tonybentley/signalk-mcp-server
If you are the rightful owner of signalk-mcp-server and would like to certify it and/or have it hosted online, please leave a comment on the right or send an email to henry@mcphub.com.
A Model Context Protocol (MCP) server that provides AI agents with read-only access to SignalK marine data systems.
The SignalK MCP Server is designed to facilitate AI agents, such as Claude, in accessing and interacting with marine data systems through the SignalK protocol. This server offers a read-only interface to vessel navigation data, AIS target monitoring, and system alarms, ensuring that AI agents can query and retrieve real-time information without the risk of altering any data. The server supports real-time data streams, path discovery, and robust connection handling, making it a reliable tool for marine data analysis and monitoring. With its focus on safety and security, the server ensures that all operations are read-only, preventing any unintended control over vessel systems. The server is easy to install and configure, with support for both local and remote SignalK servers, and offers seamless integration with AI platforms like Claude Desktop and Claude Code CLI.
Features
- Real-time vessel data access including position, heading, speed, and wind information.
- AIS target monitoring to query nearby vessels with position, course, and speed data.
- System notifications for monitoring active alarms and system alerts.
- Live data streams with subscription to real-time updates from multiple SignalK paths.
- Automatic reconnection with robust connection handling and configurable retry logic.
Usages
usage with Claude Desktop npx
{ "mcpServers": { "signalk": { "command": "npx", "args": ["-y", "signalk-mcp-server"], "env": { "SIGNALK_HOST": "localhost", "SIGNALK_PORT": "3000", "SIGNALK_TLS": "false" } } } }
usage with Claude Desktop local build
{ "mcpServers": { "signalk": { "command": "node", "args": ["/path/to/signalk-mcp-server/dist/src/index.js"], "env": { "SIGNALK_HOST": "localhost", "SIGNALK_PORT": "3000", "SIGNALK_TLS": "false" } } } }
usage with Claude Code CLI npx
bash claude mcp add signalk \ -e SIGNALK_HOST=localhost \ -e SIGNALK_PORT=3000 \ -e SIGNALK_TLS=false \ -- npx signalk-mcp-server
usage with Claude Code CLI JSON
bash claude mcp add-json signalk '{ "command": "npx", "args": ["-y", "signalk-mcp-server"], "env": { "SIGNALK_HOST": "localhost", "SIGNALK_PORT": "3000", "SIGNALK_TLS": "false" } }'
usage with Claude Code CLI project scoped
{ "mcpServers": { "signalk": { "command": "npx", "args": ["-y", "signalk-mcp-server"], "env": { "SIGNALK_HOST": "localhost", "SIGNALK_PORT": "3000", "SIGNALK_TLS": "false" } } } } bash claude mcp add signalk -s project npx signalk-mcp-server
usage with Claude Code CLI global installation
bash claude mcp add signalk signalk-mcp-server
Tools
get_initial_context
Returns comprehensive SignalK context and documentation to help AI agents understand the system.
get_vessel_state
Returns current vessel navigation data including position, heading, speed, wind information, and vessel identity.
get_ais_targets
Retrieves nearby vessels from AIS with position, course, speed, and identification data.
get_active_alarms
Returns current system notifications, alerts, and alarm states.
list_available_paths
Discovers and lists all available SignalK data paths on the connected server.
get_path_value
Gets the latest value for any specific SignalK path.
get_connection_status
Returns WebSocket connection state, health metrics, and reconnection status.