Koskamo

Canal Nav MCP

An official MCP server for Canal Nav that allows AI agents to plan canal routes, check live closures, verify boat fit, and search for waterside businesses on UK inland waterways.

Endpoint and access

No sign-in to connect and list tools. Individual tools may still need a vendor account, credentials, or permissions; check the documented prerequisites.

Canal Nav MCP logo, by Apexl StudiosVendor evidenceStreamable HTTPNo sign-inEndpoint checked 2026-11-07Operated by Apexl Studios
MCP endpoint (Streamable HTTP)
https://mcp.canalnav.com/mcp
Vendor documentation

What its tools do

6 tools, grouped by the hints the server advertises. Hints are self-declared, not verified behavior.

6 of 6 have a description · 0 of 6 declare behavior hints · 6 of 6 with parameters document them all

Checks and signals

Each line is separate evidence, not a trust score.

  • Passed Endpoint answered the live check ·
  • Passed Official MCP Registry namespace is tied to canalnav.com ·
  • Passed Endpoint is on the registry namespace domain ·
  • Availability 1 of 1 checks passed in 30 days

What you can do with it

  • Plan A-to-B canal routes with lock-aware timing
  • Check live closure and stoppage notices
  • Verify if boat dimensions fit specific waterways
  • Search for marinas and chandleries

Source and maintenance

Vendor evidenceRegistry 1.0.0

Protocol and capabilities

Server
canal-nav 1.0.0
MCP protocol negotiated in check
2025-11-25
Tools
6 advertised
Resources
Not advertised
Resource templates
Not advertised
Prompts
Not advertised
Server-advertised capabilities
{
  "tools": {
    "listChanged": true
  }
}

Server-provided instructions

Untrusted server output shown for inspection. It is not Koskamo guidance and is excluded from knowledge search.

Canal Nav plans real boat journeys on the inland waterways of Great Britain (canals and navigable rivers). Routes follow the water itself, not roads, with lock-aware timing, live closure and stoppage data from every GB navigation authority, boat-dimension fit warnings and tidal safety warnings. Use plan_route for A to B journeys, plan_round_trip for return-to-start cruises, get_closures for stoppage lookups, will_my_boat_fit for dimension checks, find_place to disambiguate place names, and search_directory for waterside businesses. Places can be given by name or as "lat,lon" coordinates. The live map is at https://maps.canalnav.com/.

Tools

6 advertised

plan_route — Plan a canal route
Advertised by the server during the last successful anonymous check.

Plan a boat journey between two points on the inland waterways of Great Britain (canals and navigable rivers). The route follows the water itself, not roads. It counts every lock and estimates cruising time from realistic boat speed plus time per lock. Live closures and stoppages from every GB navigation authority (Canal & River Trust, Environment Agency, Scottish Canals, Broads Authority and others) are routed around automatically, and when a dated closure blocks the natural line the result compares waiting for it to reopen against taking the detour. Give boat dimensions to get per-waterway fit warnings (too long, too wide, too deep, too tall for a waterway on the route). Routes that cross tidal water carry a tidal safety warning. Places can be names (resolved on the waterway network) or "lat,lon" coordinates. If a name matches several distinct locations the tool returns the candidates instead of guessing; call again with the chosen one.

plan_route input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "from",
    "to"
  ],
  "properties": {
    "to": {
      "type": "string",
      "description": "Destination: a place name or \"lat,lon\" coordinates."
    },
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Departure date (YYYY-MM-DD) for closure checking. Defaults to today."
    },
    "from": {
      "type": "string",
      "description": "Start point: a place name on the waterways (e.g. \"Braunston Marina\") or \"lat,lon\" coordinates."
    },
    "boat_beam": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat beam (width). Metres by default (e.g. 2.08), or feet/inches (e.g. \"6'10\\\"\")."
    },
    "boat_length": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat length. Metres by default (e.g. 17.4), or a feet/inches string (e.g. \"57ft\")."
    },
    "boat_draught": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat draught (depth below the waterline). Metres or feet/inches."
    },
    "lock_minutes": {
      "type": "number",
      "maximum": 90,
      "minimum": 1,
      "description": "Minutes to work through one lock. Default 15. Experienced crews may use 10, single-handers 20 or more."
    },
    "boat_air_draught": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat air draught (height above the waterline, for bridges and tunnels). Metres or feet/inches."
    },
    "cruising_hours_per_day": {
      "type": "number",
      "maximum": 16,
      "minimum": 1,
      "description": "Cruising hours per day, used to split the journey into days with suggested overnight moorings. Default 6."
    }
  },
  "additionalProperties": false
}
plan_round_trip — Plan a round trip
Advertised by the server during the last successful anonymous check.

Plan return-to-start cruises from a point on the inland waterways of Great Britain, sized to fit a number of days. Returns several options: circular loops where the canal network offers one (canal "rings"), plus out-and-back and fewest-locks alternatives, each with distance, lock count, day-by-day plan and suggested overnight moorings. Timing is lock-aware and closures from every GB navigation authority are flagged on each option. Give boat dimensions to get fit warnings, and routes touching tidal water carry a tidal safety warning. The start can be a place name or "lat,lon" coordinates.

plan_round_trip input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "start",
    "days"
  ],
  "properties": {
    "date": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Start date (YYYY-MM-DD) for closure checking. Defaults to today."
    },
    "days": {
      "type": "integer",
      "maximum": 28,
      "minimum": 1,
      "description": "Number of days the round trip should fit in."
    },
    "start": {
      "type": "string",
      "description": "Start (and finish) point: a place name on the waterways or \"lat,lon\" coordinates."
    },
    "boat_beam": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat beam (width). Metres by default (e.g. 2.08), or feet/inches (e.g. \"6'10\\\"\")."
    },
    "boat_length": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat length. Metres by default (e.g. 17.4), or a feet/inches string (e.g. \"57ft\")."
    },
    "boat_draught": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat draught (depth below the waterline). Metres or feet/inches."
    },
    "lock_minutes": {
      "type": "number",
      "maximum": 90,
      "minimum": 1,
      "description": "Minutes to work through one lock. Default 15."
    },
    "boat_air_draught": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat air draught (height above the waterline, for bridges and tunnels). Metres or feet/inches."
    },
    "cruising_hours_per_day": {
      "type": "number",
      "maximum": 16,
      "minimum": 1,
      "description": "Cruising hours per day. Default 6."
    }
  },
  "additionalProperties": false
}
get_closures — Get closures and stoppages
Advertised by the server during the last successful anonymous check.

Live closure, stoppage and restriction notices for the inland waterways of Great Britain, covering every GB navigation authority: Canal & River Trust, Environment Agency, Scottish Canals, Broads Authority, Bridgewater, Middle Level, River Wey, Basingstoke and more, not just CRT. Search near a place (name or "lat,lon", with an optional radius) or by waterway name (e.g. "Oxford Canal"). Returns active and upcoming notices with dates, the responsible authority, whether each one blocks navigation, and links for detail. Data refreshes from the authorities' published notices, so reopen dates reflect the latest updates.

get_closures input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "place": {
      "type": "string",
      "description": "A place name or \"lat,lon\" coordinates to search around. Give this or waterway."
    },
    "waterway": {
      "type": "string",
      "description": "A waterway name to match notices against (e.g. \"Grand Union Canal\"). Give this or place."
    },
    "radius_km": {
      "type": "number",
      "maximum": 150,
      "minimum": 1,
      "description": "Search radius around the place in km. Default 25."
    }
  },
  "additionalProperties": false
}
will_my_boat_fit — Will my boat fit a waterway
Advertised by the server during the last successful anonymous check.

Check boat dimensions against the published maximum craft dimensions for a named British waterway (length, beam, draught and air draught, from Canal & River Trust published figures covering the full CRT network). Returns a per-dimension verdict quoting the limit. Draught and headroom vary with water level and silting, so treat the answer as advisory. For a whole journey, use plan_route with boat dimensions instead: it checks every waterway along the route.

will_my_boat_fit input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "waterway"
  ],
  "properties": {
    "waterway": {
      "type": "string",
      "description": "Waterway name, e.g. \"Ashby Canal\" or \"Llangollen Canal\"."
    },
    "boat_beam": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat beam (width). Metres by default (e.g. 2.08), or feet/inches (e.g. \"6'10\\\"\")."
    },
    "boat_length": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat length. Metres by default (e.g. 17.4), or a feet/inches string (e.g. \"57ft\")."
    },
    "boat_draught": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat draught (depth below the waterline). Metres or feet/inches."
    },
    "boat_air_draught": {
      "type": [
        "number",
        "string"
      ],
      "description": "Boat air draught (height above the waterline, for bridges and tunnels). Metres or feet/inches."
    }
  },
  "additionalProperties": false
}
find_place — Find a place on the waterways
Advertised by the server during the last successful anonymous check.

Look up a place name on the British inland waterway network and return matching locations with coordinates (marinas, moorings, water points and other waterside facilities). Use it to disambiguate a place before calling plan_route or plan_round_trip, or to get coordinates for a known spot. Results are waterway locations only; it is not a general geocoder.

find_place input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "required": [
    "name"
  ],
  "properties": {
    "name": {
      "type": "string",
      "minLength": 2,
      "description": "Place or facility name to search for, e.g. \"Braunston\" or \"Aston Marina\"."
    }
  },
  "additionalProperties": false
}
search_directory — Search the waterways business directory
Advertised by the server during the last successful anonymous check.

Search Canal Nav's directory of waterside businesses on the British inland waterways: marinas, chandleries, boat hire, boatyards, pump-out and services, fuel, moorings, surveyors, brokerage, and canalside food and pubs. Filter by free text, category, or proximity to a place. Listings marked unclaimed can be claimed for free by the business owner at https://canalnav.com/.

search_directory input schema
{
  "type": "object",
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "near": {
      "type": "string",
      "description": "A place name or \"lat,lon\" to search around (approx. 15 km)."
    },
    "query": {
      "type": "string",
      "description": "Free-text search over business names and descriptions."
    },
    "category": {
      "enum": [
        "marina",
        "chandlery",
        "hire",
        "boatyard",
        "services",
        "fuel",
        "moorings",
        "surveyor",
        "brokerage",
        "food",
        "trade",
        "other"
      ],
      "type": "string",
      "description": "Directory category to filter by."
    }
  },
  "additionalProperties": false
}

Prompts

Not advertised

No prompt definitions available.

Resources

Not advertised

No resource definitions available.

90-day uptime

A lightweight connection check about every six hours, sampled on hosts with many listings. It shows the server answered, not that its tools work.

Too few checks for a percentage yet (1 of 1 answered).

  1. 2026-11-07: 1 of 1 checks answered

30-day availability

Aggregated from read-only remote checks; this is not a tool-execution or security guarantee.

Successful checks
1 of 1 (100%)
Average latency
1005 ms
95th percentile latency
1005 ms

Maintenance history

Public check and source-refresh events. Editorial and ownership records remain private.

  • · probe · passed · 1005 ms · metadata changed · 6 tool(s)

Connect from your client

Each snippet registers the same endpoint; pick the client you use.

This server is operated by the named third party. Listing and endpoint checks are not an endorsement or a security audit. Review the operator's permissions, terms, and data handling before connecting. How listings are checked and corrected.

Claude Code

Run this once in a terminal. It registers the remote server. Use --scope project to write .mcp.json for the repo.
Claude Code configuration
claude mcp add --transport http canal-nav-mcp https://mcp.canalnav.com/mcp

Codex

Run this once. Codex stores MCP servers in ~/.codex/config.toml (or .codex/config.toml in a trusted project).
Codex configuration
codex mcp add canal-nav-mcp --url https://mcp.canalnav.com/mcp

Cursor

Merge this server into .cursor/mcp.json in your project, then enable canal-nav-mcp in your MCP settings.
Cursor configuration
{
  "mcpServers": {
    "canal-nav-mcp": {
      "url": "https://mcp.canalnav.com/mcp"
    }
  }
}

Cline

Merge this into cline_mcp_settings.json (Cline → MCP Servers → Configure).
Cline configuration
{
  "mcpServers": {
    "canal-nav-mcp": {
      "type": "streamableHttp",
      "url": "https://mcp.canalnav.com/mcp",
      "disabled": false
    }
  }
}

VS Code

Merge this server into .vscode/mcp.json. Use MCP: List Servers to start canal-nav-mcp and inspect its tools.
VS Code configuration
{
  "servers": {
    "canal-nav-mcp": {
      "type": "http",
      "url": "https://mcp.canalnav.com/mcp"
    }
  }
}

Gemini CLI

Run this once. It writes .gemini/settings.json in the current project; pass --scope user for ~/.gemini/settings.json.
Gemini CLI configuration
gemini mcp add --transport http canal-nav-mcp https://mcp.canalnav.com/mcp

Claude Desktop

Open Claude Settings > Connectors > Add custom connector, enter this server URL and enable it for the conversation. This is a manual remote-connector handoff, not a desktop JSON configuration.
Claude Desktop configuration
https://mcp.canalnav.com/mcp

Windsurf

Merge this into ~/.codeium/windsurf/mcp_config.json, then refresh MCP in Cascade. Windsurf remote servers use serverUrl, not url.
Windsurf configuration
{
  "mcpServers": {
    "canal-nav-mcp": {
      "serverUrl": "https://mcp.canalnav.com/mcp"
    }
  }
}

Let your agent find its tools

Find servers like Canal Nav MCP from your agent. Add Koskamo once to search the index for endpoints, access requirements, and client setup. Public discovery needs no key.

Do you run Canal Nav MCP?

Prove ownership with a DNS record, a well-known file, or your Official MCP Registry entry, and your edits publish immediately. Proofs are re-checked weekly; admins can still hide or remove a listing.

Claim this listing