A hut-to-hut hike or a paddle trip over several days is now planned in the Tours planner as one tour: the whole route is planned as before, and stops along it are marked as stage ends (MDT-01). The stages are read off that one route in its order, never kept as copies, so a change inside a stage changes the whole tour and every figure on it. - A Day tour / Multi-day tour switch beside the tour type; a stop's menu ends a stage there or lets it go on. Back to a day tour removes every stage end after a confirmation, as one step undo brings back. - The list of points is headed per stage with its distance and moving time; a stop that ends a stage carries a moon at its number, on the map too. - The overview lists the stages from stop to stop with distance, climb, descent and time (hiking rule per stage, paddle estimate per stage, the router's time shared by distance otherwise), marks where each ends across the elevation profile, and a stage of more than a day on the move warns. - A stage end a change cannot keep (its stop removed, moved to an end or made a shaping point) is dropped and said so, with undo, never moved to another point. - A multi-day tour may take a day a stage, so its time limit grows with its stages; the tour keeps its one type, portages included. - The list and the MCP tools show the stage count and where stages end. Stage ends are a flag on the waypoint (migration 046000); a tour without one is a day tour, as every tour saved before.
52 KiB
MCP Addon Tools and Resources
This page covers MCP tools and resources that require specific addons to be enabled on your TREK instance. For the rest of the surface (trips, places, day planning, accommodations, transport, reservations, tags, maps, and notifications — plus the Budget tools, which need the Budget addon, listed as Costs under Admin → Addons, but are documented there) see MCP-Tools-and-Resources.
Addon-gated tools
Packing (Packing addon required)
Requires packing:read or packing:write scope. The Packing addon is listed as Lists under Admin → Addons (id packing) and covers packing lists and to-dos.
| Tool | Description |
|---|---|
create_packing_item |
Add an item to the packing checklist with optional category. |
update_packing_item |
Rename an item, change its category, or count how many of it are already packed. |
set_packing_item_sharing |
Move an item between the three sharing tiers: common puts it in the pool the whole trip packs from, personal keeps it to its owner, shared covers the trip members in recipient_ids. Only the item's owner may change this. |
toggle_packing_item |
Check or uncheck a packing item. |
delete_packing_item |
Remove a packing item. |
reorder_packing_items |
Set the display order of packing items within a trip. |
bulk_import_packing |
Import multiple packing items at once from a list (with optional quantity). |
list_packing_templates |
List the reusable packing templates (id, name, item count) so one can be applied. |
apply_packing_template |
Apply a saved packing template to a trip. |
save_packing_template |
Save the current packing list as a reusable template. Templates are global, so this is admin only — a non-admin gets Admin access required. |
delete_packing_template |
Delete a reusable packing template. Global too, so admin only. |
list_packing_bags |
List all packing bags for a trip. |
create_packing_bag |
Create a new packing bag (e.g. "Carry-on", "Checked bag"). |
update_packing_bag |
Rename or recolor a packing bag. |
delete_packing_bag |
Delete a packing bag (items are unassigned, not deleted). |
set_bag_members |
Assign trip members to a packing bag. |
get_packing_category_assignees |
Get which trip members are assigned to each packing category. |
set_packing_category_assignees |
Assign trip members to a packing category. |
To-Dos (Packing addon required)
Requires todos:read or todos:write scope.
| Tool | Description |
|---|---|
list_todos |
List all to-do items for a trip, ordered by position. |
create_todo |
Create a to-do item with name, category, due date, description, assignee, and priority. |
update_todo |
Update an existing to-do item. Pass null to clear nullable fields. |
toggle_todo |
Mark a to-do item as done or undone. |
delete_todo |
Delete a to-do item. |
reorder_todos |
Reorder to-do items by providing a new ordered list of IDs. |
get_todo_category_assignees |
Get the default assignees configured per to-do category for a trip. |
set_todo_category_assignees |
Set default assignees for a to-do category. Pass an empty array to clear. |
Atlas (Atlas addon required)
Requires atlas:read or atlas:write scope.
| Tool | Description |
|---|---|
mark_country_visited |
Mark a country as visited using its ISO 3166-1 alpha-2 code (e.g. "FR", "JP"). |
unmark_country_visited |
Remove a country from your visited list. |
get_atlas_stats |
Get atlas statistics — visited country counts, region counts, and continent breakdown. |
list_visited_regions |
List all manually visited sub-country regions for the current user. |
locate_atlas_region |
Resolve a coordinate to the country and region codes the Atlas map can highlight, which is where the pair mark_region_visited expects comes from. A point outside every bundled polygon answers with null fields rather than an error. For a postal address use reverse_geocode instead. |
mark_region_visited |
Mark a sub-country region as visited (e.g. "US-CA"). |
unmark_region_visited |
Remove a region from the visited list. Removing the last region of a country also removes the country, unless it was marked visited itself. |
get_country_atlas_places |
Get places saved in the user's atlas for a specific country. |
create_bucket_list_item |
Add a destination to your personal bucket list with optional coordinates, country code, target date and region_code (a state or province, hatched on the Atlas map). The same destination for the same target date is rejected as a duplicate. |
update_bucket_list_item |
Update a bucket list item (name, notes, coordinates, target date). |
delete_bucket_list_item |
Remove an item from your bucket list. |
Collab (Collab addon required)
Requires collab:read or collab:write scope.
The addon alone is not enough. Collab has five sub-features an admin switches on and off independently in Admin → Addons — Notes, Polls, Chat, Links and What's Next, all on by default — and three of them gate MCP entries. A tool or resource is only registered when its own sub-feature is enabled on top of the addon, so switching one off makes its entries vanish from the tool list rather than return an error. Links and What's Next have no MCP tools or resources of their own, so toggling them changes nothing here.
| Sub-feature | Tools it gates | Resource it gates |
|---|---|---|
| Notes | create_collab_note, update_collab_note, delete_collab_note |
trek://trips/{tripId}/collab-notes |
| Polls | list_collab_polls, create_collab_poll, vote_collab_poll, close_collab_poll, delete_collab_poll |
trek://trips/{tripId}/collab/polls |
| Chat | list_collab_messages, send_collab_message, delete_collab_message, react_collab_message |
trek://trips/{tripId}/collab/messages |
| Tool | Description |
|---|---|
create_collab_note |
Create a shared note visible to all trip members. Supports title, content, category, and color. |
update_collab_note |
Edit a collab note's content, category, color, or pin status. |
delete_collab_note |
Delete a collab note. |
list_collab_polls |
List all polls for a trip. |
create_collab_poll |
Create a poll with a question, options, optional multiple choice, and deadline. |
vote_collab_poll |
Vote on a poll option (or remove vote if already voted). |
close_collab_poll |
Close a poll so no more votes can be cast. |
delete_collab_poll |
Delete a poll and all its votes. |
list_collab_messages |
List chat messages for a trip (most recent 100, supports pagination via before). |
send_collab_message |
Send a chat message to a trip's collab channel, with optional reply threading. |
delete_collab_message |
Delete a chat message (own messages only). |
react_collab_message |
Toggle a reaction emoji on a chat message. |
Collections (Collections addon required)
Requires collections:read or collections:write scope.
| Tool | Description |
|---|---|
list_collections |
List the saved-place collections the user owns or has accepted a share for, plus any pending incoming invites. |
get_collection |
Get one collection with its members, labels, and all saved places, including the average rating and each member's vote. |
available_collection_users |
List users who can still be invited to a collection (excludes current members and guests). |
find_place_in_collections |
Answer whether a place is already on one of your lists, across the whole library in one call, naming each list and the status the place has there. Identify the place by google_place_id / google_ftid from search_place or by lat + lng; a name alone is never matched. |
create_collection |
Create a new saved-place collection owned by the user. |
update_collection |
Update a collection's name, description, colour, icon, cover, links, or sort order. Owner/admin only. |
delete_collection |
Permanently delete a collection and all its saved places. Owner only, and it cannot be undone. |
reorder_collections |
Reorder the user's collections — pass every collection id in the desired order. |
save_place_to_collection |
Save a place into a collection from a raw payload. Returns a duplicate marker instead of saving when a similar place already exists, unless force is true. |
save_trip_places_to_collection |
Copy one or more existing trip places into a collection. Duplicates are skipped unless force is true. |
update_collection_place |
Update a saved place's name, address, coordinates, description, notes, status, category, links, tags, labels, image, or move it to another collection (moving out of a list needs the owner or admin role there). |
set_collection_place_status |
Set a saved place's status: idea, want, or visited. |
set_collection_place_status_from_trip |
Set a status on every saved copy of the given trip places, in every list they are on, for marking places visited after a day out. Ids are trip place ids. Lists you may only read are skipped. Returns how many saved places changed and how many of the trip places were found in at least one list. |
rate_collection_place |
Set or clear the current user's 1-5 star rating on a saved place. Every member rates independently; pass null to remove the vote. |
delete_collection_place |
Remove a saved place from its collection. Requires delete permission on the list. |
copy_collection_places_to_trip |
Copy one or more saved places into a trip, ratings included. Requires edit access to the target trip. |
create_collection_label |
Create a custom per-collection label (name plus optional hex colour) for grouping and filtering places. |
update_collection_label |
Rename or recolour a collection label, or change its sort order. |
delete_collection_label |
Delete a collection label; its assignments on places are cleared. |
assign_collection_labels |
Add labels across a set of saved places, or take them away with remove=true. |
invite_to_collection |
Invite a user to collaborate on a collection as viewer, editor, or admin (default editor). Owner only. |
set_collection_member_role |
Change an accepted member's role. Owner only. |
remove_collection_member |
Remove an accepted member from a shared collection. Owner only. |
cancel_collection_invite |
Cancel a pending invite you sent for a collection. Owner only. |
accept_collection_invite |
Accept a pending invite to join a shared collection. |
decline_collection_invite |
Decline a pending invite to a shared collection. |
leave_collection |
Leave a shared collection you are a member of. The owner cannot leave — delete the list instead. |
Vacay (Vacay addon required)
Requires vacay:read or vacay:write scope.
| Tool | Description |
|---|---|
get_vacay_plan |
Get the current user's active vacation plan. |
get_vacay_year_settings |
Read the caller's leave-year window: calendar runs January to December, fiscal starts on a configured month and day, anniversary on the hire date's month and day. Read it before interpreting a year in get_vacay_stats or get_vacay_entries, which count over that window. |
update_vacay_plan |
Update vacation plan settings (weekend blocking, holidays, carry-over). |
set_vacay_color |
Set the current user's color in the vacation plan calendar. |
get_available_vacay_users |
List users who can be invited to the current vacation plan. |
send_vacay_invite |
Invite a user to join the vacation plan by their user ID. |
accept_vacay_invite |
Accept a pending invitation to join another user's vacation plan. |
decline_vacay_invite |
Decline a pending vacation plan invitation. |
cancel_vacay_invite |
Cancel an outgoing invitation (owner only). |
dissolve_vacay_plan |
Dissolve the shared plan — all members return to their own individual plan. |
list_vacay_years |
List calendar years tracked in the current vacation plan. |
add_vacay_year |
Add a calendar year to the vacation plan. |
delete_vacay_year |
Remove a calendar year from the vacation plan. |
get_vacay_entries |
Get all vacation day entries for the active plan and a specific year. |
toggle_vacay_entry |
Toggle a day on or off as a vacation day for the current user. |
toggle_company_holiday |
Toggle a date as a company holiday for the whole plan. |
get_vacay_stats |
Get vacation statistics for a specific year (days used, remaining, carried over). |
update_vacay_stats |
Update the vacation day allowance for a specific user and year. |
add_holiday_calendar |
Add a public holiday calendar (by region code from list_holiday_countries) to the vacation plan, or a school-holiday calendar with type: 'school_holiday' and a region code from list_school_holiday_regions or list_manual_school_holiday_regions. A school-holiday calendar only shows up once update_vacay_plan has set school_holidays_enabled. |
update_holiday_calendar |
Update label or color for a holiday calendar. |
delete_holiday_calendar |
Remove a holiday calendar from the vacation plan. |
list_holiday_countries |
List countries available for public holiday calendars. |
list_holidays |
List public holidays for a country and year. |
list_school_holiday_regions |
List a country's school-holiday regions. Pass calendar_regions[].region verbatim as the region of add_holiday_calendar; a group is stored as COUNTRY|group:CODE, and a bare group code would leave the calendar empty. |
list_school_holidays |
List school holidays for a country and year, narrowed to a subdivision or group code from list_school_holiday_regions. These are term breaks; a day off is normally counted against the public holidays from list_holidays. |
list_vacay_shares |
List read-only calendar shares — who you share your calendar with, and which calendars are shared with you. |
get_shareable_vacay_users |
List the users the caller can share their calendar with, for share_vacay_calendar. A wider set than get_available_vacay_users, which lists candidates for merging plans and so leaves out everyone already in a plan of their own. |
share_vacay_calendar |
Share the current user's vacation calendar with another user (view only, no merge). |
unshare_vacay_calendar |
Remove a read-only calendar share — revoke one you shared, or remove a calendar shared with you. |
get_shared_vacay_calendars |
Get the read-only calendars shared with the current user for a year (entries and company holidays per sharer). |
Manual school holidays. The catalog an admin maintains under Admin → Personalization → School holidays (see Vacay) has tools of its own. They are registered whether or not the Vacay addon is on. Reading needs vacay:read; every write needs vacay:write and an admin account, and a non-admin gets Admin access required.
| Tool | Scope | Description |
|---|---|---|
list_manual_school_holiday_regions |
vacay:read |
List the manual catalog: countries with their regions. Pass regions[].code verbatim to add_holiday_calendar with type: 'school_holiday'. Needs no external API. |
get_manual_school_holiday_region |
vacay:read |
Read one region, its current revision and all named holiday periods. Read it before an update, which replaces the whole list of periods and needs the current revision. |
list_manual_school_holidays |
vacay:read |
Named school breaks of a manual region for one year, including breaks that span a year boundary. Both boundary dates are included. |
create_manual_school_holiday_country |
vacay:write, admin only |
Add a country to the catalog with its two-letter uppercase code and display name. Check the catalog first to avoid duplicates. |
create_manual_school_holiday_region |
vacay:write, admin only |
Add a region or school district to an existing country, with named periods as inclusive YYYY-MM-DD dates. Use revision 0 on creation. |
update_manual_school_holiday_region |
vacay:write, admin only |
Rename a region and replace its complete list of periods. Supply the current revision; a stale one is rejected. Every calendar using the region follows the change. |
delete_manual_school_holiday_region |
vacay:write, admin only |
Delete a region and its periods, with the current revision. A region a vacation calendar has selected cannot be deleted. |
delete_manual_school_holiday_country |
vacay:write, admin only |
Delete an empty country from the catalog. Remove its unused regions first. |
Journey (Journey addon required)
Requires journey:read or journey:write scope.
| Tool | Description |
|---|---|
list_journeys |
List all journeys owned or contributed to by the current user. |
get_journey |
Get a full snapshot of a journey — metadata, entries, contributors, and linked trips. |
get_journey_stats |
What a journey adds up to: distance travelled in metres, calendar days spanned, countries in visit order, the furthest point reached, and entry, photo and place counts. Entries switched off with stats_excluded count towards none of those and are listed under excluded. Pass include_route for the route itself, up to 400 stops with coordinates. |
create_journey |
Create a new journey with title, optional subtitle, and an initial list of trip IDs. |
update_journey |
Update a journey's title, subtitle, cover or status, and whether its entries offer a pros/cons list, a mood and a weather note (show_verdict, show_mood, show_weather). status_override sets the shown status by hand (draft, live or completed), null goes back to following the trip dates. photo_location lets an entry without a place take the position of its first geotagged photo. Owner only. |
restore_journey_suggestions |
Bring back every trip-derived suggestion that was dismissed from a journey. Answers with how many came back. |
delete_journey |
Delete a journey. |
add_journey_trip |
Link an existing trip to a journey. |
remove_journey_trip |
Remove a trip from a journey. |
list_journey_entries |
List all entries in a journey (date, text, mood, linked trip). |
create_journey_entry |
Add an entry with date (required), optional title, story text, time of day, location name, mood, and sort order. is_draft: true creates it as a draft that the journey share link leaves out. |
update_journey_entry |
Edit a journey entry's title, story, date, time of day, place, coordinates, weather, tags, mood, pros/cons list or visibility. stats_excluded: true keeps the entry but takes it off the route and out of get_journey_stats; dismissed: true waves a trip-derived suggestion away without deleting it, so the trip sync does not offer it again. is_draft turns the entry into a draft or publishes it. |
delete_journey_entry |
Remove an entry from a journey. |
reorder_journey_entries |
Reorder entries by providing the new ordered list of entry IDs. |
reorder_journey_entry_photos |
Put the photos of one entry in a new order by passing every photo id of the entry once. The first photo is the entry's cover. |
list_journey_contributors |
List the contributors of a journey (owner and editors/viewers). |
add_journey_contributor |
Invite a user to a journey with editor or viewer role. |
update_journey_contributor_role |
Change a contributor's role between editor and viewer. |
remove_journey_contributor |
Remove a contributor from a journey. |
update_journey_preferences |
Update display preferences for a journey. |
add_journey_provider_photos |
Attach photos from a connected library (Immich or Synology Photos) to a journey, or to one entry when entryId is given. Find the asset ids first with search_provider_photos or list_provider_album_photos. No image data passes through: the journey stores a reference and the app fetches the picture. An asset already attached is skipped rather than duplicated. |
get_journey_suggestions |
Get suggested trips to add to journeys based on recent trip history. |
list_journey_available_trips |
List all trips available to the current user for linking to a journey. |
get_journey_share_link |
Get the current public share link for a journey. Requires journey:share. |
create_journey_share_link |
Create or update the public share link for a journey. Requires journey:share. |
delete_journey_share_link |
Revoke the public share link for a journey. Requires journey:share. |
Dawarich (Dawarich addon required)
Each tool asks for the scope of what it writes, so the scopes differ per tool. The connection itself (address, API key, test, disconnect) has no MCP tool. See Dawarich.
| Tool | Purpose | Scope |
|---|---|---|
list_dawarich_suggestions |
List the stays TREK pulled from the caller's Dawarich for review, optionally for one trip or one state (new, accepted, dismissed); 50 by default, up to 200 |
journey:read |
accept_dawarich_suggestion_as_place |
Turn a stay into a place on a trip, optionally on one of its days, with a corrected name, notes or coordinates | places:write |
accept_dawarich_suggestion_as_journal_entry |
Turn a stay into a dated journal entry with a title, story, date and time | journey:write |
mark_bucket_list_item_visited_from_dawarich |
Tick off the bucket list wish a stay was matched to, or another wish of the caller's | atlas:write |
dismiss_dawarich_suggestion |
Dismiss a stay, or put a dismissed one back | journey:write |
get_dawarich_trip_track |
Summary of a trip's recorded route per local day: segments, times, travel mode, distance and point counts, without the geometry. Read live from Dawarich, nothing stored | journey:read |
Document sync (Documents addon required)
get_trip_document_sync and list_trip_document_sync_issues require files:read; sync_trip_documents requires files:write. Any member of the trip may call them. No tool connects a store or changes a binding: that hands TREK a credential to someone's document archive, and it stays with the trip owner in the file manager. See Document-Sync.
| Tool | Description |
|---|---|
get_trip_document_sync |
Show whether the trip's documents are synced with a document store (Paperless-ngx, Papra, Nextcloud, OpenCloud or a Synology NAS), which tag, folder or space they are bound to, when the last run happened and how it went, and how many documents are synced, waiting, in conflict or missing in the store. |
list_trip_document_sync_issues |
List the documents that need a person: conflicts, documents refused for their type or size, transfers that failed, and documents gone from the store. Returns configured: false for a trip that is not bound, and an empty list when everything is in step. |
sync_trip_documents |
Run every binding of the trip now instead of waiting for the next scheduled check, and report how many documents came in, went out and are in conflict. Pass full: true to compare both sides in full. A binding whose owner left the trip, or whose store an admin switched off, is reported and not run. Safe to call repeatedly: a run already in progress is not started twice. |
Tours (Tours addon required)
The saved tours of a trip, as the Tours list and the tour detail show them, how far a city walk got on a day, paddle legs planned on the water, a city walk prepared from a briefing, a change to a saved city walk prepared for review and saved once the traveller confirmed it, a saved change taken back the same way, and the tours the user has done, summed across their trips as the Atlas shows them. take_over_tour, create_city_walk, save_tour_change, undo_tour_change, assign_tour_track, unassign_tour_track and set_tour_activity_excluded write; every other tool here only reads. Tours someone is still drawing in the planner are not saved yet and do not show here.
| Tool | Description | Scope |
|---|---|---|
list_tours |
The saved tours of a trip: name, type (hike, walk for a city walk, run, bike, kayak for a paddle tour, horse for a ride, which has no riding time worked out, or ski for a ski track), origin (trek for planned in TREK, gpx for a GPX import, wanderer for a wanderer snapshot), distance, ascent and descent (unknown for a paddle tour drawn in the planner), the stored routing limit of a hike on the SAC scale and its route choices (hiking_preferences), the winter label of a hike (winter_activity: winter_hike or snowshoe; a label only, the route and its time are planned as for any hike, never a statement about winter conditions), the classification of a ski track (ski_discipline: alpine, snowboard, cross_country or touring; ski_technique for cross-country only: classic, skating or unknown; a ski track is imported from a GPX file and kept as recorded, never routed, has no ski time worked out and says nothing about snow, avalanches or open runs), the boat, water and chosen speed of a paddle tour, the check bench of a paddle tour (paddle_check: how far the OpenStreetMap obstacle data covers its route and how many obstacles are open, to check again or decided; a planning status, never a safety or legal clearance), for a city walk how many stations it has (station_count), their stays as far as entered and how many have none, whether a tour still waits for its way to be planned (route_pending: saved with its points only, its distance and walking time unknown until someone opens it in the planner and saves it), for a multi-day tour how many stages its route is split into (stage_count, null for a tour of one day), the revision (raised by every saved change of the tour), the actual tracks linked to a tour (activity_tracks) and, for an actual track, the tour it belongs to (activity_of), when an imported track was recorded (track_started_at, track_ended_at; unknown when the file carried no times), and the days of the trip each tour is on |
trips:read |
get_tour_plan |
One tour: its facts, its ordered control points, its provenance (where it came from, when, and whether it was changed in TREK since) and its days. A control point can carry a fixed leg to the next one: a via ferrata (ferrata), a stretch drawn by hand (free), which no router planned or checked, or on a ride a section of a signposted horse route (horse_route) in the direction chosen, with its signposting and the horse=* tags its ways carried; being on a route is no permission to ride it. A shaping point (shaping: true) only steers the route and is no stop. A stop with stage_end: true ends a stage of a multi-day tour and the next one begins there; the stages follow the route in its order. A paddle tour also carries its obstacle checklist (obstacle_check): the obstacles of the OpenStreetMap data along its route, what the travellers decided about each, and their own portages and locks. The stations of a city walk carry every field spelled out: key (the same across saves), name, stay_minutes (0 for a point only passed, null when not known), importance (optional, must, or null for normal), protected (a station a proposed change has to keep where it is; the travellers can still edit it) and opening_hours (as OpenStreetMap writes them, null when none is known). Every leg from one control point to the next is listed in legs with its kind (routed for a leg the router planned, track for part of a recorded line no router planned, as for an import without control points of its own, ferrata, free, portage or horse_route) and, for a fixed leg, the length of its own line; a routed or track leg has no length of its own stored. line gives the saved line in brief: how many points it has, whether they carry heights, and a preview thinned to 200 points. Pass dayId with a city walk to read the visits of that day: each station then says visit_status (planned, visited or skipped) and run what is still open; without a day no visit is told. derived names every field worked out on reading rather than stored with the tour. The actual tracks linked to the tour (activities) each name their day, the recording (its tour in the trip, origin, file name, when it came in) and what that recording measures: distance, ascent and descent (unknown without heights) and the time from its first to its last time stamp, breaks included (unknown when the file carried no times, never estimated); the planned values stay apart and unchanged. Reading changes nothing, not even the revision. The full track geometry is not included |
trips:read |
find_tours_for_day |
The tours put on one day of a trip, with the same facts as list_tours |
trips:read |
get_city_walk_progress |
How far a city walk got on one day it is on: every station in order with its key, its status that day (planned, visited or skipped, as checked off in the day plan), importance, protection, stay and opening hours, what is still open, and the walking time of the whole walk. Visits belong to that day only. Reading changes nothing | trips:read |
export_tour_gpx |
One saved tour as a GPX file: its whole saved line as one track, with the heights it carries and none it lacks, and a file name. A tour without a line cannot be exported | trips:read |
search_tour_pois |
Places along the saved line of a tour within a corridor (viewpoints, peaks, shelters, drinking water, food, toilets, picnic, campsites, sights, slipways, boat rental, bike repair, and for a city walk museums and galleries, parks and gardens, coffee shops, places to eat and markets): source (TREK places index or OpenStreetMap), kind, address, website, phone, opening hours as the source has them (a hint, never a promise), the distance straight across to the line (not a detour) and how far along the line; up to 60, the nearest to the line when more match, listed from the start. When sights are asked for, the best known places near the line (by the page views of their Wikidata item) are searched too, so a famous square no category names is found as a sight, and the highlights among them carry highlight: true and come first. A place OpenStreetMap has no name for comes with an empty name. unavailable names the categories no source could be searched for right now, so their places are missing rather than absent. Says when stretches could not be searched, only the first part of a long line was, or more places matched. A tour saved with its points only (route_pending) has no line to search along yet. Nothing is added |
trips:read |
list_tour_library |
The saved tours of every trip the user can open, to choose one to take over into another trip: name, type, distance, ascent, descent, planned times and the trip each is in. Narrowed by a part of the name, a type or a trip; the trip being planned can be left out. Up to 100 tours, truncated says there were more |
trips:read |
assign_tour_track |
Links an actual track to a saved tour, once the user chose it: another tour of the same trip that came in through the GPX import or from wanderer and was not planned over, for one of the tour's day assignments or for none. A day that already has one gets this one instead; a track belongs to one tour only. The planned line, measures and times of the tour do not change. Needs place_edit |
trips:write |
unassign_tour_track |
Unlinks an actual track from a tour again; the track stays in the trip as the import it is and the tour does not change. Needs place_edit |
trips:write |
get_tour_activity_stats |
The tours the user has done across the trips they can open, summed: how many, distance, ascent and descent, as a whole and by type, for a period (from, to) and one type. A tour counts once the last day it is on is over, and only where the user takes part: named among the participants of that day, or nobody named, which means everyone of the trip; a day naming only others is theirs. Each tour says what its values rest on: plan (the planning of the trip, not a measurement) or track (a linked actual track, which replaces the plan instead of adding to it). A tour on several days counts once, an import other tours were planned from does not count beside them while one of them counts (derived_from_place_id names it), a paddle tour sums no heights, and an unknown value stays unknown. Tours the user left out are listed but not summed; uncounted names those of their trips on no day or on days without a date |
trips:read |
set_tour_activity_excluded |
Leaves a tour out of the user's own activity sums, or counts it again, for instance a tour that fell through. The tour, its days and its plan do not change, and nobody else's sums do | trips:write |
take_over_tour |
Copies a saved tour of another trip into a trip as an independent tour: its line, measures, settings and control points, without its days, its links to places of the other trip or the obstacle decisions taken there. The copy remembers which trip and tour it came from; the source trip is not changed. A city walk keeps its stations with their keys, names, stays, importance, protection and opening hours, and none of the visits of the other trip's days. Needs place_edit on the trip it writes into |
trips:write |
preview_google_maps_walk |
Reads the stops of a Google Maps walking route shared as a link (a maps.app.goo.gl short link or a google.com/maps/dir link), in order, for a city walk: each stop's name and position, or no position when the link gives none (nothing is looked up or guessed), and the long link that was read. Only a route Google Maps marks as on foot is read; a car, bike or transit route, or a link that does not say, is refused. A short link is followed only to Google Maps itself. Nothing is saved, and the line drawn in Google Maps is not taken over: TREK plans the way on foot between the stops again. Needs place_edit on the trip |
trips:read |
propose_city_walk |
Proposes a city walk from a briefing without saving anything: start (and end), the time frame on a day, the themes (culture, parks, food, mixed), the stations the traveller wished for, the places of the trip it may use and fixed appointments. Places for the themes come from the same search as search_tour_pois, up to 8, each with its source, theme and category; nothing is made up. Answers the stations in order with the walking distance and time from the one before, the arrival and leave times, the stay where the traveller gave it (unknown otherwise, which makes later arrivals the earliest possible), and the opening hours checked against the arrival on that day. The order is chosen on estimates; the walk in that order is then planned on foot by the router TREK uses for road trips (the traveller's own routing server where they set one), whose legs give the distances and times. Where it gives no way, because the router cannot be reached or a station lies more than 300 m off every way, the times are estimates over the straight distance with an allowance for streets at 4.5 km/h, and the answer says so and why. Walking and stays are kept apart, a complete total only when every stay is known, with the minutes the frame leaves for the stays not known. Lists free time, the wishes and appointments that cannot be kept as asked, what was left out and why, and stations_for_create for create_city_walk |
trips:read |
create_city_walk |
Creates a city walk from stations the traveller confirmed (for instance stations_for_create of propose_city_walk), through the same creation the planner's save uses: a key for every station, its name, stay, importance, protection, opening hours and the place of the trip it stands for. The way on foot is planned by the same router as for the proposal, and the walk is saved with it, its distance and its walking time. Where the router gives no way, the walk is saved with its stations only (route_pending), says why, and has no line, distance or walking time until someone opens it in the planner, where TREK plans the way on foot and the walk can be saved with it. Needs place_edit on the trip |
trips:write |
prepare_tour_change |
Prepares a change to a saved city walk for the traveller to review, without saving anything: no tour, station, visit or day plan changes, and turning it down keeps the plan as it was. The changes apply in order and name the saved stations by their keys: add (a new station after a station; a spontaneous stop on the way is an add after the station the traveller is at), remove, replace and move. A protected station, or one visited or skipped on any day of the walk, is never removed, replaced or moved, nothing is put before the last station already done, and a leg drawn by hand stays as drawn, the closing leg of a loop included; such a change is refused, and with it the whole proposal, naming every change and why. Another type of tour, or a walk that is a recorded track without stations of its own, is refused as well: so far only a city walk takes prepared changes. The answer names the tour and the revision it was prepared on (a save has to name it, and a tour changed since is refused rather than overwritten), the stations after the change with what changed each and where it stood before, what was removed, the way on foot before and after planned by the same router TREK uses for city walks and its change in metres and minutes (the distance and walking time stored with the walk given apart), the stays as far as known before and after, every leg after the change with the new ones marked, data_gaps for what could not be worked out (no way from the router, stays not known, no arrival times, shaping points dropped because the leg they steered changed), a warning for a station of importance must removed or replaced, each new station that is not yet a place of the trip as create_place takes it to keep it as a place instead (a station linked to a place of the trip is left out), whether the traveller may change the trip's places at all (can_save) and the proposal_id a save of it names |
trips:read |
save_tour_change |
Saves a change prepare_tour_change prepared, once the traveller said yes to it exactly as shown: the same changes, the revision it was prepared on, its proposal_id and confirmed set to true. Anything else is refused and nothing is saved. The trip permission and the tour are checked again before anything is written: a tour changed since the proposal was prepared is refused as a conflict rather than overwritten (prepare the change again), a proposal already saved, sent again because its answer was lost, writes nothing and answers already_saved with the step it was saved as, and a change the rules no longer allow, a station visited or skipped meanwhile or a place of the trip gone, is refused with every reason. The change is saved whole or not at all, through the same write the planner's save uses: the stations in their order, the stations kept keep their keys and their visits, and the way on foot is planned by the same router as the proposal; where it gives no way the walk keeps its stations only (route_pending) until someone opens it in the planner. Every save is kept as a step of the tour with the revision it was prepared on and the one it raised the tour to, the changes and the tour as it was before them, so it can be followed and taken back with undo_tour_change; nothing of the conversation is kept. A new walk has no revision yet and is made with create_city_walk. Needs place_edit on the trip |
trips:write |
list_tour_change_steps |
Lists the changes saved to a tour with save_tour_change, the latest first: each step with when it was saved, the revision it was prepared on and the one it raised the tour to, and the changes as confirmed. standing says whether it can be taken back: latest (the tour's latest change), undone (taken back already, with when and the revision that raised the tour to), later_change (something was saved on top of it since, so taking it back would lose that) or no_earlier_state (its record of the tour before cannot be read). Edits saved in the planner are no steps, and a draft in the planner is never seen |
trips:read |
prepare_tour_undo |
Shows what taking back a saved step would do, without changing anything: the step and its changes, the tour now (distance and walking time as stored, each station with whether it was visited or skipped on a day) and the tour exactly as it was before the step (its stations, each kept or coming back with where it stands now, and the distance and walking time stored then), the stations taking back removes, and the step_id and expected_revision that undo_tour_change names. Only the tour's latest change can be taken back; a step something was saved on top of since is refused as a conflict, so no later edit is lost, and so is one that would remove a station visited or skipped since or bring back a station whose place of the trip is gone. Visits of stations that stay, the days and the tour's name and notes are not touched. Not the planner's undo: discarding a draft in the planner never changes a saved tour. Also says whether the traveller may change the trip's places (can_undo) |
trips:read |
undo_tour_change |
Takes back a saved step once the traveller said yes to the preview of exactly that step: step_id and expected_revision as prepare_tour_undo gave them, and confirmed set to true. Everything is checked again before anything is written, and a tour changed since the preview, a step no longer the latest change or taken back already, or a station visited or skipped meanwhile that would go, refuses it and leaves the tour as it is. Restores the tour whole or not at all, exactly as it was before the step: its line, its stations with their keys and the distance and walking time stored then. A step is taken back once, and taking it back raises the tour's revision like any other save. Needs place_edit on the trip |
trips:write |
plan_paddle_route |
Plans the legs of a paddle tour on the water network TREK builds from the paddle regions an admin added: each leg (from, to) along rivers and canals and across lakes, carried round weirs, dams and waterfalls, through or round locks (lock_policy), with boat and lake_style (direct or shore). Answers per leg its length, how far its ends were moved onto the water and its stretches (water, lake, whitewater, boat pass, portage with its source, lock, gap); a leg that cannot be planned says why (not_on_water, no_region, cross_region, no_water_path, busy, timeout). Nothing is saved; a planning aid, never a safety or legal clearance |
trips:read |
Road trip (Road trip addon required)
These tools work without an open browser. The external assistant chooses places based on the traveller's interests, uses the existing trip, day, place and assignment tools to save them, and recalculates to check the result. What each tool corresponds to in the planner is described on Road-Trip.
| Tool | Purpose | Scope |
|---|---|---|
get_roadtrip_context |
Saved days, visits, coordinates, stays, pinned times, vehicle preferences, route profiles, vias, tracks and manual boundaries, plus a carriers block with the flight, train, ferry, cruise and bus bookings that seam the drive and the hire cars whose desks stand on it, and stays with every booked stay, its check-in and check-out day and the earliest linked reservation |
trips:read |
calculate_roadtrip |
Calculated days, arrivals, departures, automatic pauses, driving warnings and range warnings; optional geometry. A booking's terminals and a hire car's desks come back as stops carrying carrier (its role, type and timetable); their assignmentId and placeId are synthetic negative numbers that belong to no assignment and no place, so never pass them to the assignment or place tools. With roadtrip_hotel_bookends on, a day after a booked night starts at that stay and a day before one ends there: those stops carry bookend (phase, accommodation, reservation, check-in and check-out flags, the check-out time as a label), the stay's real placeId and a synthetic negative assignmentId, and cannot be reordered, edited or given via points |
trips:read |
get_roadtrip_settings |
Shared driving preferences for the specified trip; a missing roadtrip_hotel_bookends means off |
trips:read |
update_roadtrip_settings |
Patch shared trip driving preferences, preserving other settings | trips:write |
search_roadtrip_corridor |
Fuel, charging, rest areas, campsites, food, sights or hotels along a day | trips:read |
update_route_via |
Move an existing routing handle and optionally change its outgoing leg | trips:write |
list_route_vias |
A day's via points, or the whole trip's together with its followed tracks | trips:read |
add_route_via, add_route_vias |
Add one via point, or a whole chain on one day. With roadtrip_hotel_bookends on, a via after the last stop of a day that ends at a booked night is kept but not used, because the drive to the hotel keeps its own road |
trips:write |
reanchor_route_vias |
Re-pin a day's via points after its stops changed | trips:write |
remove_route_via |
Remove a via point so the leg drives direct again | trips:write |
list_day_boundaries, set_day_boundary |
Read or set dragged day endings; null restores the automatic ending | trips:read / trips:write |
get_roadtrip_hazards |
Current DWD and GDACS notices with geometry, timestamps and source availability | trips:read |
get_roadtrip_charging_info, lookup_roadtrip_charging_info |
Availability and published tariffs for a saved charging stop, or for a station by coordinate and name | trips:read |
preview_google_maps_route |
Read the ordered stops of a Google Maps directions link; nothing is saved | trips:read |
import_google_maps_route |
Append the reviewed stops to a day as places and visits | places:write |
Driving preferences include daily times, day-ending mode, leg/day driving limits, fuel or electric vehicle specifications, fallback range, fill percentage, avoidance, route display and whether each day starts and ends at the stay (roadtrip_hotel_bookends, off by default). They belong to the specified trip and apply equally to all its travellers. Both settings tools require tripId. Changing driving preferences requires day-edit permission, as do changes to visits, vias and endings. Fixed visit times retain priority over automatic times. Turning daily travel times off preserves saved endings but stops applying them.
Calculation distances are metres, route durations seconds, and stays minutes. Settings use kilometres, litres, kWh, consumption per 100 km and percentages regardless of display units. Zero clears a numeric limit; an empty daily time disables the automatic window. Vehicle specifications take precedence over fallback range when complete. The optional calculation settings are a preview and are never saved. Calculations support up to 150 visits and 100 waypoints per routing run (30 for plugin profiles). Routing calls are paced and cached. Missing coordinates, provider failures and schedule conflicts are reported explicitly; incomplete totals must not be presented as a complete itinerary. Avoidance is a routing preference, and avoidMissed identifies requested classes that could not be avoided, including when Valhalla falls back to OSRM.
Corridor results include source attribution, distance along/from the route, failed areas and truncated areas. Follow nextOffset for remaining search rectangles. Filters include name or brand, socket type, minimum known charging power and fromKm/toKm. Unknown charging power remains unknown. With roadtrip_hotel_bookends on, the road of a day includes the drive from the stay slept in and to the stay of that night; a place found there belongs at the start or the end of the stored day. Search never adds places automatically. Use the returned place information with create_and_assign_place, then move or reorder the assignment and re-anchor vias as needed. Recalculate after editing.
Corridor searches include installed search-provider plugins. Providers receive the category and search bounds, and the host filters hits to the route. The response lists successful and failed sources; a failed provider does not discard the remaining results.
The via tools manage scenic detours and followed tracks. list_day_boundaries, set_day_boundary and set_assignment_end_day manage manual endings; set_assignment_end_day is a general assignment tool and is registered whether or not the addon is on. With roadtrip_hotel_bookends on, a boundary between two stops that a booked night separates is ignored, because the night ends the day. The Places tool import_trip_gpx accepts GPX XML up to one million characters, uses the standard importer and requires places:write. It imports waypoints, routes and tracks without assigning them to days; export_trip_gpx exports the trip. Stay durations and place-level time defaults can be cleared with null through update_place.
get_roadtrip_hazards takes tripId. It does not reroute the trip. The shared roadtrip_show_hazards setting controls the online map overlay.
Google Maps directions links can be reviewed with preview_google_maps_route and saved with import_google_maps_route. Import creates places and visits together in the supplied order, with trip access and place/day permission checks. Unresolved stops must be omitted from the confirmed input. The Google road geometry is not copied.
get_roadtrip_charging_info accepts tripId and placeId. It requires trip access and the Road trip addon. It reports matching failures, unavailable feeds, freshness, known free capacity and unknown status counts separately. Published tariff components include currency, tax handling and conditions; they do not estimate a user's roaming price. Data source: MobiData BW OCPDB, with per-source attribution from its public source registry.
lookup_roadtrip_charging_info answers the same question for a station that is not on the trip, by coordinate and name rather than by place id, which is what a hit found along the route has. It takes tripId, lat, lng and name, requires the same trip access and the same addon, and returns the same fields with the same caveats. The trip is there for the access check only and does not narrow the search. One station per call: it shares its cache with the saved-stop tool, and the registry behind it is public infrastructure. It carries no power rating and no socket count; those are OpenStreetMap tag data and travel with the corridor search result instead.
Addon-gated resources
Resources provide read-only access via trek:// URIs. The following resources require their addon to be enabled.
| URI | Addon | Scope required | Description |
|---|---|---|---|
trek://trips/{tripId}/budget |
Budget | budget:read |
Budget and expense items |
trek://trips/{tripId}/budget/per-person |
Budget | budget:read |
Per-person totals and split breakdown |
trek://trips/{tripId}/budget/settlement |
Budget | budget:read |
Suggested transactions to settle who owes whom |
trek://trips/{tripId}/packing |
Packing | packing:read |
Packing checklist |
trek://trips/{tripId}/packing/bags |
Packing | packing:read |
Packing bags with their assigned members |
trek://trips/{tripId}/todos |
Packing | todos:read |
To-do items ordered by position |
trek://trips/{tripId}/collab-notes |
Collab | collab:read |
Shared collaborative notes |
trek://bucket-list |
Atlas | atlas:read |
Your personal travel bucket list |
trek://visited-countries |
Atlas | atlas:read |
Countries marked as visited in Atlas |
trek://atlas/stats |
Atlas | atlas:read |
Visited country counts and continent breakdown |
trek://atlas/regions |
Atlas | atlas:read |
Manually visited sub-country regions |
trek://trips/{tripId}/collab/polls |
Collab | collab:read |
All polls for a trip with vote counts per option |
trek://trips/{tripId}/collab/messages |
Collab | collab:read |
Most recent 100 chat messages for a trip |
trek://vacay/plan |
Vacay | vacay:read |
Full snapshot of your active vacation plan (members, years, config) |
trek://vacay/entries/{year} |
Vacay | vacay:read |
All vacation day entries for the active plan and a specific year |
trek://vacay/holidays/{year} |
Vacay | vacay:read |
Public holidays for the plan's configured region and year |
trek://journeys |
Journey | journey:read |
All journeys owned or contributed to by the current user |
trek://journeys/{journeyId} |
Journey | journey:read |
Single journey with entries, contributors, and linked trips |
trek://journeys/{journeyId}/entries |
Journey | journey:read |
All entries in a journey (date, text, mood, linked trip) |
trek://journeys/{journeyId}/contributors |
Journey | journey:read |
Contributors (owner and collaborators) of a journey |