trips
Server Details
Turn a trip planned in conversation into a private, editable map link you hand the person.
- Status
- Healthy
- Last Tested
- Transport
- Streamable HTTP
- URL
- Repository
- peterbartsch/thistripbtw-mcp
- GitHub Stars
- 0
- Server Listing
- thistripbtw-mcp
TDQS
Scored across 6 tools
Each tool targets a distinct operation and link type: build/amend/read for draft links, read/add for kept trips, and find_place for geocoding. The draft-vs-kept distinction is clearly spelled out in the descriptions, so an agent should not misselect.
All six tools use a uniform snake_case verb-first convention: build_trip_link, amend_trip_link, read_trip_link, read_kept_trip, add_to_kept_trip, and find_place. The pattern is predictable and easy to scan.
Six tools is well-scoped for a trip-link domain: creation, modification, reading both link types, and place resolution. There are no redundant or filler tools, and nothing important feels missing at the count level.
Draft trips have build/read/amend coverage, kept trips can be read and extended, and find_place fills the coordinate requirement. The main gaps are the absence of a general update/remove path for kept trips and no explicit draft-to-kept conversion, but agents can work around most user requests.
Available Tools
6 toolsadd_to_kept_tripAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | The kept trip's link with its #k= EDIT phrase. | |
| stop | Yes | The stop to add. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations provided, the description carries the full burden, and it delivers: it discloses that the tool writes exactly one stop, returns the current stop count, touches the network over TLS, treats the #k= phrase as a password/credential, stores nothing about the user, and counts a wrong phrase as a guess. This goes far beyond what the schema or annotations could convey and is critical for an agent handling a credential-bearing link.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but every sentence earns its place: intent examples, credential warning, network behavior, and a pointer to the sibling tool. It front-loads the core action and the critical credential requirement before the security context. No fluff or repetition of schema details.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-parameter tool with a nested object and no output schema, the description covers the essential context: when to use it, the credential requirement, the network/security implications, the single-write behavior, and the return value (current stop count). The only thing an agent might want is the exact response shape, but the description already states the stop count, and the schema covers the parameters. This is complete for safe and correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaningful context: it clarifies that the link must contain the #k= EDIT phrase (not just any link), and that the stop object is the thing being written. It also references read_kept_trip for the track field's naming. The only minor gap is that it doesn't explain the lat/lng format, but the schema already describes the fields, so this is above baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ('Add a stop to a trip the person has KEPT'), and immediately distinguishes this from read-only siblings by naming the credential requirement. It also gives concrete example phrasings ('add X to the trip', 'we're stopping at Y on the way') that an agent can match against user intent. This is clearly differentiated from read_kept_trip and read_trip_link.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly states when to use it ('Use when they say...') and provides the key exclusion: a view phrase can read but not write, so this tool requires the EDIT phrase. It also names the sibling read_kept_trip as the source for the track parameter and for reading the trip, which routes the agent correctly. This is exemplary usage guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
amend_trip_linkAInspect
Update a trip link you already built — add legs, replace them, 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. 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.
| Name | Required | Description | Default |
|---|---|---|---|
| add | No | Legs to APPEND after the last one. | |
| legs | No | REPLACES every leg. Omit to keep them. | |
| link | Yes | The existing draft link, whole URL or just the #d= fragment. | |
| name | No | New trip name. | |
| origin | No | New starting point. | |
| remove | No | Drop leg number N (1-based). Applied after add/legs. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries the full disclosure burden. It clearly reveals statelessness ('no network, no password'), that the trip lives inside the link, and that the tool returns a new link. It stops short of declaring immutability of the original link or failure modes for invalid/malformed links, but the key behavioral traits are disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, each adding a distinct element: the action, when to use it, the input format/consequences, and the sibling alternative. Front-loaded and free of filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a six-parameter tool with nested objects and no output schema, the description covers the primary operations and return behavior ('get the new link back'), and the schema fills in the details. However, it omits changing the origin as a listed operation, and interaction semantics like 'remove applied after add/legs' rely entirely on the schema, so it is adequate but not complete on its own.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and each parameter is already well-documented. The description adds value by grouping the high-level operations (add, replace, rename, remove) and identifying the draft-link input, but it does not exceed the schema's per-parameter meaning.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Update a trip link') and enumerates the operations: add legs, replace them, rename, drop one. It also names the sibling it is not (add_to_kept_trip), making selection unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly says to use this instead of build_trip_link when a plan changes, and explicitly directs KEPT links (#k=) to add_to_kept_trip. It also scopes input to draft links (#d=), so the agent knows exactly when this tool applies.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
build_trip_linkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| legs | Yes | The legs in order. Each one ends somewhere; the next starts there. | |
| name | No | Trip name, optional. | |
| origin | Yes | Where the trip starts. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations present, the description carries the full burden and does so excellently: it discloses that the trip lives only in the URL fragment and is never sent anywhere, the map is private/editable/shareable, no account is needed, coordinates are never guessed, and user data must stay out of names and notes because URLs appear in chats and logs. This is far beyond what the schema alone communicates.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but purposeful, front-loading the main directive ('Start here...') before use details. It could be tightened with bullet points or less repetitive phrasing (e.g., 'no account, no card, no app' and 'trip/road trip/itinerary'), but every sentence contributes to correct invocation or safety.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given a nested schema, no annotations, and no output schema, the description covers the missing pieces: when to use the tool, how to chain it with find_place and amend_trip_link, what the output implies (a link/address), and privacy constraints. It doesn't explicitly state the exact return format, but it conveys that the tool builds the link and it opens at its own address.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the description adds meaningful cross-field constraints: coordinates are mandatory for every place and will not be guessed, use find_place to get real coordinates, and avoid putting personal detail into name/note values because those segments travel as URL URIs. The schema gives parameter types and definitions, but the description gives value-level and safety semantics for them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific action and resource: build a trip link for any trip, road trip, or itinerary. It also names and differentiates from sibling tools — amend_trip_link for updates, read_trip_link for later reading, find_place for resolving coordinates — so an agent can tell exactly what this tool does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit when-to-use instructions: start here once an origin and destination exist, then recreate with amend_trip_link whenever the plan changes. It also tells the agent to resolve places with find_place first because coordinates are required. It doesn't contrast with the kept-trip sibling tools (add_to_kept_trip/read_kept_trip), so exclusion guidance is slightly incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
find_placeAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| query | Yes | The place as a person would say it: "Moab, UT", "SFO", "Arches National Park". |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden and tells the agent the candidate count, the returned fields (lat/lng plus location label), the backend service, cache/OSM behavior, and that the query is limited to a place name with no personal data. This is rich behavioral disclosure for a small tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
All sentences serve a purpose: purpose, candidate output, use-rule, and backend/privacy note. The purpose is front-loaded and no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a one-parameter tool with no output schema, the description covers inputs, output shape, disambiguation behavior, and a usage rule. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The single parameter is already documented in the schema with examples, so the baseline is 3. The description adds accepted input categories (parks, trailheads, IATA or name) and the disambiguation intent, going modestly beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource — 'Turn a place name into coordinates' — and enumerates accepted place types. It also names build_trip_link as the consumer, which separates it from the sibling trip-link and kept-trip tools. The 'Reno' example clarifies that the tool does disambiguation, not just lookup.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly positions this as 'the ONLY step that needs coordinates' and warns not to guess coordinates from memory, giving an unambiguous when-to-use rule. It names build_trip_link as the downstream tool and provides no misleading alternatives. This is stronger than a general context hint.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_kept_tripAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | The kept trip's link, e.g. https://thistripbtw.us/abc1234#k=treeline-downpour-rolling-switchback. The whole URL is fine. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With no annotations, the description carries full burden. It discloses network access ('THIS ONE TOUCHES THE NETWORK'), TLS usage, password semantics of the #k= phrase, credential handling, rate-limit consequences for wrong guesses, and that nothing is stored. This goes far beyond basic read/write hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long but every sentence adds necessary context—use case, return contents, network behavior, credential handling, and sibling differentiation. It is front-loaded with the primary purpose. A slight structural improvement (e.g., separating cautions) would earn a 5, but it remains efficient for the amount of critical information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given no output schema, the description fully explains return values (stops with dates, modes, track, lodging, notes, hand-drawn path). It also covers network, security, and alternatives, making it complete for a tool with inherent complexity around credentials and remote access.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already covers the single parameter well (100% coverage), so baseline is 3. The description adds meaningful context: the #k= part is a password, the link must be sent over TLS, and the phrase should not be repeated or guessed. This enriches the parameter's meaning beyond its type/format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific use case ('Use when someone gives you a KEPT this trip, btw link') and states exactly what the tool does: retrieve the trip's contents for summarization, questions, or change checks. It explicitly contrasts with read_trip_link for draft links, distinguishing the tool from its sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It clearly states when to use this tool (for kept links) and when to use the alternative ('For a DRAFT link (#d=) use read_trip_link instead'), plus why (network vs. no network). This is explicit guidance with exclusions and an alternative named.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
read_trip_linkAInspect
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.
| Name | Required | Description | Default |
|---|---|---|---|
| link | Yes | The trip link, e.g. https://thistripbtw.us/new#d=… — the whole URL is fine, or just the fragment. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
No annotations exist, so the description carries the full burden. It discloses that nothing is fetched (works offline), that only draft links with #d= are readable, and that kept links (#k=) cannot be read. It also describes the output shape, giving the agent a clear behavioral model.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is structured logically: use case, what it decodes, output shape, behavior, limitation. Every sentence adds information, and there is no waste. It is longer than average but appropriate for the complexity.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one parameter and no output schema, the description covers all essential context: purpose, usage, parameters, output shape, and limitations. It references the sibling tool for output shape, which is sufficient. No critical gaps found.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The schema already describes the link parameter with an example and notes that whole URL or fragment is acceptable. The description adds crucial semantic context about the #d= vs #k= distinction, which goes beyond the schema and clarifies what values will work, but the schema still does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a clear use case ('Use when someone gives you a this trip, btw link and you need to know what is actually in it') and specifies the resource and action. It distinguishes itself from the sibling build_trip_link by stating it returns the trip in the same shape build_trip_link accepts, implying read vs build.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use (to summarise, answer, add a stop, or convert) and clearly defines the limitation for kept links, which serves as a when-not-to-use. It references the sibling tool build_trip_link as the counterpart for building, providing a clear alternative.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
3 tool updates
- Added
add_to_kept_trip - Added
amend_trip_link - Added
find_place
1 tool update
- Added
read_kept_trip
1 tool update
- Added
read_trip_link
1 tool update
- First observed
build_trip_link
Related MCP Connectors
Plan trips on a map: routed transport, day-by-day itineraries, and a plan you can share.
Give anything your AI makes a real, private-by-default link. Say "share this with Bauta."
Plan trips directly into TravelOwl from a conversation with Claude.
Plot an AI-planned road trip onto an editable Stopful map — drive times, hotels & EV chargers.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceEnables resolving places from URLs or text, confirming candidates, and saving them to the correct regional Google Maps saved lists with optional notes.1MIT
- AlicenseNot gradedqualityCmaintenanceEnables creation of short links, dynamic QR codes, UTM templates, and hosted vCards with click/scan analytics through natural language conversations.42MIT

@maproll/mcpofficial
AlicenseAqualityBmaintenanceEnables agents to turn structured data into production-ready static maps, returning rendered PNG and SVG URLs along with an editable map link.4149MIT- FlicenseNot gradedqualityBmaintenanceConverts natural language travel requests into customizable multi-city itineraries, with tools for planning, editing, and exporting trips across 69 global destinations.-
Glama MCP Gateway
Add one secure layer between your agents and this server.