# com.stopful/road-trip-planner (remote · stopful.com)

Plot an AI-planned road trip onto an editable Stopful map — drive times, hotels & EV chargers.

- Trust score: 75/100 (medium)
- Change this week: +8
- Registry status: active
- Liveness: live
- Owner verified: no
- Last scored: 2026-08-03

## Components

- remote · `stopful.com`: 75/100 (this document), [markdown](https://verifymcp.io/servers/com-stopful-road-trip-planner/api-mcp.md), [page](https://verifymcp.io/servers/com-stopful-road-trip-planner/api-mcp)

## Channel facts

- Endpoint: `https://stopful.com/api/mcp`
- Transports: `streamable-http`
- Auth: `none`
- Version: `1.0.0`

## Trust breakdown

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. Scores are 0–100 per category. Scoring method: https://verifymcp.io/docs/scoring (what has changed: https://verifymcp.io/docs/scoring/changelog)

Scored 2026-08-03.

- **Endpoint Security**: 80/100
  - The endpoint's TLS certificate is valid, in date, and uses a strong key.
  - No authorisation is required to call this server. Every tool declares its destructiveHint and none is destructive, so open access doesn't expose one.
  - HTTPS is enforced; there's no plaintext access path.
  - The HSTS (Strict-Transport-Security) header is present.
  - DNSSEC check failed: this domain isn't protected by DNSSEC.
- **Transport & Reachability**: 100/100
  - Verified streamable-http transport via a live MCP handshake.
- **Schema Quality & AI Usability**: 73/100
  - 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).
  - AI-judged instruction clarity (excellent).
  - Context-footprint check failed: tool/resource definitions use about 971 tokens (~485/item across 2 items; 1 tools + 1 resources), over budget; trim descriptions and params.
  - Usage-examples check failed: none of the tools include examples.
- **Stability & Change Management**: 23/100
  - Stability observed for 7 of 30 days with no destabilising changes; credit accrues until the full window elapses.
- **Tool Coverage**: 100/100
  - 100% of tools have a non-trivial description (not blank, and not just the tool's name).
  - 100% of tool parameters carry a description.
  - Structured output schemas are declared (100% of tools); any adoption earns full credit.
- **Capabilities**: 100/100
  - Implements a supported MCP spec version (2025-11-25); the latest is 2026-07-28.
  - Supports UI / widget rendering.

## Install

### Claude

```bash
claude mcp add --transport http com-stopful-road-trip-planner https://stopful.com/api/mcp
```

### Codex

```toml
[mcp_servers.com-stopful-road-trip-planner]
url = "https://stopful.com/api/mcp"
```

### opencode

```json
{
  "$schema": "https://opencode.ai/config.json",
  "mcp": {
    "com-stopful-road-trip-planner": {
      "type": "remote",
      "url": "https://stopful.com/api/mcp",
      "enabled": true
    }
  }
}
```

### OpenClaw

```bash
openclaw mcp add com-stopful-road-trip-planner --url https://stopful.com/api/mcp --transport streamable-http
```

### Hermes

```yaml
mcp_servers:
  com-stopful-road-trip-planner:
    url: "https://stopful.com/api/mcp"
```

### Other

```json
{
  "mcpServers": {
    "com-stopful-road-trip-planner": {
      "type": "http",
      "url": "https://stopful.com/api/mcp"
    }
  }
}
```

The mcpServers block is a cross-client convention. Remote transports vary, so check your client's docs.

## Changelog

Every change recorded for this component, newest first. Days that predate change tracking, or that we cannot explain, say so: "we were watching and nothing happened" and "we were not watching" are different claims.

### 2026-08-02 (score 75, +1)

No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

### 2026-07-31 (score 74, +3)

- [functional] We updated how we score, so this day's move reflects our rubric, not a change to the server

### 2026-07-30 (score 71, +1)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “plot_trip” rewrote its description, which is the text the model reads
- [functional improvement] Tool “plot_trip” now declares an output schema
- [functional] First check of Tool coverage: 100
- [functional] Server version: 2.13.0 → 2.29.0
- [cosmetic] “plot_trip” reworded the description of “days”
- [cosmetic] “plot_trip” reworded the description of “stops”
- [cosmetic] “plot_trip” reworded the description of “id”

### 2026-07-29 (score 70, 0)

- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “plot_trip” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 257 → 425
- [functional] Server version: 2.10.0 → 2.13.0
- [cosmetic] “plot_trip” added an optional parameter “days”
- [cosmetic] “plot_trip” added an optional parameter “id”
- [cosmetic] “plot_trip” made “stops” optional

### 2026-07-28 (score 70, +3)

- [security improvement] Authorization: unverified → partial
- [security] The server rewrote its instructions, which are the text every model session reads
- [security] Tool “plot_trip” rewrote its description, which is the text the model reads
- [functional regression] Schema quality: 156 → 257
- [functional improvement] Stability: unverified → 0.03
- [functional] Server version: 2.1.0 → 2.10.0

### 2026-07-27 (score 67)

First indexed and scored.

## MCP tools (1)

### `plot_trip` (~688 tokens)

Creates a road trip on Stopful, or updates one plotted earlier, and returns an interactive map of it — adding, removing, reordering or renaming stops, changing nights, dates or party size, and redrawing the route. Renders a multi-stop driving route as an interactive map and returns a link to it, plus an inline map in clients that support one. Takes a list of stops in driving order, each with a place name, optional decimal lat/lon and number of nights; a stop without coordinates is geocoded from its name, and coordinates that fall far from where the name resolves are reported back in the result. Accepts an optional trip name, start date, party size, and a day-by-day itinerary that becomes a day view over the map. The map shows per-leg drive times and distances, and is editable: the traveller can drag a pin to move a stop or drag the route to add one, and their changes are saved to the trip. Covers road trips and other multi-stop routes; a single destination or a route with no stops to draw has nothing to render. The result contains the map link, the trip as structured data, and the trip's `id` (see the `id` parameter for updating an existing trip).

Input parameters:

- `days` (array): The day-by-day itinerary: one entry per calendar day of the trip, in order, each with a title and the day's activities. It renders as a tappable day view over the map, and selecting a day highlights…
- `guests` (object): Optional party size.
- `id` (string): Optional. Id of a trip returned by an earlier call, identifying which trip this call applies to. To change an existing trip, send its `id` together with the COMPLETE new `stops` and `days` — the call…
- `name` (string): Optional trip name (e.g. 'Lisbon → Pyrenees'). Defaults to first → last stop.
- `startDate` (string): Optional trip start as ISO yyyy-mm-dd.
- `stops` (array, required): The route in driving order, 1 to 40 entries (the first is the origin). Required for a normal call — the only call that omits it is `id` on its own, which re-reads a saved trip unchanged. Each entry n…

Output parameters:

- `assumed` (array): Stops placed from their name alone because no coordinates were given — approximate pins.
- `days` (array): The day-by-day itinerary, when one was supplied.
- `editToken` (string): Capability token the map widget uses to save the traveller's own changes. It is not an argument of this tool and never needs sending back — updating a trip needs only its `id`.
- `id` (string): The trip's id. Pass it back as the `id` argument to apply a later change to this same trip.
- `keptByTraveller` (array): Stops left where the traveller placed them on the map, so the coordinates supplied in this call were not applied.
- `notFound` (array): Stops that were requested but could not be placed, so they are absent from the map and the route.
- `trip` (object): The trip as rendered, after geocoding and (on a continuation) merging the traveller's own map edits.
- `unchanged` (boolean): True when the call only read the saved trip and changed nothing — an `id` sent with no `stops`.
- `url` (string): Link that opens this trip on the map at stopful.com.
- `warnings` (array): Stops whose supplied coordinates are far from where their name resolves, with the distance and the resolved position.

## Diagnostics

Captured diagnostic sections: TLS, DNSSEC, Authorisation, Transports. The full working is on the page: https://verifymcp.io/servers/com-stopful-road-trip-planner/api-mcp#diagnostics

## Score history

- 2026-08-03: 75
- 2026-08-02: 75
- 2026-08-01: 74
- 2026-07-31: 74
- 2026-07-30: 71
- 2026-07-29: 70
- 2026-07-28: 70
- 2026-07-27: 67

## Links

- Remote endpoint: https://stopful.com/api/mcp
- Website: https://stopful.com/
- Changelog RSS feed: https://verifymcp.io/servers/com-stopful-road-trip-planner/api-mcp/changelog.xml
- Changelog JSON feed: https://verifymcp.io/servers/com-stopful-road-trip-planner/api-mcp/changelog.json
- HTML version of this page: https://verifymcp.io/servers/com-stopful-road-trip-planner/api-mcp
