Connection check
verified live · 20h ago
nausika-app-mcp
Mediterranean marine, nautical, sailing: forecasts, tides, sea routes, anchorages, POIs for AI.
Tools
19
GitHub stars
—
Installs / wk
—
Licence
—
Transport
streamable-http
Last checked
20h ago
Tools & capabilities
19 toolsRead from the running server on 20h ago.
nausika_calculator
read-only
precisionexpression*
Evaluate a math expression and return the numeric result. Useful for fuel, range/autonomy, unit conversions, and ad-hoc arithmetic. Supported (exhaustive): +, -, *, /, ^, %, paren… Evaluate a math expression and return the numeric result. Useful for fuel, range/autonomy, unit conversions, and ad-hoc arithmetic. Supported (exhaustive): +, -, *, /, ^, %, parentheses, sqrt(), abs(), ceil(), floor(), round(), sin(), cos(), tan(), log(), exp(), min(), max(), PI, E. Anything else (atan2, pow, log10, hypot, if, factorial, comparisons) is rejected. Examples: "(120 / 6) * 8.5" (fuel for 120 nm at 8.5 L/h, 6 kn); "45 * 1.852" (nm to km).
nausika_convert_coordinates
read-only
latitude*longitude*
Convert nautical coordinates between decimal degrees, DMS, and DM. Inputs: latitude, longitude — each accepts decimal (44.4), DMS ("44°24'00\"N"), or DM ("44°24.0'N"). Returns all… Convert nautical coordinates between decimal degrees, DMS, and DM. Inputs: latitude, longitude — each accepts decimal (44.4), DMS ("44°24'00\"N"), or DM ("44°24.0'N"). Returns all three formats plus input_format (detected per-axis). Examples: latitude="44°24'N", longitude="9°02'E" → 44.4, 9.03; latitude="41°01'44.04\"N", longitude="009°32'42.00\"E" → 41.0289, 9.545.
nausika_describe_place_schema
read-only
type*
Returns the expected attributes for a given place 'type' (the only input parameter: marina, port, bay, fuel_station, city, island, etc.). Useful to understand what fields are avail… Returns the expected attributes for a given place 'type' (the only input parameter: marina, port, bay, fuel_station, city, island, etc.). Useful to understand what fields are available on places of that type.
nausika_geocode
read-only
limitquerylatituderadius_mlongitude
Resolve a place 'query' to coordinates (forward) or find nearest places to 'latitude'+'longitude' (reverse). Mediterranean-focused curated DB; forward falls back to OSM/Nominatim g… Resolve a place 'query' to coordinates (forward) or find nearest places to 'latitude'+'longitude' (reverse). Mediterranean-focused curated DB; forward falls back to OSM/Nominatim globally. Each result carries a 'source' discriminator ('local' for the curated marine DB, 'osm' for the global fallback). Returns name, type, coords, source, plus similarity (forward) or distance_m (reverse). Example forward: query="Portofino". Example reverse: latitude=44.3, longitude=9.21, radius_m=50000. Chain into nausika_marine_forecast, nausika_tides, nausika_search_places, or nausika_sea_route using the returned coords.
nausika_get_boat_profile
read-only
name
Get your saved boat profile(s). Omit name for the default boat, or use name="*" to list all boats. Tip: use boat speed/consumption with nausika_sea_route and nausika_calculator fo… Get your saved boat profile(s). Omit name for the default boat, or use name="*" to list all boats. Tip: use boat speed/consumption with nausika_sea_route and nausika_calculator for trip planning.
nausika_get_favorites
read-only
limitoffset
List your favorite places with details and personal notes. Ordered by most recently added. Inputs: limit, offset. Tip: use place coordinates with nausika_sea_route or nausika_mar… List your favorite places with details and personal notes. Ordered by most recently added. Inputs: limit, offset. Tip: use place coordinates with nausika_sea_route or nausika_marine_forecast for trip planning.
nausika_get_place
read-only
id*
Fetch full detail for a single place given its 'id'. Accepts either a full UUID or the 8-char [xxxxxxxx] short-id shown by nausika_search_places. Returns canonical attributes (name… Fetch full detail for a single place given its 'id'. Accepts either a full UUID or the 8-char [xxxxxxxx] short-id shown by nausika_search_places. Returns canonical attributes (name/coords/category/type), localized i18n names+descriptions, wiki image URLs, ratings aggregates, plus extras only this tool provides: the raw OpenStreetMap tags of the primary OSM feature, and direct links to OSM, Wikidata, and Wikipedia. Use this after nausika_search_places returns a result you want to drill into. For proximity / text search, use nausika_search_places.
nausika_get_ratings
read-only
limitoffsetmy_onlyplace_id
View ratings for a place (aggregate + your own) or list all your ratings. Inputs: place_id, my_only, limit, offset. Examples: - Place ratings: place_id="a1b2c3d4" (8-char short… View ratings for a place (aggregate + your own) or list all your ratings. Inputs: place_id, my_only, limit, offset. Examples: - Place ratings: place_id="a1b2c3d4" (8-char short-id or full UUID) - My ratings: my_only=true Tip: ratings are visible in nausika_search_places results to help other sailors.
nausika_get_routes
read-only
idlimitqueryoffsetroute_type
Look up your saved sailing-route library: direct fetch by id, or paginated search by name fragment via query, with limit and offset for pagination. Examples: - List all (default… Look up your saved sailing-route library: direct fetch by id, or paginated search by name fragment via query, with limit and offset for pagination. Examples: - List all (defaults limit=20, offset=0): (no params) - Detail by id: id="a1b2c3d4" (8-char short-id or full UUID) - Search: query="Corsica", limit=10, offset=0 - Only itineraries: route_type="itinerary" Tip: feed leg coordinates into nausika_marine_forecast or nausika_tides to check conditions along the route.
nausika_is_water
read-only
latitude*longitude*
Check whether a coordinate (latitude, longitude in decimal degrees) is on water or land, and how far it is from the coast. Returns: - is_water: boolean (true if over sea, false if… Check whether a coordinate (latitude, longitude in decimal degrees) is on water or land, and how far it is from the coast. Returns: - is_water: boolean (true if over sea, false if over land) - distance_to_coast_m: meters to the nearest coastline boundary; meaningful on either side (sea → distance to shore, inland → distance to sea, e.g. Rome ≈ 25 km). - source: detection source Useful to verify waypoints in route planning, or to gauge how coastal/inland a point is.
nausika_manage_boat_profile
can modify data
nametypeloa_maction*beam_mdraft_m
+10
Manage boat profile (multi-boat per account, keyed by name). Inputs: action, name, type, loa_m, beam_m, draft_m, displacement_kg, engine_type, engine_hp, fuel_capacity_l, motor_co… Manage boat profile (multi-boat per account, keyed by name). Inputs: action, name, type, loa_m, beam_m, draft_m, displacement_kg, engine_type, engine_hp, fuel_capacity_l, motor_consumption_l_per_h, water_capacity_l, cruising_speed_kts, max_speed_kts, safety_equipment, certifications. Examples: action="upsert", name="Freya", type="sail", loa_m=12.5; action="delete", name="Freya"; action="set_default", name="Freya". Tip: speed/consumption enrich nausika_sea_route ETA.
nausika_manage_favorite
can modify data
noteaction*place_id*
Add or remove a place from your favorites list. Examples: - Add: action="add", place_id="a1b2c3d4", note="Great anchorage for overnight" - Remove: action="remove", place_id="a… Add or remove a place from your favorites list. Examples: - Add: action="add", place_id="a1b2c3d4", note="Great anchorage for overnight" - Remove: action="remove", place_id="a1b2c3d4" place_id accepts the 8-char [xxxxxxxx] shown by nausika_search_places, or a full UUID. Find places first with nausika_search_places, then bookmark by place_id.
nausika_manage_rating
can modify data
scoreaction*commentplace_id*
Rate a place (1-5 stars) with an optional private comment. One rating per user per place. Examples: - Rate: action="upsert", place_id="a1b2c3d4", score=4, comment="Clean facilit… Rate a place (1-5 stars) with an optional private comment. One rating per user per place. Examples: - Rate: action="upsert", place_id="a1b2c3d4", score=4, comment="Clean facilities" - Delete: action="delete", place_id="a1b2c3d4" place_id accepts the 8-char [xxxxxxxx] shown by nausika_search_places, or a full UUID. Find places first with nausika_search_places, then rate by place_id.
nausika_manage_route
can modify data
idlegsnameaction*route_typedescription
Save a sailing route or multi-day itinerary; legs may link to places. Typical flow: compute legs with nausika_sea_route, then save here. Examples: - Single: action="upsert", na… Save a sailing route or multi-day itinerary; legs may link to places. Typical flow: compute legs with nausika_sea_route, then save here. Examples: - Single: action="upsert", name="Genova → Bastia", route_type="single", legs=[{...}] - Itinerary: action="upsert", name="Corsica Trip", route_type="itinerary", legs=[{leg_order:1,...,pois:[{place_id:"a1b2c3d4",role:"overnight"}]}] - Delete: action="delete", id="a1b2c3d4" id and leg pois[].place_id accept either the 8-char [xxxxxxxx] short-id (from nausika_get_routes / nausika_search_places) or a full UUID.
nausika_marine_forecast
read-only
presetend_dateend_hourlatitude*longitude*variables
+6
Marine + atmospheric forecast at (latitude, longitude in decimal degrees). Returns waves, swell, currents, SST, wind, gusts, pressure, weather_code, visibility, precipitation, temp… Marine + atmospheric forecast at (latitude, longitude in decimal degrees). Returns waves, swell, currents, SST, wind, gusts, pressure, weather_code, visibility, precipitation, temperature, UV. Directions FROM. Presets: now, today, tactical (default 3d), planning (8d), extended (14d), none. Windows: start_hour/end_hour, start_date/end_date, forecast_hours, forecast_days. Extra via variables[]. Covers only a rolling window near today (~16 days ahead for atmospheric data, ~8 days for marine/wave data) — for dates further out, use nausika_seasonal_forecast (1-7 month outlook) instead. Pass include_percentiles=true to also fetch the ECMWF IFS-ENS 50-member ensemble and expose <var>_p10/_p50/_p90 series for atmospheric variables (precipitation, wind, gusts, pressure, temperature, etc.) alongside the deterministic forecast. Use it when forecast uncertainty matters — convective setups, planning/extended horizons, or any time the deterministic precip total looks inconsistent with the precipitation_probability. Waves/swell/currents/SST remain deterministic (no public ensemble). Default false to keep payload small. Example: latitude=41.39, longitude=9.16, preset="today". Chain nausika_geocode for place→coords.
nausika_search_places
read-only
typelimitquerytypesoffsetcategory
+8
Mediterranean nautical place search by proximity. latitude+longitude are ALWAYS required — this is not a standalone text search. 'query' is only a name filter applied within that r… Mediterranean nautical place search by proximity. latitude+longitude are ALWAYS required — this is not a standalone text search. 'query' is only a name filter applied within that radius; to find a place by name without known coordinates, call nausika_geocode first. Returns name, coords, distance_km, ratings, i18n names, wiki/OSM links. Each result is prefixed with an 8-char [xxxxxxxx] short-id usable as place_id in nausika_get_place / nausika_manage_favorite / nausika_manage_rating / nausika_manage_route legs[].pois[]. Inputs: latitude, longitude, radius_km, query, type, types, category, shelter_from, bottom_type, names_lang, min_coverage_score, max_coverage_score, limit, offset. Example: latitude=44.3, longitude=9.21, radius_km=50, query="marina genova", category="poi". Chain nausika_geocode → nausika_search_places → nausika_get_place(short-id).
nausika_sea_route
read-only
unitsdest_lat*dest_lon*origin_lat*origin_lon*speed_knots
+3
Maritime routing via pgRouting Dijkstra on the MARNET sea-lane graph (Mediterranean only; errors out elsewhere), 6 kn sailing-yacht default, snaps land coordinates to the nearest m… Maritime routing via pgRouting Dijkstra on the MARNET sea-lane graph (Mediterranean only; errors out elsewhere), 6 kn sailing-yacht default, snaps land coordinates to the nearest marina/anchorage/port. Returns distance, ETA, waypoint count, GeoJSON. Examples: - Genova → Bastia: origin_lat=44.4, origin_lon=8.93, dest_lat=42.7, dest_lon=9.45 - Distance-only: same coords with include_waypoints=false Tip: chain nausika_geocode → here → nausika_calculator.
nausika_seasonal_forecast
read-only
end_date*latitude*longitude*variablesstart_date*include_members
Fetch 1-7 month ECMWF SEAS5 seasonal forecast for one Mediterranean point. Returns ensemble-mean DAILY + MONTHLY aggregates of wind, SST, temperature, precipitation, cloud cover (e… Fetch 1-7 month ECMWF SEAS5 seasonal forecast for one Mediterranean point. Returns ensemble-mean DAILY + MONTHLY aggregates of wind, SST, temperature, precipitation, cloud cover (extend via variables[]). NO waves — chain nausika_marine_forecast for short-term wind + waves. Inputs: latitude, longitude, start_date, end_date, variables. Example: latitude=40.12, longitude=9.01, start_date="2026-08-01", end_date="2026-08-31". SEAS5 forecasts forward only: a start_date in the past is clamped to today and an end_date beyond today+210d is clamped to the horizon, both reported in the response. A window that ends in the past is rejected.
nausika_tides
read-only
datumlimitunitsintervallatitude*longitude*
+3