MCP App Store
by KeenEthics

Overview

Zuzli helps travelers create, validate, view, and update day-by-day itineraries, including stops, routes, schedules, and live trip progress.

Tools

add_stop

ChatGPT
Adds a new stop to a day and rebuilds the surrounding route: it splits the existing leg, builds new route_legs before and after the stop, renumbers sequences and prevents overlapping times. The whole trip is validated before saving — nothing is written if the result is invalid or the route cannot be made whole.

create_trip

ChatGPT
Creates a new trip for the signed-in user from a full trip-route-v1 JSON object. The payload is fully validated first — nothing is saved if any field is invalid; use validate_trip for a dry run. Call get_trip_schema for the field-by-field contract and a complete example. Send route_legs: [] and let the server build the route. Returns the saved canonical trip, its id, slug, schema version, applied defaults, warnings and the Zuzli URL.

delete_trip

ChatGPT
מוחק טיול לפי slug. רק הבעלים יכול למחוק.

get_trip

ChatGPT
Returns one trip the signed-in user has access to, by slug. The response contains: (1) the accessible stored trip row (id, slug, title, subtitle, city, country, dates), (2) the complete source_json trip object — every day, stop and detail exactly as stored, and (3) the trip's live shared progress with completed_stops and skipped_stops. Any user the trip is shared with — not only its owner — may retrieve its complete stored trip content, including lodging, flight and booking details stored in the trip. Read-only: nothing is modified.

get_trip_schema

ChatGPT
Returns the current Zuzli trip contract: schema version, every field with its type, whether it is required and how Zuzli displays or uses it, plus one complete valid example trip (two days, a fallback branch and a real route leg) and the most common structural mistakes. ALWAYS call this before create_trip, replace_trip, add_stop or update_stop.

list_my_trips

ChatGPT
מחזיר את כל הטיולים שהמשתמש המחובר בעל שלהם או ששותפו איתו.

mark_stop_completed

ChatGPT
Marks one stop as completed in the trip's shared progress — the same as tapping 'סיימנו' in the Zuzli app. Only the trip owner can change progress. stop_id must identify an existing stop in that trip (days[].stops[].id); a stop id that does not exist is rejected and nothing is changed. Marking a stop completed clears its skipped state. The operation changes shared trip progress only and never modifies the trip JSON.

mark_stop_skipped

ChatGPT
Marks one stop as skipped in the trip's shared progress — the same as tapping 'דלג' in the Zuzli app. Only the trip owner can change progress. stop_id must identify an existing stop in that trip (days[].stops[].id); a stop id that does not exist is rejected and nothing is changed. Marking a stop skipped clears its completed state. The operation changes shared trip progress only and never modifies the trip JSON.

move_stop

ChatGPT
מעביר תחנה למיקום אחר באותו יום או ליום אחר, ובונה מחדש את כל ה-route_legs המושפעים (mode, estimated_minutes, direction_he, קישור Google Maps) כולל סידור זמנים ללא חפיפה. אם התוצאה לא מסלול שלם — לא נשמר.

remove_stop

ChatGPT
מסיר תחנה מטיול לפי stop_id ומחבר מחדש את המסלול: הקטעים שנגעו בתחנה מוסרים ונבנה route_leg חדש בין השכנים (כולל direction_he וקישור Google Maps), sequence וזמנים מסודרים מחדש. רק הבעלים יכול.

replace_trip

ChatGPT
Replaces the entire content of an existing trip (by slug) with a new trip-route-v1 object. The payload is fully validated before anything is written — nothing is partially saved. Owner only. Returns the saved canonical trip, trip id, schema version, applied defaults, warnings and the Zuzli URL.

update_stop

ChatGPT
Partial update of a single stop. ONLY the fields present in patch change — every other field, including sibling keys inside the same nested object, is preserved exactly as stored. DESTRUCTIVE: the fields you supply REPLACE the currently stored values, and sending null clears a stored value. There is no undo — overwritten or cleared content cannot be automatically restored, so read the stop with get_trip first and send only the fields you intend to change. The stop id, its position in the day and all other stops are untouched. Keys named __proto__, constructor or prototype are rejected: they are not stop fields. The whole trip is validated and the route re-verified before saving; nothing is written if validation fails.

validate_trip

ChatGPT
Read-only dry run. Validates a trip-route-v1 object for technical and display readiness — schema compliance, required fields, unique ids, valid dates/times/coordinates, supported values, chronological order, and valid references between stops and route legs. Saves nothing. Returns { valid, errors, warnings } with a code, a JSON path and a message per finding. Errors block a write; warnings do not.

Capabilities

Writes

Example Prompts

Click any prompt to copy it.

App Stats

13

Tools

3

Prompts

ChatGPT

Platforms

Works with

ChatGPT

Data refreshed daily