Featured

Deploy OpenClaw in 60 seconds — 20% off logoDeploy OpenClaw in 60 seconds — 20% off

Launch OpenClaw on Hostinger in about 60 seconds and keep your agent live 24/7. Our referral link gives you 20% off, no coupon code needed.

Launch on Hostinger
Run your Hermes agent on Hostinger, fully managed logoRun your Hermes agent on Hostinger, fully managed

Launch Hermes on Hostinger in one click, fully managed, no VPS knowledge needed. Use code ZACAARON10 for 10% off.

Launch on Hostinger
Crawl and scrape any site into clean data, 10% off logoCrawl and scrape any site into clean data, 10% off

Firecrawl crawls and scrapes any site into clean markdown for your agent. Get 1,000 free credits, and new users get 10% off their first purchase.

Try Firecrawl free
6,000+ web scrapers for your AI agent, start free logo6,000+ web scrapers for your AI agent, start free

Apify gives your agent live web data: 6,000+ prebuilt scrapers and actors, MCP-ready. Sign up free with $5 in usage credits.

Try Apify free
One API to scrape, enrich, and extract the internet. logoOne API to scrape, enrich, and extract the internet.

Context.dev gives your agents a single API to scrape, enrich, and extract live web data — no proxies, no parsers, no maintenance.

Start building free
SetupClaw: done-for-you OpenClaw for founders & exec teams logoSetupClaw: done-for-you OpenClaw for founders & exec teams

White-glove OpenClaw for founders and exec teams (4–50+ employees): we install, harden, integrate your tools, and maintain it — secured from day one.

Get it set up for you
SEO data APIs for your agent, $1 free credit logoSEO data APIs for your agent, $1 free credit

DataForSEO gives your agent live access to SERP results, keyword data, backlinks, and on-page SEO data through one API. New accounts get a $1 credit, good for up to 20,000 keyword or backlink lookups.

Try DataForSEO free
Reach 48,000+ AI builders

A flat monthly placement in front of developers actively installing AI tools. No lock-in, cancel anytime.

Advertise here
kip-mcp-server logo

kip-mcp-server

dillan/kip-mcp-server
0 starsv1.12.0STDIORegistry activeMITUpdated 2026-06-24Community

Works with

Claude CodeClaude DesktopCursorVS CodeClineCodex CLIOpenClaw+ any MCP client

Install to Claude Code

claude mcp add kip -- npx -y kip-mcp-server

Summary

An MCP server that lets an AI assistant look at your boat's Signal K data and help you design and install KIP dashboards.

Connect from your MCP client

One-click install

Add this server to your editor with a single click. Fill in any required credentials afterward.

Claude Code

Run this once and Claude Code registers the server for you:

claude mcp add kip -- npx -y kip-mcp-server

Claude Desktop

Add this to claude_desktop_config.json under Settings → Developer → Edit Config:

{
  "mcpServers": {
    "kip": {
      "command": "npx",
      "args": [
        "-y",
        "kip-mcp-server"
      ],
      "env": {
        "SIGNALK_HOST": "<SIGNALK_HOST>",
        "SIGNALK_PORT": "<SIGNALK_PORT>",
        "SIGNALK_TLS": "<SIGNALK_TLS>",
        "SIGNALK_TOKEN": "<SIGNALK_TOKEN>",
        "SIGNALK_USER": "<SIGNALK_USER>",
        "SIGNALK_PASSWORD": "<SIGNALK_PASSWORD>",
        "KIP_URL": "<KIP_URL>"
      }
    }
  }
}

Cursor

Add this to .cursor/mcp.json in your project (or ~/.cursor/mcp.json for all projects):

{
  "mcpServers": {
    "kip": {
      "command": "npx",
      "args": [
        "-y",
        "kip-mcp-server"
      ],
      "env": {
        "SIGNALK_HOST": "<SIGNALK_HOST>",
        "SIGNALK_PORT": "<SIGNALK_PORT>",
        "SIGNALK_TLS": "<SIGNALK_TLS>",
        "SIGNALK_TOKEN": "<SIGNALK_TOKEN>",
        "SIGNALK_USER": "<SIGNALK_USER>",
        "SIGNALK_PASSWORD": "<SIGNALK_PASSWORD>",
        "KIP_URL": "<KIP_URL>"
      }
    }
  }
}

Cline and other MCP clients

Most MCP clients accept the standard mcpServers JSON block:

{
  "mcpServers": {
    "kip": {
      "command": "npx",
      "args": [
        "-y",
        "kip-mcp-server"
      ],
      "env": {
        "SIGNALK_HOST": "<SIGNALK_HOST>",
        "SIGNALK_PORT": "<SIGNALK_PORT>",
        "SIGNALK_TLS": "<SIGNALK_TLS>",
        "SIGNALK_TOKEN": "<SIGNALK_TOKEN>",
        "SIGNALK_USER": "<SIGNALK_USER>",
        "SIGNALK_PASSWORD": "<SIGNALK_PASSWORD>",
        "KIP_URL": "<KIP_URL>"
      }
    }
  }
}

Codex CLI

Register the server with OpenAI's Codex CLI — run this once, or add the equivalent block to ~/.codex/config.toml:

codex mcp add kip --env SIGNALK_HOST=<SIGNALK_HOST> --env SIGNALK_PORT=<SIGNALK_PORT> --env SIGNALK_TLS=<SIGNALK_TLS> --env SIGNALK_TOKEN=<SIGNALK_TOKEN> --env SIGNALK_USER=<SIGNALK_USER> --env SIGNALK_PASSWORD=<SIGNALK_PASSWORD> --env KIP_URL=<KIP_URL> -- npx -y kip-mcp-server

# or add to ~/.codex/config.toml:
[mcp_servers.kip]
command = "npx"
args = ["-y", "kip-mcp-server"]
[mcp_servers.kip.env]
SIGNALK_HOST = "<SIGNALK_HOST>"
SIGNALK_PORT = "<SIGNALK_PORT>"
SIGNALK_TLS = "<SIGNALK_TLS>"
SIGNALK_TOKEN = "<SIGNALK_TOKEN>"
SIGNALK_USER = "<SIGNALK_USER>"
SIGNALK_PASSWORD = "<SIGNALK_PASSWORD>"
KIP_URL = "<KIP_URL>"

OpenClaw

OpenClaw reads MCP servers from the mcp.servers section of ~/.openclaw/openclaw.json (managed via `openclaw mcp add` or the mcporter skill):

{
  "mcp": {
    "servers": {
      "kip": {
        "command": "npx",
        "args": [
          "-y",
          "kip-mcp-server"
        ],
        "env": {
          "SIGNALK_HOST": "<SIGNALK_HOST>",
          "SIGNALK_PORT": "<SIGNALK_PORT>",
          "SIGNALK_TLS": "<SIGNALK_TLS>",
          "SIGNALK_TOKEN": "<SIGNALK_TOKEN>",
          "SIGNALK_USER": "<SIGNALK_USER>",
          "SIGNALK_PASSWORD": "<SIGNALK_PASSWORD>",
          "KIP_URL": "<KIP_URL>"
        }
      }
    }
  }
}

Replace the <PLACEHOLDER> values with your own credentials — see the configuration table below.

Configuration

kip-mcp-server reads the following environment variables:

VariableRequired
SIGNALK_HOSTOptional
SIGNALK_PORTOptional
SIGNALK_TLSOptional
SIGNALK_TOKENOptional
SIGNALK_USEROptional
SIGNALK_PASSWORDOptional
KIP_URLOptional

README.md

kip-mcp-server

![CI](https://github.com/dillan/kip-mcp-server/actions/workflows/ci.yml) ![npm version](https://www.npmjs.com/package/kip-mcp-server) ![npm downloads](https://www.npmjs.com/package/kip-mcp-server) ![license](./LICENSE) ![node](https://www.npmjs.com/package/kip-mcp-server)

An MCP server that lets an AI assistant (such as Claude, Codex, or Gemini) look at your boat's Signal K data and help you design and install KIP dashboards — the gauges and panels you see on your chartplotter or tablet.

You stay in control: the assistant shows you a picture of each dashboard first, and it only saves anything to your boat after you say yes.

What it does

  • Looks at your boat's data. It finds the values your boat reports through Signal K

— speed, wind, depth, batteries, engine, and so on.

  • Suggests dashboards. It proposes a general dashboard plus ones for specific jobs:

sailing, motoring, power, anchoring, navigation, and weather.

  • Shows you a preview. You see a simple picture of each dashboard before anything is

saved.

  • Installs them — with your OK. It writes the dashboards to your KIP setup, or hands

you a file you can import yourself.

What it looks like

A short session with an AI assistant, after pointing it at your boat:

You:  Look at my boat's data and suggest some KIP dashboards.

  → analyze_signalk_data            142 paths · speed, wind, depth, battery, engine
  → recommend_dashboard_set         6 dashboards the data supports

Assistant: Your boat reports navigation, wind, depth, electrical and engine data,
so I can build these. Here's the "Sailing" one — a preview, nothing saved yet:

  ┌─────────────┬─────────────┬───────────────────────────┐
  │ SOG  6.2 kn │ AWS 14 kn   │                           │
  ├─────────────┼─────────────┤        wind steering       │
  │ DPT  8.4 m  │ AWA  42°    │                           │
  └─────────────┴─────────────┴───────────────────────────┘

You:  Looks good — install the sailing and anchor ones.

  → apply_kip_config (dry run)      2 dashboards → KipConfig (global)
Assistant: This will add "Sailing" and "Anchor" to KIP. Go ahead?
You:  Yes.
  → apply_kip_config                written ✓  — open KIP to see them.

The assistant always shows a preview first and asks before writing anything to your boat.

Quick start (for boat owners)

You need a Signal K server running on your boat (or on your network), with KIP installed.

  1. Find your Signal K address. It usually looks like http://your-boat:3000. Note

the host name (or IP) and port.

  1. Get this server. You don't need to install anything by hand — your AI assistant can

run it on demand with npx (which comes with Node.js 24 or newer): ``bash npx -y kip-mcp-server `` The next step wires this command into your assistant. (Prefer to build from source? See Develop below.)

  1. Connect it to your AI assistant. Pick your assistant in docs/clients

and follow the short setup there. You tell the assistant your boat's host and port.

  1. Ask it to help. Say something like *"Look at my boat's data and suggest some KIP

dashboards."* Review the previews it shows you.

  1. Say yes. When you're happy, tell it to go ahead. It asks before writing anything.

If your Signal K server is older, it gives you a KipConfig.json file to import from KIP's Settings instead.

How to connect it

The server reads a few settings from its environment:

| Setting | What it is | Default | | --- | --- | --- | | SIGNALK_HOST | Your Signal K host name or IP | localhost | | SIGNALK_PORT | Your Signal K port | 3000 | | SIGNALK_TLS | Set to true if your server uses https | false | | SIGNALK_TOKEN | A Signal K login token, needed to write dashboards | (none) | | SIGNALK_USER | A Signal K username — used with SIGNALK_PASSWORD instead of a token | (none) | | SIGNALK_PASSWORD | The matching Signal K password | (none) | | KIP_URL | Override where KIP is served, if it's not the default | (derived) |

Reading your data needs no login. Writing dashboards to the server needs either a token or a username and password; you can always use the file-export option instead, which needs nothing extra. For how to get a token (or why a username/password is simpler), see Signal K authentication.

Remote access over HTTP (optional, advanced)

By default the server talks over stdio — the assistant runs it as a local subprocess. There is also an optional HTTP mode (kip-mcp-http) for hosting the server so a remote assistant (such as Claude.ai) can reach it over the network. It is opt-in and meant for a single operator behind a reverse proxy that adds TLS.

# Behind a TLS-terminating reverse proxy that forwards to 127.0.0.1:3017
MCP_BEARER_TOKEN=a-long-random-secret \
MCP_PUBLIC_URL=https://boat.example.com/mcp \
  npx kip-mcp-http

| Setting | What it is | Default | | --- | --- | --- | | HTTP_HOST | Address to bind | 127.0.0.1 (loopback) | | HTTP_PORT | Port to listen on | 3017 | | HTTP_PATH | URL path for the MCP endpoint | /mcp | | MCP_BEARER_TOKEN | One or more (comma-separated) bearer tokens that callers must present | (none) | | MCP_PUBLIC_URL | The public URL clients reach, used for the Host allowlist and metadata | (derived) | | MCP_ALLOWED_ORIGINS | Comma-separated browser origins to accept (off by default) | (none) | | MCP_ALLOWED_HOSTS | Override the Host allowlist | (derived) | | MCP_ALLOW_INSECURE | Set to true to start anyway in an unsafe setup | (unset) |

Every request must present a valid Authorization: Bearer <token> and pass a Host/Origin allowlist before it reaches the MCP layer. The server refuses to start if it would bind to a non-loopback address or run without a bearer token, unless you set MCP_ALLOW_INSECURE=true. It uses one Signal K login for all sessions, so treat it as a single-tenant deployment; the same SIGNALK_* settings above apply.

What the assistant can do

The server gives the assistant a set of tools, grouped by job:

  • Look at the boat — list the data paths, their units, and which plugins are installed.
  • Know KIP's parts — list every KIP widget and how it's configured, plus the colours,

icons and units KIP understands.

  • Design dashboards — suggest a set of dashboards, build one for a chosen job, and draw

a preview.

  • Review the UX — critique a dashboard for marine usability (hierarchy, grouping,

consistency, labels) with severity-tagged findings; the review_dashboard prompt drives it, backed by a deterministic check_dashboard_ux lint.

  • Check and save — check a dashboard is well-formed, export it to a file, or write it to

the boat (asking first).

More help

  • Recipes — worked examples of asking the assistant to design dashboards.
  • Troubleshooting — fixes for the common problems, starting with

the built-in --doctor check.

Glossary

A few terms, in plain words:

  • Signal K — the open system many boats use to share data (speed, wind, depth, …) over

the network.

  • path — the name of one piece of data, like navigation.speedOverGround (speed over

ground).

  • KIP — the app that shows your boat's data as dashboards of gauges and panels.
  • widget — one gauge or panel on a dashboard (a number, a dial, a wind display, …).
  • dashboard — a screen full of widgets, laid out on a grid.
  • token — like a password for software: it lets the server save changes to your boat.
  • dry run — the assistant tells you what it would do, without actually doing it. Saving

is a dry run by default.

Develop

This project uses Node.js 24 (LTS). Common commands:

npm install        # install dependencies
npm run typecheck  # check types
npm run lint       # check code style
npm test           # run the tests
npm run build      # compile to dist/
npm run smoke      # start the built server and check it answers
npm run ci         # run the full set of checks

For a full guide to running and testing the server locally during development — pointing an AI client or the MCP Inspector at a local build, running the HTTP transport, and testing against Signal K (or offline) — see docs/development.md.

Commits follow Conventional Commits; releases and version numbers are produced automatically from those commit messages.

License

MIT — see LICENSE.

See related servers & alternatives →

Related MCP servers

Browse all →

Related guides

Hand-picked reading to help you choose and use AI & ML servers.