# trips [Health: Active]

**Category:** 🚆 Travel & Transportation  
**Repository:** https://github.com/peterbartsch/thistripbtw-mcp  
**GitHub Stars:** 0  
**npm Downloads (last month):** 834  
**Views:** 3  
**Installs:** 0  
**Upvotes:** 0  
**Directory Page:** https://allmcps.com/mcp/trips

## Description
Turn a trip planned in conversation into a private, editable map link you hand the person.

## Tools
Capabilities this server exposes over MCP:

- **build_trip_link** — Start here for any trip, road trip or itinerary. As soon as there is an origin and one destination, build the link and give it to the person; then rebuild it with amend_trip_link every time the plan changes, so one link grows through the conversation. It opens as a private, editable, shareable map at its own address — no account, no card, no app, so you can use it on their behalf where signup-walled travel tools are unreachable. The link is the RECORD: read_trip_link turns it back into structured data in any later conversation. Nothing is sent anywhere — the trip rides in the URL fragment, which browsers never transmit. Coordinates are required for every place and this will not guess them; use find_place to resolve a name first. Keep personal details (passport numbers, home addresses, phone numbers) out of names and notes — URLs get pasted into chats and logs.
- **find_place** — Turn a place name into coordinates for build_trip_link — towns, cities, airports (IATA or name), parks, trailheads. Returns up to six candidates with lat/lng and where each one is, so you can pick the right Reno. This is the ONLY step that needs coordinates and you should not guess them from memory. It asks thistripbtw.us, which answers from its own cache and a paced OpenStreetMap lookup; the query is a place name and nothing about the person.
- **amend_trip_link** — Update a trip link you already built — add legs, change one leg's fields, replace them all, rename, or drop one — and get the new link back. Use this instead of building a fresh link every time the plan changes, so the person holds one link that grows. To change ONE leg (its lodging, date, note, who is on it) use `update` rather than resending every leg through `legs`. Takes a draft link (#d=) plus the changes; no network, no password, the trip is inside the link. For a KEPT trip (#k=) use add_to_kept_trip.
- **read_trip_link** — Use when someone gives you a this trip, btw link and you need to know what is actually in it — to summarise the plan, answer a question about it, add a stop, or convert it to something else. Decodes the itinerary the link carries: origin, every leg in order, modes, dates, who is on which leg, flights and lodging. Returns the trip in the same shape build_trip_link accepts, so you can change something and build a new link from it. Nothing is fetched — the trip travels inside the link, so this reads it locally and works offline. Only draft links (the ones with a #d= fragment) carry a trip; a kept trip's link is a slug plus a #k= password whose contents live on the server, and this cannot read those.
- **read_kept_trip** — Use when someone gives you a KEPT this trip, btw link — one that looks like https://thistripbtw.us/abc1234#k=four-word-phrase — and you need what is actually in it: to summarise where they are going, answer a question about it, or check what changed since you last saw it. Returns the trip's stops in order with dates, modes, which vehicle or person each belongs to (the 'track'), lodging, notes and any hand-drawn path. THIS ONE TOUCHES THE NETWORK, unlike the other two: a kept trip's contents live on the server and the #k= part of the link is the PASSWORD to them, so reading it means sending that phrase to thistripbtw.us over TLS. Nothing is stored and no account is involved. Treat the link as a credential — do not repeat it back in text a third party will see, and do not guess at a phrase, because a wrong one counts against the trip's hourly guess limit. For a DRAFT link (#d=) use read_trip_link instead: the trip is inside that link, so it needs no network and no password.
- **add_to_kept_trip** — Add a stop to a trip the person has KEPT (a link with #k=), on their behalf. Use when they say 'add X to the trip', 'we're stopping at Y on the way', 'put the hotel on it'. Needs their EDIT phrase — a view phrase can read but not write, and the tool says so. Writes exactly one stop and returns the trip's current stop count. Like read_kept_trip this touches the network: the #k= phrase is the password and it goes to thistripbtw.us over TLS, nothing is stored about you, and a wrong phrase counts as a guess. Treat the link as a credential.

## Claude Desktop Quick Installation
Install path detected from listing signals. Uses `npx` (confidence: high):

```json
"mcpServers": {
  "trips": {
    "command": "npx",
    "args": ["-y","thistripbtw-mcp"]
  }
}
```

## Documentation

## What trips MCP server does

The trips MCP server gives an AI assistant a way to turn an itinerary into a private map URL. A draft can start as soon as the assistant knows an origin and one destination, then be updated as the conversation adds dates, transport, travelers, lodging, notes, or additional legs. The recipient can open and edit the resulting map without creating an account.

The server exposes six tools: `find_place`, `build_trip_link`, `amend_trip_link`, `read_trip_link`, `read_kept_trip`, and `add_to_kept_trip`. Together, they cover both draft itineraries stored in a URL and trips that a person has kept on the service.

## Tools and capabilities

- `find_place` returns up to six candidate places with names, coordinates, and location context. It accepts place names, airports, IATA codes, parks, towns, and cities.
- `build_trip_link` creates a URL from an origin and ordered legs. Coordinates are required; the tool does not infer them.
- `amend_trip_link` changes an existing draft by appending, updating, replacing, or removing legs, or changing the trip name and origin.
- `read_trip_link` decodes a draft URL into the itinerary shape accepted by `build_trip_link`.
- `read_kept_trip` retrieves the itinerary associated with a kept-trip URL and its edit or view phrase.
- `add_to_kept_trip` adds a stop to a kept trip when the caller supplies the required edit phrase.

Legs can include transport mode, date, note, travelers, subtype, craft, flight number, lodging, and a lodging note. Supported modes include driving, flying, trains, ferries, water travel, cycling, and walking. A leg can also identify the track for a particular vehicle or person when a trip separates and later rejoins.

## How it works

Draft trips carry their data in the URL, so building, amending, and reading a draft does not require a network request. `read_trip_link` returns structured itinerary data rather than asking the assistant to parse the URL itself. Draft links use the `#d=` form.

Place resolution is the network-dependent lookup for draft workflows. It queries thistripbtw.us, which uses a cache in front of a paced OpenStreetMap lookup. The service states that place lookup does not send personal information.

Kept trips work differently: their contents remain on the service, while the `#k=` fragment acts as a credential. Reading or modifying one sends the phrase to thistripbtw.us over TLS. A kept link should therefore be treated as a secret, and phrases should not be guessed. The server makes one attempt for a refused phrase and reports the refusal.

## Setup and configuration

The hosted endpoint is `https://thistripbtw.us/mcp` and uses Streamable HTTP. It requires no API key or sign-up. A client that accepts an MCP URL can connect directly.

For local use, the package requires Node.js 18 or newer and can be started through npm without additional dependencies:

```bash
claude mcp add thistripbtw -- npx -y thistripbtw-mcp
```

The standalone `thistripbtw-mcp.mjs` file can also be downloaded and run with Node. Claude Desktop can use either the npm command or the downloaded file in its MCP configuration. Run `npx -y thistripbtw-mcp --selftest` to perform the local self-test; it does not use the network or require configuration.

The local and hosted forms expose the same six tools and produce byte-identical links. When privacy from an intermediary matters, connect to the hosted URL directly rather than through a gateway, or run the file locally.

## Limitations and notes

Coordinates must be supplied to `build_trip_link`; use `find_place` when they are not already known. On a leg, lodging and `stayNote` are flat fields, not a nested `stay` object. The tool assembles the URL payload format itself.

A kept-trip view phrase can read but cannot write. `add_to_kept_trip` requires an edit phrase. Kept-trip responses omit the service's basemap token and member roster, returning itinerary information instead. Content sealed for another person can return with empty text.

_Full upstream README: https://allmcps.com/mcp/trips/readme_

