# Nausika (remote · mcp.nausika.app)

Mediterranean marine, nautical, sailing: forecasts, tides, sea routes, anchorages, POIs for AI.

- Trust score: 70/100 (medium)
- Change this week: +5
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `mcp.nausika.app`: 70/100 (this document), [markdown](https://verifymcp.io/servers/app-nausika-mcp/mcp.md), [page](https://verifymcp.io/servers/app-nausika-mcp/mcp)

## Channel facts

- Endpoint: `https://mcp.nausika.app`
- Transports: `streamable-http`
- Auth: `none`
- Version: `0.1.3`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 66/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - Authorisation check failed: no authorisation is required to call this server, and it exposes a tool marked destructive (nausika_manage_boat_profile).
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC is configured correctly; the domain's records validate against the full chain to the root.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 73/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (good).
  - Context-footprint check failed: tool/resource definitions use about 5079 tokens (~267/item across 19 items; 19 tools + 0 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 27/100
  - Stability observed for 8 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.

## Install

### Claude

```bash
claude mcp add --transport http app-nausika-mcp https://mcp.nausika.app/
```

### Codex

```toml
[mcp_servers.app-nausika-mcp]
url = "https://mcp.nausika.app/"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "app-nausika-mcp": {
      "type": "remote",
      "url": "https://mcp.nausika.app/",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add app-nausika-mcp --url https://mcp.nausika.app/ --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  app-nausika-mcp:
    url: "https://mcp.nausika.app/"
```

### Other

```json
{
  "mcpServers": {
    "app-nausika-mcp": {
      "type": "http",
      "url": "https://mcp.nausika.app/"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-03 (score 70, +1)

No change was recorded against any check on this day. Stability & Change Management went from 23 to 27. That category is still filling its 30-day observation window: 7 days of observed history at the previous scan, 8 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 69, +2)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-29 (score 67, +1)

No change was recorded against any check on this day. Stability & Change Management went from 7 to 10. That category is still filling its 30-day observation window: 2 days of observed history at the previous scan, 3 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-28 (score 66, +1)

No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-27 (score 65, 0)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-26 (score 65)

First indexed and scored.

## MCP tools (19)

### `nausika_marine_forecast` (~782 tokens)

Marine + Atmospheric Forecast

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[].

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.

Input parameters:

- `end_date` (string): Window end date YYYY-MM-DD. Used with start_date. Defaults to preset.
- `end_hour` (string): Window end ISO YYYY-MM-DDThh:mm. Used with start_hour. Defaults to preset.
- `forecast_days` (integer): Override preset days (1-16). Forecast endpoint caps at 16, Marine at 8. Defaults to preset.
- `forecast_hours` (integer): Override with an hourly window. Wins over forecast_days. Defaults to preset.
- `include_percentiles` (boolean): When true, ALSO fetch the Open-Meteo ECMWF IFS-ENS ensemble (50 perturbed members) and expose `<var>_p10/_p50/_p90` percentile series alongside the deterministic forecast for atmospheric variables (p…
- `latitude` (number, required): Latitude in decimal degrees (WGS84, -90 to 90)
- `longitude` (number, required): Longitude in decimal degrees (WGS84, -180 to 180)
- `preset` (string): High-level mode. now=current snapshot, today=24h hourly+daily, tactical=3d hourly_3+daily (default), planning=8d daily, extended=14d daily, none=3d hourly_3+daily but with NO core variables (caller s…
- `start_date` (string): Window start date YYYY-MM-DD. Used with end_date. Wins over forecast_hours/forecast_days. Defaults to preset.
- `start_hour` (string): Window start ISO YYYY-MM-DDThh:mm. Used with end_hour. Most specific override (wins over date and hour-count windows). Defaults to preset.
- `temporal_resolution` (string): Override hourly granularity. hourly_1=every hour, hourly_3=every 3h, hourly_6=every 6h. Defaults to the preset's resolution.
- `variables` (array): Extra variables added to the preset core (additive). Each is routed to its endpoint automatically. Required (non-empty) when preset='none'. Examples: swell_wave_height/swell_wave_direction/swell_wave…

Output parameters:

- `_attribution` (array)
- `_disclaimer` (string)
- `coordinates_requested` (object)
- `current` (object)
- `daily` (object)
- `forecast_resolved`
- `forecast_unavailable_reason`
- `hourly` (object)
- `marine_resolved`
- `marine_unavailable_reason`
- `preset` (string)
- `timezone` (string)
- `units` (object)

### `nausika_seasonal_forecast` (~368 tokens)

Seasonal Forecast

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". Limits: end_date ≤ today+210d, range ≤ 215d.

Input parameters:

- `end_date` (string, required): Window end date (UTC, ISO YYYY-MM-DD). Must be ≥ start_date and ≤ today + 210 days (SEAS5 horizon).
- `include_members` (boolean): When true, expose all 50 ECMWF SEAS5 ensemble members (`<var>_memberNN`) in the response. Default (false) collapses them into `_p10/_p50/_p90` percentile series alongside the ensemble mean — ~20× sma…
- `latitude` (number, required): Latitude in decimal degrees (WGS84, -90 to 90)
- `longitude` (number, required): Longitude in decimal degrees (WGS84, -180 to 180)
- `start_date` (string, required): Window start date (UTC, ISO YYYY-MM-DD). Must be today or future.
- `variables` (array): Additional variables, additive to the core set (wind_speed_10m, wind_direction_10m, sea_surface_temperature, temperature_2m, precipitation, cloud_cover). Each is expanded server-side into the appropr…

Output parameters:

- `_attribution` (array)
- `_disclaimer` (string)
- `coordinates_requested` (object)
- `coordinates_resolved` (object)
- `daily` (object)
- `model` (string)
- `monthly` (object)
- `monthly_derived` (boolean)
- `range` (object)
- `timezone` (string)
- `units` (object)

### `nausika_tides` (~312 tokens)

Tides

Tide predictions or station discovery at a coordinate (latitude, longitude). Default: predictions from the nearest NOAA station; outside US waters falls back to a global modeled-tide source. Set stations_only=true to discover stations (capped by limit). Tune the window with begin_date (YYYYMMDD) + range_hours, the reference with datum, and output units (metric/english).

Example: latitude=37.77, longitude=-122.42. Chain nausika_geocode for place→coordinates; pair with nausika_marine_forecast.

Input parameters:

- `begin_date` (string): Start date in YYYYMMDD format (defaults to today UTC).
- `datum` (string): Tidal datum reference (default MLLW)
- `interval` (string): Interval: 'hilo' for high/low only (default), 'h' for hourly predictions
- `latitude` (number, required): Latitude in decimal degrees (WGS84, -90 to 90)
- `limit` (integer): Max stations to return in stations_only mode (default 5, max 10).
- `longitude` (number, required): Longitude in decimal degrees (WGS84, -180 to 180)
- `range_hours` (integer): Duration in hours (default 48, max 744 = ~31 days).
- `stations_only` (boolean): If true, return nearby stations without fetching predictions (station discovery mode). Defaults to false.
- `units` (string): Units: metric (meters) or english (feet)

Output parameters:

- `_attribution` (array)
- `_disclaimer` (string)
- `center` (object)
- `count` (number)
- `data_source` (string)
- `datum` (string)
- `interval` (string)
- `location` (object)
- `mode` (string)
- `model` (object)
- `note` (string)
- `predictions` (array)
- `station` (object)
- `stations` (array)
- `units` (string)

### `nausika_search_places` (~440 tokens)

Search Places

Mediterranean nautical place search by proximity. 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).

Input parameters:

- `bottom_type` (string): Bottom type filter (e.g. 'sand')
- `category` (string): Filter by category
- `latitude` (number): Center latitude for proximity search
- `limit` (integer): Max results, default 30, max 100
- `longitude` (number): Center longitude for proximity search
- `max_coverage_score` (integer): Maximum coverage score 0-100 — filter to low-coverage places that need enrichment
- `min_coverage_score` (integer): Minimum coverage score 0-100 — filter places by data completeness
- `names_lang` (string): ISO 639-1 lang code. When set, response `name` is replaced with attributes.i18n.names[lang] if present; canonical OSM name kept as `name_canonical`.
- `offset` (integer): Offset for pagination
- `query` (string): Fuzzy text search on place name
- `radius_km` (number): Search radius in km (default 50, max 200)
- `shelter_from` (string): Compass direction to filter shelter (e.g. 'NW')
- `type` (string): Filter by place type (ignored if 'types' is provided)
- `types` (array): Filter by multiple place types (takes precedence over 'type')

Output parameters:

- `_attribution` (array)
- `center` (object)
- `count` (number)
- `places` (array)
- `radius_km` (number)

### `nausika_get_place` (~162 tokens)

Get Place

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.

Input parameters:

- `id` (string, required): Place id — full UUID or 8+ char hex prefix (the [xxxxxxxx] shown by nausika_search_places).

Output parameters:

- `_attribution` (array)
- `avg_rating`
- `bottom_type` (array)
- `category` (string)
- `coverage_score` (number)
- `data_origin_unverified` (boolean)
- `description` (string)
- `distance_km` (number)
- `elevation_m`
- `email` (string)
- `i18n` (object)
- `id` (string)
- `images` (array)
- `is_favorited` (boolean)
- `latitude` (number)
- `links` (object)
- `longitude` (number)
- `max_loa_m`
- `name` (string)
- `name_canonical` (string)
- `opening_hours` (string)
- `osm_primary_id`
- `osm_primary_type`
- `own_rating`
- `phone` (string)
- `port_of_entry`
- `rating_count` (number)
- `raw_osm_tags`
- `shelter_from` (array)
- `sources` (array)
- `type` (string)
- `vhf_channel` (string)
- `website` (string)
- `wiki_images` (array)
- `wikidata_id`
- `wikipedia`

### `nausika_sea_route` (~366 tokens)

Sea Route & Distance

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.

Input parameters:

- `dest_lat` (number, required): Destination latitude
- `dest_lon` (number, required): Destination longitude
- `include_waypoints` (boolean): Set to false for distance-only mode (no waypoints or GeoJSON)
- `optimization` (string): Waypoint smoothing level. 'fast' (default): light smoothing, milliseconds. 'precise': highest-quality smoothing, slower (up to a few seconds). 'off': raw waypoints, unsmoothed.
- `origin_lat` (number, required): Origin latitude
- `origin_lon` (number, required): Origin longitude
- `snap_to_water` (boolean): If origin or destination falls on land (e.g. a city centroid from nausika_geocode like Lisbon → 38.71, -9.14), automatically snap to the nearest known marine place (marina, anchorage, port) within a…
- `speed_knots` (number): Vessel speed in knots for ETA calculation (default 6 kn, typical sailing yacht)
- `units` (string): Distance units (default: nauticalmiles)

Output parameters:

- `_attribution` (array)
- `_disclaimer` (string)
- `dest_snap_distance_nm`
- `dest_snap_nm` (number)
- `dest_snapped_from` (object)
- `dest_snapped_to` (object)
- `destination` (object)
- `distance` (number)
- `estimated_duration_hours` (number)
- `optimization` (string)
- `origin` (object)
- `origin_snap_distance_nm`
- `origin_snap_nm` (number)
- `origin_snapped_from` (object)
- `origin_snapped_to` (object)
- `route_geojson` (object)
- `snap_warning` (boolean)
- `speed_knots` (number)
- `units` (string)
- `waypoints_count` (number)

### `nausika_calculator` (~176 tokens)

Calculator

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).

Input parameters:

- `expression` (string, required): Math expression to evaluate
- `precision` (integer): Decimal places in the result (default 4)

Output parameters:

- `expression` (string)
- `precision` (integer)
- `result` (number)

### `nausika_geocode` (~237 tokens)

Geocode Place Names

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.

Input parameters:

- `latitude` (number): Latitude for reverse geocoding
- `limit` (integer): Max results, default 3, max 10
- `longitude` (number): Longitude for reverse geocoding
- `query` (string): Place name to search, forward geocoding
- `radius_m` (integer): Search radius for reverse geocoding in meters, default 50000

Output parameters:

- `_attribution` (array)
- `count` (number)
- `latitude` (number)
- `longitude` (number)
- `mode` (string)
- `query` (string)
- `results` (array)
- `source` (string)

### `nausika_describe_place_schema` (~86 tokens)

Describe Place Schema

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.

Input parameters:

- `type` (string, required): Place type to describe. See nausika_describe_place_schema response 'Valid place types' for the full enum.

Output parameters:

- `agentRuleNotes` (object)
- `agentRules` (array)
- `attributes` (array)
- `imageFields` (array)
- `imageRules` (object)
- `promotedColumns` (array)
- `requestedType` (string)
- `type` (string)
- `universalRules` (array)

### `nausika_is_water` (~154 tokens)

Is Water

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.

Input parameters:

- `latitude` (number, required): Latitude in decimal degrees (-90 to 90)
- `longitude` (number, required): Longitude in decimal degrees (-180 to 180)

Output parameters:

- `_attribution` (array)
- `distance_to_coast_m` (number)
- `is_water` (boolean)
- `latitude` (number)
- `longitude` (number)
- `source` (string)

### `nausika_convert_coordinates` (~164 tokens)

Convert Coordinates

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.

Input parameters:

- `latitude` (required): Latitude as decimal degrees or DMS/DM string
- `longitude` (required): Longitude as decimal degrees or DMS/DM string

Output parameters:

- `decimal` (object)
- `dm` (object)
- `dms` (object)
- `input_format` (object)

### `nausika_manage_boat_profile` (~358 tokens)

Manage Boat Profile

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.

Input parameters:

- `action` (string, required): Create/update, delete, or set a boat as default
- `beam_m` (number): Maximum beam in meters
- `certifications` (string): Certifications
- `cruising_speed_kts` (number): Cruising speed in knots
- `displacement_kg` (integer): Displacement in kg
- `draft_m` (number): Draft in meters
- `engine_hp` (integer): Engine power in HP
- `engine_type` (string): Engine type
- `fuel_capacity_l` (integer): Fuel tank capacity in liters
- `loa_m` (number): Length overall in meters
- `max_speed_kts` (number): Maximum speed in knots
- `motor_consumption_l_per_h` (number): Average motor fuel consumption at cruising RPM, in litres per hour
- `name` (string): Boat name (required for create, identifies boat for update/delete)
- `safety_equipment` (string): Safety equipment description
- `type` (string): Boat type
- `water_capacity_l` (integer): Water tank capacity in liters

Output parameters:

- `action` (string)
- `id` (string)
- `name` (string)

### `nausika_get_boat_profile` (~84 tokens)

Get Boat Profile

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.

Input parameters:

- `name` (string): Boat name. Omit to get the default boat, or use '*' to list all.

Output parameters:

- `boats` (array)
- `found` (boolean)
- `id` (string)
- `is_default` (boolean)
- `name` (string)
- `type` (string)

### `nausika_manage_favorite` (~160 tokens)

Manage Favorite

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.

Input parameters:

- `action` (string, required): Add or remove a favorite
- `note` (string): Personal note (only for add)
- `place_id` (string, required): Place id — full UUID or 8+ char hex prefix from nausika_search_places ([xxxxxxxx])

Output parameters:

- `action` (string)
- `created_at` (string)
- `id` (string)
- `note`
- `place`
- `place_id` (string)
- `user_id` (string)

### `nausika_get_favorites` (~78 tokens)

Get Favorites

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.

Input parameters:

- `limit` (integer): Max results (default 20)
- `offset` (integer): Offset for pagination

Output parameters:

- `favorites` (array)
- `limit` (integer)
- `offset` (integer)

### `nausika_manage_rating` (~192 tokens)

Manage Rating

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.

Input parameters:

- `action` (string, required): Create/update or delete your rating
- `comment` (string): Private comment (only visible to you)
- `place_id` (string, required): Place id — full UUID or 8+ char hex prefix from nausika_search_places ([xxxxxxxx])
- `score` (integer): Rating 1-5 (required for upsert)

Output parameters:

- `action` (string)
- `aggregate` (object)
- `place_id` (string)
- `rating` (object)

### `nausika_get_ratings` (~154 tokens)

Get Ratings

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.

Input parameters:

- `limit` (integer): Max results
- `my_only` (boolean): List only your own ratings
- `offset` (integer): Offset for pagination
- `place_id` (string): Get ratings for a specific place — full UUID or 8+ char hex prefix from nausika_search_places

Output parameters:

- `aggregate` (object)
- `limit` (integer)
- `my_rating`
- `offset` (integer)
- `ratings` (array)

### `nausika_manage_route` (~262 tokens)

Manage Route

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.

Input parameters:

- `action` (string, required): Create/update or delete
- `description` (string): Route description
- `id` (string): Route id for update/delete — full UUID or 8+ char hex prefix from nausika_get_routes
- `legs` (array): Route legs, replaces all existing on update
- `name` (string): Route name
- `route_type` (string): single leg or multi-leg itinerary

Output parameters:

- `action` (string)
- `id` (string)

### `nausika_get_routes` (~214 tokens)

Get Routes

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.

Input parameters:

- `id` (string): Fetch single route — full UUID or 8+ char hex prefix from nausika_get_routes
- `limit` (integer): Max results, 1–50
- `offset` (integer): Offset for pagination
- `query` (string): Search by name fragment, case-insensitive
- `route_type` (string): Filter by type

Output parameters:

- `id` (string)
- `legs` (array)
- `limit` (integer)
- `name` (string)
- `offset` (integer)
- `route_type` (string)
- `routes` (array)

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/app-nausika-mcp/mcp#diagnostics

## Score history

- 2026-08-03: 70
- 2026-08-02: 69
- 2026-08-01: 69
- 2026-07-31: 69
- 2026-07-30: 67
- 2026-07-29: 67
- 2026-07-28: 66
- 2026-07-27: 65
- 2026-07-26: 65

## Links

- Remote endpoint: https://mcp.nausika.app/
- Repository: https://github.com/nausika-app/nausika-feedback
- Website: https://nausika.app/
- Changelog RSS feed: https://verifymcp.io/servers/app-nausika-mcp/mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/app-nausika-mcp/mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/app-nausika-mcp/mcp
