# Plany

Organize travel itineraries by creating detailed trips with scheduled events like flights, hotels, and activities. Enhance your plans with rich location data, photos, and customizable banners for a v…

## Quick Start

```bash
# Connect this server (installs CLI if needed)
npx -y @smithery/cli@latest mcp add plany/plany-mcp

# Browse available tools
npx -y @smithery/cli@latest tool list plany/plany-mcp

# Get full schema for a tool
npx -y @smithery/cli@latest tool get plany/plany-mcp whoami

# Call a tool
npx -y @smithery/cli@latest tool call plany/plany-mcp whoami '{}'
```

## Direct MCP Connection

Endpoint: `https://plany-mcp--plany.run.tools`

## Tools (14)

- `whoami` — Return the authenticated user's profile (user_id, full_name, username, avatar_url). No parameters required.
- `list_trips` — List all calendars (trips) accessible to the token owner — owned and shared. Returns id, name, description, start_date,…
- `get_trip` — Get a single trip by calendar ID, including its events and segment metadata. Works for owned and shared calendars.
- `get_day` — Return all events (with photos) for a specific calendar and date. Shared calendars return only non-private events.
- `search_events` — Search events by text query, calendar_id, or event_type. At least one filter is required. Returns up to 100 results ord…
- `create_trip` — Create a new trip (calendar). The authenticated user becomes the owner.
- `upsert_events` — Create or update up to 50 events in a single owned calendar. Partial updates only write supplied fields — existing data…
- `move_event` — Move an event to a different date and/or a different owned calendar. Both source and target calendars must be owned. If…
- `delete_event` — Permanently delete an event by ID. The event must belong to an owned calendar. Cannot be undone.
- `add_event_photo` — Add a photo URL to an event. HTTPS only, no private hosts, max 2048 chars. Max 5 photos per event. URL is stored direct…
- `resegment_day` — Recompute (or clear) the segment assignment for a specific day based on that day's current events. Use this when events…
- `edit_trip_dates` — Update the start and/or end date of an existing owned trip. This is a trip-level operation that changes only the trip's…
- `set_trip_banner` — Set or replace the banner image for an existing owned trip. The caller supplies an HTTPS URL; the server fetches, compr…
- `set_day_title` — Set or clear the title for a specific day in an owned trip. The title appears as a label for the day in the itinerary (…

```bash
# Get full input/output schema for a tool
npx -y @smithery/cli@latest tool get plany/plany-mcp <tool-name>
```
