Skip to content

Cosmic's Coast Map

by brendoncampbell · remote · no sign-in to list tools · v1.0.0 · published by GitHub user brendoncampbell

Tides, currents, marine forecasts and warnings for paddlers, anglers and small boats, 26 countries.

Changes · 10

11 tools: 10 change things and 1 only read.

Scanned Oct 21, 2026

2 checks matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http coast-map https://coast.cosmicotter.ca/mcp

Findings

Matches of fixed checks, with the text they matched.

2 warn
  • The server marks "start_pass_purchase" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

    Matched text

    annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "start_pass_purchase" says "start": a word for a change.

    What this check looks for
  • The server marks "pass_status" as not read-only (readOnlyHint: false), and its words say it reads.

    Matched text

    annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "pass_status" says "status": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

11 tools

Changes things 10Claude Code: ask
  • best_low_tidesThe lowest daylight low tides over the next days (default 30, up to 90 with a pass key), marking the good ones for clamming, foraging and tide pools.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    The lowest daylight low tides over the next days (default 30, up to 90 with a pass key), marking the good ones for clamming, foraging and tide pools.

    Annotations the server declares

    • title: Best daylight low tides for foraging and tide pools
    • readOnlyHint: true
    • openWorldHint: true
  • coast_map_passWhat the Coast Map Pass adds over the free map (offline regions for trips with no signal; longer tide and current ranges for assistants), its prices (CA$5 a month or CA$55 a year),…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    What the Coast Map Pass adds over the free map (offline regions for trips with no signal; longer tide and current ranges for assistants), its prices (CA$5 a month or CA$55 a year), whether it is on sale yet, and the purchase or support links. Covers offline use, longer tide ranges and upgrading.

    Annotations the server declares

    • title: Coast Map Pass: what it adds and how to get it
    • readOnlyHint: true
    • openWorldHint: true
  • currentsSlack water and maximum flood/ebb times and speeds at a current station, in local time.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Slack water and maximum flood/ebb times and speeds at a current station, in local time. Up to 7 days free; longer with a Coast Map Pass key.

    Annotations the server declares

    • title: Tidal current times (slack water, max flood and ebb)
    • readOnlyHint: true
    • openWorldHint: true
  • marine_forecastHourly wind and gusts (knots), direction, temperature, rain, fog and thunder risk for the next 48 hours, plus wave height and period, from Environment Canada (HRDPS/GDWPS), the US …No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Hourly wind and gusts (knots), direction, temperature, rain, fog and thunder risk for the next 48 hours, plus wave height and period, from Environment Canada (HRDPS/GDWPS), the US National Weather Service or MET Norway.

    Annotations the server declares

    • title: Wind, waves and weather on the water (48 h)
    • readOnlyHint: true
    • openWorldHint: true
  • marine_warningsMarine warnings (gale, storm, small craft…) in effect for the marine forecast area at a point.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Marine warnings (gale, storm, small craft…) in effect for the marine forecast area at a point.

    Annotations the server declares

    • title: Marine warnings in effect
    • readOnlyHint: true
    • openWorldHint: true
  • pass_statusChecks whether the payment for a purchase reference has completed.1 finding

    Why it is in this group

    • The name "pass_status" says "status": a word for reading.
    • The server marks it as not read-only (readOnlyHint: false).

    Findings

    • Warn

      The server marks "pass_status" as not read-only (readOnlyHint: false), and its words say it reads.

      Matched text

      annotations: {"readOnlyHint":false,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "pass_status" says "status": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Checks whether the payment for a purchase reference has completed. Returns pending (with a retry interval) or paid with the pass key, which is sent as "Authorization: Bearer <key>" from then on, plus a link that activates the pass in the user's own map.

    Annotations the server declares

    • title: Collect the pass key after the user has paid
    • readOnlyHint: false
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
  • plan_paddleOne call that answers "what will the water be like at this spot?": the nearest tide station with 2 days of highs and lows, currents nearby, the next 24 h of wind, gusts and waves w…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    One call that answers "what will the water be like at this spot?": the nearest tide station with 2 days of highs and lows, currents nearby, the next 24 h of wind, gusts and waves with the maxima, warnings in effect, water temperature and sunrise/sunset, with the important heads_up lines listed first.

    Annotations the server declares

    • title: Everything for one launch in one call
    • readOnlyHint: true
    • openWorldHint: true
  • start_pass_purchaseBegin a Coast Map Pass purchase without leaving the conversation: returns checkout links (CA$5 a month or CA$55 a year, Stripe, no account) tagged with a purchase reference, or say…1 finding

    Why it is in this group

    • The name "start_pass_purchase" says "start": a word for a change.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "start_pass_purchase" read-only (readOnlyHint: true), and its own name, description or input give the class "write".

      Matched text

      annotations: {"readOnlyHint":true,"openWorldHint":true}; The name "start_pass_purchase" says "start": a word for a change.

      What this check looks for
    Description, as the server wrote it
    Begin a Coast Map Pass purchase without leaving the conversation: returns checkout links (CA$5 a month or CA$55 a year, Stripe, no account) tagged with a purchase reference, or says the pass is not on sale yet. The user pays in their browser; the reference identifies that payment afterwards.

    Annotations the server declares

    • title: Start buying the Coast Map Pass in this conversation
    • readOnlyHint: true
    • openWorldHint: true
  • tide_timesHigh and low tides with heights, in the station's local time.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    High and low tides with heights, in the station's local time. Up to 7 days ahead free; longer ranges (up to 90 days) need the user's Coast Map Pass key.

    Annotations the server declares

    • title: High and low tide times
    • readOnlyHint: true
    • openWorldHint: true
  • water_temperatureWater temperature from the nearest buoy within 40 km, otherwise satellite sea surface temperature.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Water temperature from the nearest buoy within 40 km, otherwise satellite sea surface temperature.

    Annotations the server declares

    • title: Sea surface temperature
    • readOnlyHint: true
    • openWorldHint: true
Only reads 1Claude Code: allow
  • find_stationsNearest tide stations (high/low times) and current stations (slack water, max flood/ebb) to a point, with distance and time zone.No findings

    Why it is in this group

    • The name "find_stations" says "find": a word for reading.
    Description, as the server wrote it
    Nearest tide stations (high/low times) and current stations (slack water, max flood/ebb) to a point, with distance and time zone. Coverage: Canada, the US, Norway, Ireland, the Netherlands, New Zealand, Australia (Queensland) and modelled tides elsewhere.

    Annotations the server declares

    • title: Tide and current stations near a point
    • readOnlyHint: true
    • openWorldHint: true

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 1.0.0. Values in angle brackets are yours to fill in.

claude mcp add --transport http coast-map https://coast.cosmicotter.ca/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__coast-map__find_stations"
    ],
    "ask": [
      "mcp__coast-map__plan_paddle",
      "mcp__coast-map__tide_times",
      "mcp__coast-map__currents",
      "mcp__coast-map__best_low_tides",
      "mcp__coast-map__marine_forecast",
      "mcp__coast-map__marine_warnings",
      "mcp__coast-map__coast_map_pass",
      "mcp__coast-map__start_pass_purchase",
      "mcp__coast-map__pass_status",
      "mcp__coast-map__water_temperature"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as coast-map. Review it before you use it.