app.seamark/seamark

Seamark

Personal sailing voyage log: trips, legs, ships, crew and GPX tracks with honest statistics.

Endpointhttps://seamark.app/mcp (streamable-http)
Registry version1.6.0
Now13 tools · grade F (24) · pin ts_30ef11a4107c60c2d068eda290536073 · protocol 2025-06-18
First / last listed2026-10-24 22:15 UTC / 2026-10-24 22:15 UTC
Grade over time2026-10-24: F (24), 13 tools

Is this your server? Own a server? ToolFit hosted watch re-checks it every 24 h ($0.25 per 30 days) or 6 h ($0.60) and sends you an HMAC-signed webhook when its tools or grade change: POST https://api.youraitools.co/toolfit/v1/watch. To opt out, see About & opt-out.

Timeline

First listing · 2026-10-24 22:15 UTC
13 tools, grade F (24)

Tools: whoami trip_read trip_write ship_read ship_write person_read person_write leg_read leg_write track_read track_write stats resume

Current tools (13)

whoamiThe authenticated caller's own profile (id, email, name, language). Takes no arguments. IDs are 6-character case-sensitive alphanumeric strings. Timestamps are UTC ISO 8601. Distances are integer meters. Durations are integer seconds.
params: none
trip_readRead the caller's voyages: list (the caller's OWN log), list the trips others shared with the caller (list_shared), get one trip, get its combined map, and get its public share link (get_share). `get` composes trip metadata with its crew, charter, and legs (there is no separate crew or charter read). `map` returns a GeoJSON FeatureCollection with one feature per mappable leg — track-backed, or man
params: none
trip_writeChange the caller's own voyages: create, update, delete, replace the full crew set (set_crew, PUT semantics), set or clear the charter (set_charter — a null charter clears it), announce the trip to its crew by email (announce), and turn its public link on or off (create_share, revoke_share). Charter price/deposit are integer minor units plus an ISO 4217 currency code — never a float. Inviting a cr
params: none
ship_readRead the caller's boats — a reusable, per-owner registry: list them all, or get one by id. The optional `flag` field is a ship's flag state as an uppercase ISO 3166-1 alpha-2 country code (e.g. "HR", "CZ"), or null. The optional `hullType` is 'monohull', 'catamaran' or 'trimaran', or null when unknown. IDs are 6-character case-sensitive alphanumeric strings. Timestamps are UTC ISO 8601. Distances
params: none
ship_writeCreate, update or delete one of the caller's boats. The optional `flag` field is a ship's flag state as an uppercase ISO 3166-1 alpha-2 country code (e.g. "HR", "CZ"), or null. The optional `hullType` is 'monohull', 'catamaran' or 'trimaran', or null when unknown. Sending null for `flag` or `hullType` clears it. IDs are 6-character case-sensitive alphanumeric strings. Timestamps are UTC ISO 8601.
params: none
person_readRead the caller's private address book of people — crew and contacts: list them all, or get one by id. Personal data (birth date, passport) is never shared across users. `linkedAccount` reports whether this person has accepted an invitation and is linked to a Seamark account. `isSelf` marks the ONE person in the caller's book that is the caller, so voyages with them on the crew list count as the c
params: none
person_writeChange the caller's private address book of people — crew and contacts (create, update, delete, unlink_account, mark_self, unmark_self, invite, accept_invitation). Personal data (birth date, passport) is never shared across users. `linkedAccount` reports whether this person has accepted an invitation and is linked to a Seamark account. `isSelf` marks the ONE person in the caller's book that is the
params: none
leg_readRead a trip's ordered legs: list them, or get one by id. A leg's `statsSource` is 'track' when its stats, coordinates and times are computed from a GPX track, 'manual' otherwise. On a trip someone else shared with the caller, `get` reads a leg but `list` does not — its legs are in `trip_read`'s `get`. The weather fields are hand-entered observations, except the wind pair when `weatherSource` is 'o
params: none
leg_writeChange a trip's ordered legs: create, update, delete, reorder (a full leg-id permutation, reassigning seq 1..N), and fill a leg's wind from a weather service (fetch_weather). A leg backed by a track (statsSource: 'track') rejects an update that touches any computed stats/coordinate/time field with a stats_readonly error — its startName/endName/notes stay editable regardless. The weather fields are
params: none
track_readRead a leg's GPX track: get the current track, and audit every kept/dropped point with its drop reason. Audit results are paged with offset/limit; a long track has many points. On a trip someone else shared with the caller, `get` reads the track; the audit stays the owner's. IDs are 6-character case-sensitive alphanumeric strings. Timestamps are UTC ISO 8601. Distances are integer meters. Duration
params: none
track_writeChange a leg's GPX track: import raw GPX text (inline, capped at 5 Mi UTF-16 code units — that is what the schema counts, so it is roughly 5 MB for plain-ASCII GPX and no less for a file full of non-ASCII names; the server-side pipeline caps are separate: 32 MB of bytes AND at most 75,000 trackpoints per file (#191) — a file over the inline cap goes through the REST upload route instead, and one o
params: none
statsThe caller's lifetime logbook statistics across their whole log — the trips they own AND the trips shared with them as linked crew. Returns totals (distance in meters, moving/total time in seconds, days at sea, distinct shipmates, best sustained 1/5/10-minute speeds in knots, average speed, earliest trip date), a per-year breakdown (by trip start-date year, newest first), and a per-boat breakdown
params: role
resumeThe caller's sailing résumé — the record a charter company asks for before handing over a boat: one row per voyage the caller sailed with a known role, newest first, each with start and end date, the boat (name, model, length overall in centimeters as `loaCm`, hull type, or null when the voyage has no boat), the caller's role ('skipper' or 'crew'), ports-of-call countries (ISO 3166-1 alpha-2) and
params: role, from, to

Entries describe changes in tool definitions. They are not statements about a server, its quality or its author. The grade measures how the tool definitions fit model providers (token cost, schema compatibility, confusable names) as scored by the ToolFit engine at the time of the listing. JSON: append .json. Opt-out: how or hello@youraitools.co.