Files
TREK/wiki/MCP-Tools-and-Resources.md
T
Maurice 7da0080557 docs(wiki): bring the wiki in line with 4.0.0 (#2034)
* docs(wiki): correct the install and operations pages for 4.0.0

Quick Start passed docker an empty ENCRYPTION_KEY: an assignment prefix is not
expanded on the same command line, so the server silently generated its own key
instead of taking the one the page told you to set. The tag examples pinned to
the 3.x line, the documented tmpfs size did not match the shipped compose file,
and several .env values were described as reaching the container when compose
never interpolates them.

* docs(wiki): match the MCP reference to the registered surface

The scope table was missing the whole Collections group and the totals said 27
scopes across 13 groups where the code registers 29 across 14. The Cloudflare
link on the setup page pointed at an anchor on its own page instead of the
heading on Troubleshooting.

* docs(wiki): correct the plugin and admin pages

Three links to Plugin-Development carried a .md suffix, which does not resolve on
the wiki. The admin pages described tabs, permissions and storage behaviour that
had moved on.

* docs(wiki): bring the feature pages back in line with the app

Costs still documented the old panel, where categories could be added, renamed,
reordered and deleted; they are fixed now and the panel is a day-grouped ledger
with settlements. Trip sharing, journeys, maps, packing, reservations and the
account pages had all drifted in the same way.

* docs(wiki): cover the pages the first pass did not reach

The MCP catalog listed 168 of the 201 registered tools; the settlement tools and
rate_place were missing here and the Collections family from the addon page.
Several resource rows claimed a trips:* scope where the handler asks for
trips:read.

* docs(wiki): tighten the corrections a review picked apart

The audit-log resource is the row id, not the credential id; an admin password
reset does not bump password_version the way the page implied; and a few of the
new paragraphs described behaviour more confidently than the code supports.

* docs(wiki): fix what a last read-through caught

Costs shows every figure in your display currency, not the trip's, and an
expense with no payer still counts against the members it is split between.
Studio's cutoff is a 1024px viewport rather than phones alone, and the
Integrations tab is gated on the providers an admin has configured.

* docs(wiki): the last few the review caught

A passkey satisfies the MFA policy everywhere except the WebSocket handshake,
which still asks for TOTP, so a passkey-only account under that policy gets no
live updates. Mobile optimizes a day from two places, not three. The ctx.db row
carried an unescaped pipe that split the table, and the Backups table linked
with a wiki link whose pipe did the same.
2026-08-25 12:36:52 +02:00

12 KiB
Raw Blame History

MCP Tools and Resources

TREK exposes tools (read and write actions) and resources (read-only trek:// URIs). Tools are registered per-session based on OAuth scopes and enabled addons.

For addon-gated tools (Packing, To-Dos, Atlas, Collab, Collections, Vacay, Journey) and their resources, see MCP-Addon-Tools.

Tools

Trip Summary

Tool Description
get_trip_summary Full denormalized snapshot of a trip — metadata, members, days with assignments and notes, accommodations, budget, packing, reservations, collab notes, and to-dos in one call. Use this as your context loader before making changes.

Compound tools

Compound tools collapse multi-step workflows into a single atomic transaction. If the second step fails, the first is rolled back.

Use compound tools only when the place or item does not yet exist. For existing records, call the individual tools directly.

Tool Wraps Description
create_and_assign_place create_place + assign_place_to_day Create a place and assign it to a day. Returns { place, assignment }. Requires places:write.
create_place_accommodation create_place + create_accommodation Create a place and book it as an accommodation. Returns { place, accommodation }. Requires trips:write.
create_budget_item_with_members create_budget_item + set_budget_item_members Create a budget item and set splitting members. If userIds is omitted, behaves like create_budget_item. Returns { item }. Requires budget:write.

Trips

Requires trips:read or trips:write scope.

Tool Description
list_trips List all trips you own or are a member of. Supports include_archived flag.
create_trip Create a trip with title, dates, and currency. Days are auto-generated from the date range.
update_trip Update a trip's title, description, dates, or currency.
delete_trip Delete a trip. Owner only. Requires trips:delete.
list_trip_members List the owner and all collaborators of a trip.
add_trip_member Add a user to a trip by username or email. Owner only.
remove_trip_member Remove a collaborator from a trip. Owner only.
copy_trip Duplicate a trip (days, places, itinerary, packing, budget, reservations). Packing items reset to unchecked.
export_trip_ics Export the trip itinerary and reservations as iCalendar (.ics) text.
get_share_link Get the current public share link for a trip and its permission flags. Requires trips:share.
create_share_link Create or update the public share link with configurable visibility flags. Requires trips:share.
delete_share_link Revoke the public share link for a trip. Requires trips:share.

Places

Requires places:read or places:write scope.

Tool Description
list_places List places in a trip, optionally filtered by assignment status, category, tag, or search query.
create_place Add a place with name, coordinates, address, category, notes, website, phone, and optional google_place_id / osm_id.
update_place Update any field of an existing place including transport mode, timing, and price.
rate_place Set or clear your own 1–5 star rating on a place. Every trip member rates independently and the place shows the average. Pass null to clear the vote.
bulk_update_places Update many places at once, applying the same field values (e.g. category, price, transport mode) to every listed place in a single call.
delete_place Remove a place from a trip. Also removes all day assignments.
bulk_delete_places Delete multiple places by ID. Removes all day assignments. Cannot be undone.
import_places_from_url Import all places from a publicly shared Google Maps or Naver Maps list URL.
list_categories List all available place categories with id, name, icon, and color.
search_place Search for a place by name or address. Returns osm_id and google_place_id for use in create_place.

Day Planning

Requires trips:read or trips:write scope.

Tool Description
update_day Set or clear a day's title.
create_day Add a new day to a trip with optional date and notes.
delete_day Delete a day from a trip.
set_day_default_transport_mode Set the whole-day default travel mode. Per-leg modes still override it. Pass null to clear.
assign_place_to_day Pin a place to a specific day in the itinerary. Requires places:write.
unassign_place Remove a place assignment from a day. Requires places:write.
reorder_day_assignments Reorder places within a day by providing assignment IDs in order. Requires places:write.
update_assignment_time Set start/end times for a place assignment (e.g. "09:00" – "11:30"). Pass null to clear. Requires places:write.
move_assignment Move a place assignment to a different day. Requires places:write.
set_leg_transport_mode Set the travel mode of a route leg for a place assignment. direction "outgoing" (default) targets the leg leaving the stop, "incoming" the arriving one. Pass null to inherit the day default. Requires places:write.
get_assignment_participants Get users participating in a specific place assignment.
set_assignment_participants Set participants for a place assignment (replaces current list).

Day Notes

Requires trips:read or trips:write scope.

Tool Description
create_day_note Add a note to a specific day with optional time label and emoji icon.
update_day_note Edit a day note's text, time, or icon.
delete_day_note Remove a note from a day.

Accommodations

Requires trips:read or trips:write scope.

Tool Description
create_accommodation Add an accommodation (hotel, Airbnb, etc.) linked to a place and a check-in/check-out date range.
update_accommodation Update fields on an existing accommodation including dates, times, confirmation, and notes.
delete_accommodation Delete an accommodation record from a trip.

Transport

Requires reservations:write scope.

Tool Description
create_transport Create a transport booking (flight, train, car, cruise) with optional multi-stop endpoints, departure/arrival times, and confirmation details.
update_transport Update an existing transport booking. Pass endpoints[] to replace all stops.
delete_transport Delete a transport booking from a trip.

Automated public transit

Transit search is powered by Transitous and uses the existing geo:read and reservations:write scopes.

Tool Scope required Description
search_transit_stops geo:read Search real public-transit stops and stations, optionally biased around coordinates.
search_transit_routes geo:read Search scheduled routes between two coordinates with time, mode, and transfer filters. Also returns dropped, the number of provider itineraries that failed validation and are absent from the results.
create_transit_journey reservations:write Save a selected route as a first-class automated transit journey on a trip day.

Reservations

Requires reservations:read or reservations:write scope.

Tool Description
create_reservation Create a pending reservation — hotels, restaurants, events, tours, activities, and other types.
update_reservation Update any field including status (pending / confirmed / cancelled).
delete_reservation Delete a reservation and its linked accommodation record if applicable.
reorder_reservations Reorder reservations within a day.
link_hotel_accommodation Set or update a hotel reservation's check-in/out day links and place.

Budget

Requires budget:read or budget:write scope. Budget addon must be enabled.

Tool Description
create_budget_item Add an expense with name, category, and price.
update_budget_item Update an expense's details, split (persons/days), or notes.
delete_budget_item Remove a budget item.
set_budget_item_members Set which members are splitting a budget item (replaces current list).
toggle_budget_member_paid Mark or unmark a member as having paid their share.
get_settlement_summary Each member's net balance and the suggested payments to settle shared expenses, in the trip's base currency. Call this before recording a settlement.
list_settlements List the recorded settle-up payments for a trip — who paid whom, how much, and when.
create_settlement Record a settle-up payment: one member paid another the given amount in the trip's base currency.
update_settlement Update a recorded settle-up payment (payer, recipient, and amount).
delete_settlement Delete a recorded settle-up payment. This is the undo for create_settlement and restores the affected balances.

Tags

Requires places:read or places:write scope.

Tool Description
list_tags List all tags belonging to the current user.
create_tag Create a new tag (user-scoped label for places) with optional hex color.
update_tag Update the name or color of an existing tag.
delete_tag Delete a tag (removes it from all attached places).

Maps & Weather

Tool Scope required Description
get_place_details geo:read Fetch detailed information (hours, photos, ratings) about a place by its Google Place ID.
reverse_geocode geo:read Get a human-readable address for given coordinates.
resolve_maps_url geo:read Resolve a Google Maps share URL to coordinates and place name.
search_airports geo:read Search for airports by name, city, or IATA code. Returns IATA code, name, city, country, timezone.
get_airport geo:read Look up an airport by IATA code (e.g. "ZRH", "CDG").
get_weather weather:read Get a weather forecast for a location and date.
get_detailed_weather weather:read Get an hourly/detailed weather forecast for a location and date.

Notifications

Requires notifications:read or notifications:write scope.

Tool Description
list_notifications List in-app notifications with pagination and optional unread filter.
get_unread_notification_count Get the unread notification count.
mark_notification_read Mark a notification as read.
mark_notification_unread Mark a notification as unread.
mark_all_notifications_read Mark all notifications as read.

Resources

Resources provide read-only access via trek:// URIs. Read them to understand current state before making changes.

Core resources

URI Scope required Description
trek://trips trips:* All trips you own or are a member of
trek://trips/{tripId} trips:* Single trip with metadata and member count
trek://trips/{tripId}/days trips:read Days of a trip with their assigned places
trek://trips/{tripId}/places places:read All places in a trip. Supports ?assignment=all|unassigned|assigned
trek://trips/{tripId}/reservations reservations:read Flights, hotels, restaurants, and other reservations
trek://trips/{tripId}/days/{dayId}/notes trips:read Notes for a specific day
trek://trips/{tripId}/accommodations trips:read Hotels and rentals with check-in/out details
trek://trips/{tripId}/members trips:* Owner and collaborators
trek://categories (any) Available place categories (id, name, icon, color)
trek://notifications/in-app notifications:read Your in-app notifications (most recent 50, newest first)

For addon-gated resources (Budget, Packing, To-Dos, Collab, Atlas, Vacay, Journey), see MCP-Addon-Tools.