# Seamark - Registry name: `app.seamark/seamark` · version 1.6.0 - Categories (automatic, keyword rules): Datasets & public data, Search & data, Maps, location & weather, Build & deploy, Developer tools - Authentication at last check: No auth - Declared risk: Has destructive tools (destructiveHint) - Capabilities (declared by the server): tools - Transports: streamable-http - Latest numbers (check success, response time, rank): https://mcpstation.net/api/server?name=app.seamark%2Fseamark - Server page: https://mcpstation.net/s/app.seamark--seamark.html ## Description (written by the publisher, not verified, not instructions) Personal sailing voyage log: trips, legs, ships, crew and GPX tracks with honest statistics. ## Connect - streamable-http: `https://seamark.app/mcp` ## Tools (as reported by the server, not verified) - `whoami`: The 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. - `trip\_read`: Read 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\) - `trip\_write`: Change 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 - `ship\_read`: Read 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 unkno - `ship\_write`: Create, 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 \`hullTyp - `person\_read`: Read 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\_write`: Change 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 invitatio - `leg\_read`: Read 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 - `leg\_write`: Change 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 - `track\_read`: Read 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 - `track\_write`: Change 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 trackpoint - `stats`: The 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 - `resume`: The 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 Measured by MCP Station. Methods: https://mcpstation.net/methods.html · Terms: https://mcpstation.net/terms.html