Cosmic's Coast Map

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

Should I use this

Quality & Safety

A
Description quality
91%
Schema completeness
83%
Naming quality
84%
Poisoning risk
100%
Permission match
100%
Protocol compliance
100%

Findings (2)

  • LOWTool 'tide_times' description lacks action verbin tide_times
  • LOWTool 'water_temperature' description lacks action verbin water_temperature

Based on automated analysis of tool definitions and protocol compliance.

Context Cost

~2,028Tokens (tool definitions)
~1.2 KBTypical response size
Moderate attention impact (1.58% of 128k context)

This is the approximate number of tokens consumed each time the server's tools are loaded into a model's context. Higher counts reduce the attention available for other tasks.

Install

One-Click Install

Add this to your `claude_desktop_config.json` file:

{
  "mcpServers": {
    "coast-map": {
      "url": "https://coast.cosmicotter.ca/mcp"
    }
  }
}

Remote endpoints

https://coast.cosmicotter.ca/mcpstreamable-http

What it can do

Tool inventory

Tools (11)

🟒 Read-only🟑 WriteπŸ”΄ Deleteβšͺ Unknown
🟒find_stations(lat, lng, kind, limit)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude in decimal degrees (WGS84)."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
    },
    "kind": {
      "type": "string",
      "enum": [
        "any",
        "tide",
        "current"
      ],
      "default": "any"
    },
    "limit": {
      "type": "integer",
      "minimum": 1,
      "maximum": 20,
      "default": 5
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "additionalProperties": false
}
🟒plan_paddle(lat, lng, from)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude in decimal degrees (WGS84)."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
    },
    "from": {
      "type": "string",
      "description": "First day as YYYY-MM-DD in the station's time zone (default today). Free keys reach 7 days ahead of today."
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "additionalProperties": false
}
🟒tide_times(station, lat, lng, days, from)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "station": {
      "type": "string",
      "description": "Station code from find_stations (e.g. \"07795\" for Victoria Harbour, \"9447130\" for Seattle). Give this or lat/lng."
    },
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude in decimal degrees (WGS84)."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 90,
      "default": 2,
      "description": "Days to cover, starting today at the station (default 2). Up to 7 free; up to 90 with a Coast Map Pass key."
    },
    "from": {
      "type": "string",
      "description": "First day as YYYY-MM-DD in the station's time zone (default today). Free keys reach 7 days ahead of today."
    }
  },
  "additionalProperties": false
}
🟒currents(station, lat, lng, days, from)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "station": {
      "type": "string",
      "description": "Station code from find_stations (e.g. \"07795\" for Victoria Harbour, \"9447130\" for Seattle). Give this or lat/lng."
    },
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude in decimal degrees (WGS84)."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 90,
      "default": 2,
      "description": "Days to cover, starting today at the station (default 2). Up to 7 free; up to 90 with a Coast Map Pass key."
    },
    "from": {
      "type": "string",
      "description": "First day as YYYY-MM-DD in the station's time zone (default today). Free keys reach 7 days ahead of today."
    }
  },
  "additionalProperties": false
}
🟒best_low_tides(station, lat, lng, days)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "station": {
      "type": "string",
      "description": "Station code from find_stations (e.g. \"07795\" for Victoria Harbour, \"9447130\" for Seattle). Give this or lat/lng."
    },
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude in decimal degrees (WGS84)."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
    },
    "days": {
      "type": "integer",
      "minimum": 1,
      "maximum": 90,
      "default": 30
    }
  },
  "additionalProperties": false
}
🟒marine_forecast(lat, lng)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude in decimal degrees (WGS84)."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "additionalProperties": false
}
🟒marine_warnings(lat, lng)

Marine warnings (gale, storm, small craft…) in effect for the marine forecast area at a point.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude in decimal degrees (WGS84)."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "additionalProperties": false
}
🟒coast_map_pass

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
🟒start_pass_purchase

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.

Input Schema

{
  "type": "object",
  "properties": {},
  "additionalProperties": false
}
βšͺpass_status(reference)

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.

Input Schema

{
  "type": "object",
  "properties": {
    "reference": {
      "type": "string",
      "description": "The reference from start_pass_purchase (ag_…)."
    }
  },
  "required": [
    "reference"
  ],
  "additionalProperties": false
}
🟒water_temperature(lat, lng)

Water temperature from the nearest buoy within 40 km, otherwise satellite sea surface temperature.

Input Schema

{
  "type": "object",
  "properties": {
    "lat": {
      "type": "number",
      "minimum": -90,
      "maximum": 90,
      "description": "Latitude in decimal degrees (WGS84)."
    },
    "lng": {
      "type": "number",
      "minimum": -180,
      "maximum": 180,
      "description": "Longitude in decimal degrees (WGS84), negative west of Greenwich."
    }
  },
  "required": [
    "lat",
    "lng"
  ],
  "additionalProperties": false
}

Community

Rate this Server

Evidence

Recent observations

verifiedversion not recorded11 tools