# app.nomadpoint/nomadpoint

> Plan trips and track visa days per traveller across 39,601 entry rules

- name: app.nomadpoint/nomadpoint
- version: 1.0.1
- connection class: R2 (oauth_consent_once)
- trust: 96/100
- quality: 85/100 (good)
- owner: not claimed
- descriptor: https://api.protogrid.dev/v1/servers/app.nomadpoint%2Fnomadpoint
- tools: https://api.protogrid.dev/v1/servers/app.nomadpoint%2Fnomadpoint/tools

**An agent can connect after a one-time OAuth consent by a human.** Remote endpoint behind OAuth 2. Tokens stay with the agent; the registry only exposes the authorization metadata.

## Connection (mcpServers)

```json
{
  "mcpServers": {
    "nomadpoint": {
      "type": "http",
      "url": "https://gxhdcvoveufbkthhendf.supabase.co/functions/v1/mcp",
      "headers": {
        "Authorization": "Bearer ${NOMADPOINT_TOKEN}"
      }
    }
  }
}
```

Placeholders to fill: `${NOMADPOINT_TOKEN}`.

## Trust

- hygiene: 100
- liveness: 100
- freshness: 100
- provenance: 85
- drivers: +repository +dns-namespace +website +reachable +uptime-100% +updated-2d-ago
- Derived from observable signals (official registry feed and our own credential-free probes); no code audit performed.

## Quality 85/100 (good)

### protocol: n/a (weight 25)

- n/a `protocol.modern`, `protocol.stateless`, `protocol.transport`, `protocol.list_ttl`: no remote answered a protocol handshake (not probed yet, unreachable, or local-only)

### authorization: 83 (weight 15)

- pass `auth.prm`: Protected Resource Metadata (RFC 9728) published
- pass `auth.as_metadata`: authorization server metadata reachable
- warn `auth.cimd`: only Dynamic Client Registration, deprecated in 2026-07-28 in favour of CIMD
- n/a `auth.secret_in_url`: no templated URL

### tool hygiene: 86 (weight 30)

- pass `tools.descriptions`: every tool has a description
- pass `tools.description_length`: descriptions are concise
- pass `tools.schemas`: every tool has an object input schema
- pass `tools.annotations`: 43 of 43 tools declare readOnlyHint or destructiveHint
- warn `tools.directory_hints`: 29 of 43 tools declare all four hints; missing: get_me (destructiveHint); get_country_info (destructiveHint); get_visa_status (destructiveHint); …
- pass `tools.token_cost`: about 7,154 tokens to load every tool
- warn `tools.api_dump`: 43 tools, 91% named like REST operations: looks like an API mapped one endpoint per tool

### stability: n/a (weight 15)

- n/a `stability.changes`, `stability.rug_pull`: tool history not recorded yet

### dependencies: n/a (weight 15)

- n/a `deps.known_vulns`, `deps.mcp_sdk_version`, `deps.resolvable`: no npm or PyPI package

- tools: 43, about 7,154 tokens to load them all
- badge: [![protogrid quality](https://protogrid.dev/badge/app.nomadpoint/nomadpoint.svg)](https://protogrid.dev/servers/app.nomadpoint/nomadpoint)
- Checks run on what our credential-free, read-only probes observe; tools are never called and no code audit is performed.

### Tool changes

_No tool definition changes recorded._

## Remotes

- https://gxhdcvoveufbkthhendf.supabase.co/functions/v1/mcp (streamable-http, auth oauth2, reachable true, uptime30d 1)

## Packages

_none_

## Tools (43)

- `add_passport`: Record a passport from its details alone (no scan needed). Also adds the country to the user's nationalities, which is what visa answers are computed from.
- `create_accommodation`: Add a booked place to stay (hotel/hostel/apartment) to a trip.
- `create_activity`: Add a thing to do — or a travel leg between places — to a trip, optionally attached to a stop.
- `create_document`: Record a travel document (ticket, boarding pass, hotel confirmation, insurance…) and, when a file_name/mime_type is given, return a signed upload_url to PUT the file to. Use related_id to attach it to the flight, accommodation or activity it belongs to.
- `create_expense`: Record one thing the user spent money on. Use for spend with no itinerary item of its own — meals, transport, visa fees, a booking that isn't on the trip. If the purchase IS already on the itinerary, set its price with update_flight/update_accommodation/update_activity instead; doing both counts it twice. Pass source_ref when importing so a re-run can't duplicate it.
- `create_flight`: Add a flight to a trip.
- `create_journey`: Start a new trip. Use when the user wants a separate trip rather than adding to an existing one.
- `create_stay`: Add a stay — a stop in a city — to a trip. This is how a destination gets onto the itinerary; book lodging for it with create_accommodation on the same dates.
- `create_visa`: Record a visa the user holds or has applied for.
- `delete_accommodation`: Remove a booking from the trip.
- `delete_activity`: Remove an activity from the trip.
- `delete_document`: Delete one of the user's travel documents.
- `delete_expense`: Remove a recorded expense. Irreversible.
- `delete_flight`: Remove a flight from the trip.
- `delete_journey`: Permanently delete a trip and everything on it — stops, flights, bookings, activities — for every member. Owner only. Irreversible; confirm with the user first.
- `delete_stay`: Remove a stop from the trip. Refuses when the stop carries a booking — delete the booking instead.
- `delete_visa`: Delete a recorded visa.
- `get_budget`: The user's own spending target for a trip, if they set one. Personal, not shared: each member of a trip has their own, and no one else's is readable.
- `get_country_info`: Country reference info and the user's visa requirement for it, based on their primary passport.
- `get_journey`: Get one journey's itinerary: stays (the stops), flights, booked accommodations, and activities. A booked stay is ONE row that appears in both lists under the SAME id — the stop it is, and the booking it carries. Pass from_date/to_date to read one window of a long trip instead of all of it.
- `get_journey_share_link`: The link that invites someone onto a trip as a co-editor. Anyone who opens it joins immediately, so it is the whole invite — there is no separate accept step.
- `get_me`: Who the user is: profile, the passports/nationalities they hold (which decide every visa answer), and their recorded passport documents. Worth reading before planning anything.
- `get_visa_status`: How many days of the user's allowance in a country are used and how many remain this year — the answer to "how much longer can I stay".
- `leave_journey`: Leave a trip someone else shared with the user. Owners can't leave their own trip — they delete it.
- `list_documents`: The user's travel documents (passports, visas, insurance, tickets) — metadata only, not the files.
- `list_expenses`: Recorded spending on a trip — the money entered by hand or imported, NOT the booked prices on flights and hotels (those come back from get_journey). Includes each row's source_ref, so an importer can see what it already brought in.
- `list_journey_members`: Who is on a trip: user ids, roles, and profiles. Use it to get the ids that set_item_travellers takes.
- `list_journeys`: List the user's trips (journeys) they own or have joined, with dates and whether they own it.
- `list_visas`: Visas the user holds — type, number, validity, entries used.
- `remove_journey_member`: Remove someone from a shared trip. Owner only.
- `search_airlines`: Find airlines by name or IATA code.
- `search_airports`: Find airports by city, name or IATA code. Use this to get the codes create_flight requires — never guess them.
- `search_cities`: Find cities by name. Use it to confirm the exact city name create_stay expects.
- `set_budget`: Set or replace the user's own spending target for a trip. 'month' means per month of the trip; 'journey' means the whole trip. Replaces any existing target.
- `set_item_travellers`: Say which people on a shared trip an item is for — one person's separate flight, one person's room. Omitting travelers (or passing an empty list) means everyone, which is the default and right for most items.
- `update_accommodation`: Change a booking's property, dates, price, confirmation or notes.
- `update_activity`: Change an activity's title, timing, place or notes.
- `update_expense`: Correct a recorded expense — its amount, currency, date, title, category or which stop it belongs to.
- `update_flight`: Change a flight's route, times, seat, confirmation or notes.
- `update_journey`: Rename a trip, change its dates or description, archive it, or set its home-base countries (countries where the user has their own place — no missing-stay warnings there). Owner only.
- `update_preferences`: Set the standing facts every trip should respect: where home is, the home airport, the currency to quote in, nightly budget, travel pace, and preferred working hours.
- `update_stay`: Change a stop's city, country, dates or notes.
- `update_visa`: Change a recorded visa, or archive it by setting is_active to false.
