Skip to content

For AI assistants

Ask your assistant where to swim.

Swimmable speaks MCP, the open protocol AI assistants use to call tools. Add it once and ask things like “Can I swim at Santa Monica right now?” or “Which lake near Annecy is best this afternoon?”. Answers come from the same live data as this site, with the source of every reading and a link to the spot. No account, no key.

https://mcp.swimmable.app/mcp

Add it to your assistant

Claude (claude.ai and the desktop app)

  1. Open Settings → Connectors and choose Add custom connector.
  2. Name it Swimmable and paste the server URL. Leave the authentication settings empty.
  3. In a chat, turn Swimmable on from the tools menu and ask about a beach or lake.
https://mcp.swimmable.app/mcp

On Team and Enterprise plans an owner adds custom connectors for the organisation first.

Claude Code

Run this in your terminal, then type /mcp in Claude Code to check it is connected.

claude mcp add --transport http swimmable https://mcp.swimmable.app/mcp

ChatGPT

  1. Open Settings → Apps & Connectors → Advanced settings and turn on Developer mode (available on plans that support custom connectors).
  2. Back in Apps & Connectors, choose Create, name it Swimmable, paste the server URL and pick No authentication.
  3. In a new chat, pick Swimmable from the developer-mode tools and ask away.
https://mcp.swimmable.app/mcp

Menu names change between ChatGPT releases; look for connectors or developer mode.

Cursor

Or add it to ~/.cursor/mcp.json (all projects) or .cursor/mcp.json (one project):

{
  "mcpServers": {
    "swimmable": {
      "url": "https://mcp.swimmable.app/mcp"
    }
  }
}

VS Code (GitHub Copilot agent mode)

Or add it to .vscode/mcp.json in your workspace:

{
  "servers": {
    "swimmable": {
      "type": "http",
      "url": "https://mcp.swimmable.app/mcp"
    }
  }
}

Run it locally (Claude Desktop config, other stdio clients)

The same server is on npm as @swimmable/mcp (Node 22 or later). Without a key it uses a smaller public demo quota and cannot fetch forecasts; with your own Swimmable API key every tool works.

{
  "mcpServers": {
    "swimmable": {
      "command": "npx",
      "args": [
        "-y",
        "@swimmable/mcp"
      ],
      "env": {
        "SWIMMABLE_API_KEY": "optional-your-key"
      }
    }
  }
}

What it can do

Six read-only tools. Your assistant picks the right one; you just ask. The exchanges below are examples written to show the style of answer, not live readings.

  • Find swim spots

    find_swim_spots

    Beaches, lakes, rivers and pools by name, near a point, by water type or by country. Returns each spot’s page link.

    Example, not live data

    You: Find me a lake to swim in near Annecy.

    Assistant: Three official bathing sites on Lac d’Annecy: Plage d’Albigny (Annecy, 0.9 km), Plage de Saint-Jorioz (6 km) and Plage municipale de Sevrier (5 km). Want me to compare them?

  • Current conditions

    get_swim_conditions

    The live Swim Score and every reading, with its source and age. Works for a spot or any coordinates.

    Example, not live data

    You: Can I swim at Santa Monica Beach right now?

    Assistant: Glass · 8.7/10. Water 23.0 °C (73 °F, Santa Monica station, measured 3 min ago), waves 0.8 m, light wind at 4 m/s, UV 6. Conditions look excellent; follow the lifeguards and posted signs.

  • Best time to swim

    best_time_to_swim

    The best window of two or more daylight hours scoring 7 or more, in the spot’s local time.

    Example, not live data

    You: When’s the best time to swim at Santa Monica today?

    Assistant: 11:00 to 14:00 local time, averaging Good · 8.0. Watch the strong afternoon sun (UV 8 at 12:00). Tomorrow morning looks even better: 07:00 to 11:00 at 8.6.

  • Hourly forecast

    get_swim_forecast

    The Swim Score for each of the next 24 hours, with water and air temperature, wind, waves and UV.

    Example, not live data

    You: What will it be like at La Jolla Cove at 5 pm?

    Assistant: Fair · 5.5 at 17:00: water 21.5 °C, waves 0.6 m, wind picking up to 6 m/s. The morning scores higher. These hours are a model forecast, not measurements.

  • Compare spots

    compare_swim_spots

    Two to five spots ranked by their current Swim Score, side by side.

    Example, not live data

    You: Which is better right now, Santa Monica or Plage d’Albigny?

    Assistant: Santa Monica Beach, at Glass · 8.7. Plage d’Albigny is Fair · 6.9 and partial: there is no water temperature reading, so its score is capped at Fair.

  • Spot details

    get_spot_details

    Water type, official EU water-quality class with its season and source, coordinates, time zone and links.

    Example, not live data

    You: Is the water clean at Plage d’Albigny?

    Assistant: Its official EU bathing-water class is Excellent for the 2025 season (European Environment Agency). That comes from past sampling, not a same-day test, so check local notices too.

Every answer carries the spot link and “Data: Swimmable (sources per reading)”. A Swim Score describes conditions, not safety: always follow lifeguards, flags and posted signs.

Privacy

  • No accounts and no sign-in. The server doesn't know who you are.
  • Nothing is stored beyond rate-limit counters: an in-memory count of tool calls per IP address, reset every 10 minutes and never written to disk, plus a 5-minute cache of answers keyed by the question (spot or coordinates), not by who asked.
  • The MCP server's logs record the tool, how long it took and the spot or coordinates rounded to about a kilometre. Never your IP address, and never the words you typed.
  • Your assistant decides what to send to the tools and keeps your conversation under its own privacy terms. See our privacy policy.

Limits and your own key

The hosted server is free and shared, so each connection gets about 60 tool calls every 10 minutes; repeated questions within 5 minutes are answered from cache and don't count. If you have a Swimmable API key, send it as an X-Swimmable-Api-Key header (or Authorization: Bearer) to use your own quota instead. About the API.

Technical details

Endpoint
https://mcp.swimmable.app/mcp
Transport
Streamable HTTP, stateless, no authentication
Server card
https://mcp.swimmable.app/.well-known/mcp/server-card.json
MCP Registry name
app.swimmable/swim-conditions
npm package
@swimmable/mcp
Resource and prompt
swimmable://about (how the score works), plan-a-swim