Skip to content

Commit a591a21

Browse files
Tony BentleyTony Bentley
authored andcommitted
address pr comments
1 parent 805536c commit a591a21

File tree

1 file changed

+72
-145
lines changed

1 file changed

+72
-145
lines changed

_posts/2025/introducing-signalk-mcp-server-ai-powered-marine-data-access.mdx

Lines changed: 72 additions & 145 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,17 @@ For SignalK users, this means your AI assistant can now:
2424

2525
All through natural language conversations, without writing a single line of code.
2626

27+
## Getting Started
28+
29+
Here's the quick path to AI-powered boat monitoring:
30+
31+
1. **Install** the SignalK MCP server (see Installation section below)
32+
2. **Create** a context document with your boat's specs and normal ranges
33+
3. **Upload** the context to your AI client (Claude/ChatGPT Projects)
34+
4. **Ask** natural questions like "How's my boat doing today?"
35+
36+
The AI automatically queries your SignalK server, interprets the data using your vessel context, and provides intelligent analysis. Installation takes about 10 minutes.
37+
2738
## The SignalK MCP Server
2839

2940
The [signalk-mcp-server](https://github.com/tonybentley/signalk-mcp-server) is a new open-source project that bridges SignalK installations with MCP-compatible AI assistants. It provides read-only access to marine data systems, enabling AI-powered monitoring and analysis while maintaining security through its inability to control devices.
@@ -142,7 +153,7 @@ The AI automatically chooses which MCP server to use:
142153
},
143154
"influxdb": {
144155
"command": "npx",
145-
"args": ["-y", "@influxdata/influxdb-mcp-server"],
156+
"args": ["-y", "influxdb-mcp-server"],
146157
"env": {
147158
"INFLUXDB_URL": "http://your-boat-server.local:8086",
148159
"INFLUXDB_TOKEN": "your-influxdb-token",
@@ -171,7 +182,7 @@ The boat owner integrated **both SignalK and InfluxDB MCP servers** with Claude
171182

172183
- **89 conversations** about boat status and systems
173184
- **252 SignalK MCP tool calls** for real-time data (via signalk-mcp-server)
174-
- **192 InfluxDB MCP tool calls** for historical analysis (via @influxdata/influxdb-mcp-server)
185+
- **192 InfluxDB MCP tool calls** for historical analysis (via influxdb-mcp-server)
175186
- **26 conversations** used both MCP servers simultaneously
176187

177188
But the numbers don't tell the full story. What matters is _how_ the interaction changed.
@@ -224,6 +235,57 @@ Common query patterns that developed:
224235
- **Environmental monitoring**: Temperature and humidity trends
225236
- **Situational awareness**: Nearby vessels, position data
226237

238+
### Example Prompts to Try
239+
240+
These are real queries from actual usage, adapted to work with any SignalK setup. What you can ask depends on which sensors and systems you have installed:
241+
242+
**General Status Checks**
243+
244+
- "How is my boat doing today?"
245+
- Requires: Battery monitoring, any environmental sensors
246+
- "Are there any active alarms or warnings?"
247+
- Works with any SignalK system with alarm support
248+
249+
**Battery & Power** (if you have battery monitoring)
250+
251+
- "What's my current battery voltage and state of charge?"
252+
- "How much power am I using right now?"
253+
- "How has the battery been charging today?" (requires InfluxDB for historical analysis)
254+
255+
**Solar/Wind** (if you have renewable energy sources)
256+
257+
- "How much solar power am I generating?"
258+
- Requires: Solar controller with SignalK integration
259+
- "What's today's total solar production?" (requires InfluxDB for historical data)
260+
261+
**Navigation & AIS** (if you have AIS receiver)
262+
263+
- "What's the nearest vessel to me right now?"
264+
- "Show me all vessels within 5 miles"
265+
- Requires: AIS receiver integrated with SignalK
266+
267+
**Environmental Monitoring** (if you have temp/humidity sensors)
268+
269+
- "What's the temperature inside the cabin?"
270+
- "How has humidity changed over the last day?" (requires InfluxDB for historical analysis)
271+
272+
**Tank Monitoring** (if you have tank sensors)
273+
274+
- "How much fresh water do I have left?"
275+
- "Is my holding tank full?"
276+
277+
**Bilge & Safety** (if you have bilge sensors)
278+
279+
- "Check for any water in the bilge"
280+
- "Monitor bilge pumps and alert me if they're running"
281+
282+
**Engine Monitoring** (if you have engine sensors)
283+
284+
- "What's my engine temperature and oil pressure?"
285+
- "Show me RPM over the last hour" (requires InfluxDB for historical data)
286+
287+
The AI automatically uses your available sensors and paths—it won't try to query data you don't have. Start with simple queries to discover what your system can provide, then build up to more complex questions.
288+
227289
## Integration Architecture
228290

229291
This setup demonstrates a sophisticated but accessible integration:
@@ -368,7 +430,7 @@ This context enables:
368430

369431
**Unit Conversions Are Critical:**
370432

371-
SignalK follows the specification standard and stores all data in **SI units** (meters, Kelvin, meters/second), while boaters typically think in **nautical units, imperial units, or metric** depending on their location (feet/Fahrenheit in the US, meters/Celsius internationally, and knots universally). Additionally, SignalK and InfluxDB store timestamps in **UTC**, but you'll want to see times in your local timezone.
433+
SignalK follows the specification standard and stores all data in **SI units** (meters, Kelvin, meters/second). Boaters typically think in **nautical units, imperial units, or metric** depending on their locationfeet and Fahrenheit in the US, meters and Celsius internationally, and knots universally. Additionally, SignalK and InfluxDB store timestamps in **UTC**, but you'll want to see times in your local timezone.
372434

373435
Without specifying your preferred units in the context document, you'll get technically correct but unintuitive responses:
374436

@@ -456,43 +518,14 @@ By documenting your unit preferences and timezone, the AI automatically converts
456518

457519
### Maintaining Your Context Document
458520

459-
Your vessel's context document is a living document that becomes more valuable over time. Regular updates improve the AI's ability to detect problems and provide intelligent analysis.
460-
461-
**Why Keeping It Current Matters:**
462-
463-
Baselines are critical for detecting electrical anomalies and system degradation. Consider this example:
464-
465-
**Scenario:** You notice your battery isn't holding charge as well as it used to.
466-
467-
**Without updated context:**
521+
Keep your vessel context updated for better AI analysis. When you document baselines (battery voltage curves, normal solar output, typical consumption), the AI can detect degradation early. For example, if battery voltage at 50% SOC drops from a documented 13.1V baseline to 12.4V, the AI will flag potential cell imbalance rather than just reporting the value.
468522

469-
- AI sees: `electrical.batteries.288.voltage` = 12.4V at 50% SOC
470-
- AI responds: "Battery is at 12.4V and 50% state of charge."
523+
**Update regularly:**
471524

472-
**With historical baseline in context:**
473-
474-
- Context says: "Normal voltage at 50% SOC: 13.1V (baseline from June 2024)"
475-
- AI sees: Current = 12.4V, Expected = 13.1V
476-
- AI responds: "⚠️ Battery voltage is 0.7V below normal baseline for 50% charge. This suggests battery degradation or a cell imbalance issue. Normal voltage at this charge level should be ~13.1V. Recommend checking battery health and connections."
477-
478-
**Best Practices for Maintaining Context:**
479-
480-
- **Document baselines** when systems are new or freshly serviced
481-
- **Update normal ranges** seasonally (summer vs winter temperatures, loads)
482-
- **Record system changes**: New equipment, battery replacements, solar panel additions
483-
- **Note degradation patterns**: "Battery capacity reduced from 300Ah to ~280Ah effective"
484-
- **Track performance**: "Solar output dropped 15% after tree growth on dock"
485-
- **Mark dates**: "Fridge compressor replaced Oct 2024, now runs cooler"
486-
487-
**What to Update Regularly:**
488-
489-
1. **Electrical baselines**: Battery voltage curves, normal charging current, expected solar output
490-
2. **Consumption patterns**: Seasonal changes in power usage, new equipment loads
491-
3. **Environmental normals**: Temperature ranges as seasons change
492-
4. **System quirks**: New issues discovered, workarounds implemented
493-
5. **Maintenance history**: When components were serviced, replaced, or adjusted
494-
495-
The more detailed your context, the better the AI can distinguish between "that's normal for winter" and "something is actually wrong."
525+
- Electrical baselines when equipment is new or serviced
526+
- Normal ranges seasonally (temperature, consumption patterns)
527+
- System changes (new equipment, replacements)
528+
- Degradation patterns and maintenance history
496529

497530
## Security Considerations
498531

@@ -505,99 +538,6 @@ The SignalK MCP server is designed with safety in mind:
505538

506539
This makes it suitable for production use aboard vessels where system integrity is critical.
507540

508-
## Getting Started
509-
510-
Ready to add AI-powered monitoring to your SignalK installation? Follow these beginner-friendly steps:
511-
512-
### Step 1: Prerequisites
513-
514-
**What You Need:**
515-
516-
- A computer (Mac or Windows) or mobile device
517-
- Access to your SignalK server (local network or remote)
518-
- An AI client account (Claude or ChatGPT)
519-
520-
**Install Node.js (Desktop Only):**
521-
522-
- Visit [nodejs.org](https://nodejs.org) and download the LTS version
523-
- Run the installer and follow the prompts
524-
- Verify: Open Terminal/Command Prompt and type `node --version`
525-
526-
### Step 2: Create Your Vessel Context Document
527-
528-
Before connecting the MCP server, create a document with your boat's information:
529-
530-
**Use the template from the "Setting Up Your Vessel Knowledge Base" section** above, including:
531-
532-
- Battery specifications and normal voltage ranges
533-
- Solar panel wattage and expected output
534-
- SignalK path mappings for your systems
535-
- Normal operating patterns
536-
537-
**Save this document** - you'll upload it to your AI client in Step 4.
538-
539-
### Step 3: Install SignalK MCP Server
540-
541-
Choose your installation method based on your AI client:
542-
543-
**For Claude Desktop:** See "Option A" in the Installation section above
544-
**For ChatGPT Desktop:** See "Option B" in the Installation section above
545-
**For Mobile:** See "Option C" in the Installation section above
546-
547-
### Step 4: Upload Your Context Document
548-
549-
**Claude Desktop:**
550-
551-
1. Create a new Project
552-
2. Name it "Vessel Monitoring" (or your boat's name)
553-
3. Click "Add Content" and upload your context document
554-
4. All conversations in this project will reference your vessel info
555-
556-
**ChatGPT Desktop:**
557-
558-
1. Open a new chat
559-
2. Upload your context document using the attachment button
560-
3. OR add key details to Custom Instructions
561-
562-
### Step 5: Test the Connection
563-
564-
Start with simple queries to verify everything works:
565-
566-
**Initial Test:**
567-
568-
- "What tools do you have available for SignalK?"
569-
- "Can you connect to my SignalK server?"
570-
571-
**Data Queries:**
572-
573-
- "What's my current position?"
574-
- "Show me battery voltage and state of charge"
575-
- "What vessels are nearby?"
576-
- "Are there any active alarms?"
577-
578-
**Context-Aware Analysis:**
579-
580-
- "How's my boat doing today?"
581-
- "Is the battery charging normally?"
582-
- "Any systems outside normal range?"
583-
584-
The AI will automatically:
585-
586-
1. Consult your vessel context document
587-
2. Query SignalK using the appropriate MCP tools
588-
3. Provide intelligent analysis based on your normal ranges
589-
590-
### Step 6: Ask Natural Questions
591-
592-
With context uploaded and MCP connected, you can ask natural questions:
593-
594-
- "How much solar did I generate compared to yesterday?"
595-
- "Is the fridge temperature normal?"
596-
- "What's been happening with my battery overnight?"
597-
- "Any boats near me right now?"
598-
599-
The AI orchestrates the right tools and interprets results using your vessel's context.
600-
601541
## Platform Comparison
602542

603543
Choose the right AI client for your needs:
@@ -620,22 +560,9 @@ Choose the right AI client for your needs:
620560
- **Mobile-only**: Claude mobile app with remote MCP (configure on web first)
621561
- **Advanced users**: Any platform—all support the same MCP protocol
622562

623-
## What's Next?
624-
625-
The SignalK MCP server opens new possibilities for marine automation and monitoring:
626-
627-
### Future Possibilities
628-
629-
- **Proactive Alerts**: AI-driven anomaly detection across systems
630-
- **Voyage Planning**: Natural language query of route, weather, and vessel readiness
631-
- **Maintenance Tracking**: Conversational access to equipment hours and service schedules
632-
- **Multi-Source Integration**: Combining SignalK with weather APIs, marina databases, and more
633-
- **Voice Interface**: "Hey Claude, how's the boat?" via mobile devices
634-
- **Automated Logging**: AI-generated system reports and maintenance logs
635-
636563
## Join the Community
637564

638-
The signalk-mcp-server project is open source and available on [GitHub](https://github.com/tonybentley/signalk-mcp-server). Whether you're a developer interested in extending the capabilities or a boat owner wanting to try AI-powered monitoring, we'd love to hear from you.
565+
The signalk-mcp-server project is open source and available on [GitHub](https://github.com/tonybentley/signalk-mcp-server).
639566

640567
### Resources
641568

0 commit comments

Comments
 (0)