Skip to content

io.github.openvancamp/openvan-travel

by openvancamp · remote · local (npm) · no sign-in to list tools · v0.9.6 · published by GitHub user openvancamp

Vanlife & RV data: roadbooks, fuel, tolls, visas, holidays, hazards, weather, currency. openvan.camp

Final · 1Changes · 4

29 tools: 1 do something that can't be undone, 4 change things and 24 only read.

Scanned Oct 21, 2026

1 check matched something in the tool definitions. No finding is not a safety guarantee. How the checks work.

claude mcp add --transport http openvan-travel https://mcp.openvan.camp/mcp

Findings

Matches of fixed checks, with the text they matched.

1 warn
  • The server marks "get_currency_rate" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

    Matched text

    annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "get_currency_rate" says "get": a word for reading.

    What this check looks for

Tools

Open a tool for its reasons and full description. Descriptions are the publisher's own words, shown as they are.

29 tools

Can't be undone 1Claude Code: ask
  • get_currency_rateConvert an amount between two currencies using live rates (150+ currencies, daily updates).1 finding

    Why it is in this group

    • The name "get_currency_rate" says "get": a word for reading.
    • The description's first verb is "convert": a word for a change.
    • The input addresses people (input.to): what it sends cannot be taken back.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.

    Findings

    • Warn

      The server marks "get_currency_rate" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".

      Matched text

      annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "get_currency_rate" says "get": a word for reading.

      What this check looks for
    Description, as the server wrote it
    Convert an amount between two currencies using live rates (150+ currencies, daily updates). Use it for exchange rates and converting an amount between currencies.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Convert Currency
Changes things 4Claude Code: ask
  • check_visa_rulesEntry rules for one passport and destination: entry mode, allowed length of stay, how the days are counted (per entry or in a rolling window), whether a visa run resets the counter…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Entry rules for one passport and destination: entry mode, allowed length of stay, how the days are counted (per entry or in a rolling window), whether a visa run resets the counter, and temporary vehicle import. Answers carry a confidence level and source — pass those on instead of stating a rule as certain.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Check Visa Rules
  • estimate_route_tollsEstimate toll cost for a road trip from 2-10 place names: per-km tolls, vignettes, bridges and tunnels, as a EUR range with a per-country breakdown.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Estimate toll cost for a road trip from 2-10 place names: per-km tolls, vignettes, bridges and tunnels, as a EUR range with a per-country breakdown. Flags partial results when a country on the route has no data. Use it only for the toll cost between named places when no other trip details are asked; for a whole trip use plan_road_trip.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Estimate Tolls For A Route
  • plan_road_tripPlan a road trip by campervan or car between 2-10 places with the OpenVan.camp roadbook: distance, driving time and a day-by-day plan with overnights, budget (fuel, tolls, vignette…No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Plan a road trip by campervan or car between 2-10 places with the OpenVan.camp roadbook: distance, driving time and a day-by-day plan with overnights, budget (fuel, tolls, vignettes, ferries), and for every country on the way the entry rule for the given passports, residence permit and plates, how long you and the vehicle may stay (Schengen 90/180), road rules and city access (low-emission zones and stickers such as Umweltplakette and Crit'Air, Italian ZTL), holidays on the trip dates, safety and power plugs, plus the main warning and a checklist. Returns a link to the full roadbook the user can open, edit and share. Use this first when the user describes a trip from A to B.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Plan A Road Trip
  • rank_food_pricesRank countries by food price index (world average = 100) in a region or worldwide: the cheapest first, or with order=most_expensive the most expensive first.No findings

    Why it is in this group

    • Nothing in its name or description says what it does, so it is counted as a write.
    • The server marks it read-only (readOnlyHint: true), but an annotation never lowers a class.
    Description, as the server wrote it
    Rank countries by food price index (world average = 100) in a region or worldwide: the cheapest first, or with order=most_expensive the most expensive first. Use it when someone asks where food or groceries are cheapest or most expensive.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Rank Countries By Food Prices
Only reads 24Claude Code: allow
  • check_license_plateValidate a plate number against the country's format (look-alike letters are normalized) and say which region its code belongs to.No findings

    Why it is in this group

    • The description's first verb is "validate": a word for reading.
    Description, as the server wrote it
    Validate a plate number against the country's format (look-alike letters are normalized) and say which region its code belongs to. Pass type to check against a specific plate type's format. Never identifies the owner or the vehicle's location. Use it to check a specific plate number.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Check A License Plate
  • compare_food_pricesCompare food price index between two countries (world average = 100).No findings

    Why it is in this group

    • The name "compare_food_prices" says "compare": a word for reading.
    Description, as the server wrote it
    Compare food price index between two countries (world average = 100). Higher number = more expensive food. Use it when someone asks where food is cheaper between two countries.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Compare Food Prices
  • compare_fuel_pricesCompare current prices for one fuel type across 2-10 countries.No findings

    Why it is in this group

    • The name "compare_fuel_prices" says "compare": a word for reading.
    Description, as the server wrote it
    Compare current prices for one fuel type across 2-10 countries. Returns sorted table cheapest-first. Use it when someone asks which of two or more named countries has cheaper or more expensive fuel.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Compare Fuel Prices
  • find_cheapest_fuelRank countries by the price of a fuel type in a region (or worldwide): the cheapest first, or with order=most_expensive the most expensive first.No findings

    Why it is in this group

    • The name "find_cheapest_fuel" says "find": a word for reading.
    Description, as the server wrote it
    Rank countries by the price of a fuel type in a region (or worldwide): the cheapest first, or with order=most_expensive the most expensive first. Useful for route planning. Use it for «where is fuel cheapest» and, with order=most_expensive, «where is fuel the most expensive», in a region or worldwide.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Find Cheapest Fuel
  • get_active_firesNASA FIRMS VIIRS satellite fire detections of the last 48 hours in a bounding box up to 10°×10°, strongest first, with fire radiative power in MW.No findings

    Why it is in this group

    • The name "get_active_fires" says "get": a word for reading.
    Description, as the server wrote it
    NASA FIRMS VIIRS satellite fire detections of the last 48 hours in a bounding box up to 10°×10°, strongest first, with fire radiative power in MW. Use it for wildfires right now near a place or in a country: bbox is west,south,east,north in degrees — longitude first (Portugal ≈ -9.6,36.9,-6.1,42.2).

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Active Fires In An Area
  • get_city_travel_weatherHow suitable the weather in one city or town is for travelling and sleeping in a campervan, as a 0-100 score for today and for the coming 7 days, with sleep, driving and solar scor…No findings

    Why it is in this group

    • The name "get_city_travel_weather" says "get": a word for reading.
    Description, as the server wrote it
    How suitable the weather in one city or town is for travelling and sleeping in a campervan, as a 0-100 score for today and for the coming 7 days, with sleep, driving and solar scores and daily scores. Use this, not get_country_travel_weather, when the user names a place (Barcelona, Málaga, Alicante). Use it for the weather in one named city, town or place today, tomorrow or this week.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Travel Weather In A City
  • get_country_food_pricesFood price index for one country (world average = 100): how expensive groceries are there, with its yearly history.No findings

    Why it is in this group

    • The name "get_country_food_prices" says "get": a word for reading.
    Description, as the server wrote it
    Food price index for one country (world average = 100): how expensive groceries are there, with its yearly history. Use it when someone asks how expensive food, groceries or living is in a country.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Get Food Price Index
  • get_country_travel_briefEverything to know before driving into one country by campervan or car, in one call: entry rule and how long the person and the vehicle may stay (with passport), travel weather now…No findings

    Why it is in this group

    • The name "get_country_travel_brief" says "get": a word for reading.
    Description, as the server wrote it
    Everything to know before driving into one country by campervan or car, in one call: entry rule and how long the person and the vehicle may stay (with passport), travel weather now and this week, fuel prices, tolls and vignettes, public holidays in the next 30 days, safety advice, power plugs, customs limits and food prices. Use it when someone asks what to know about a country, the nuances or a guide for travelling there, or is preparing a trip to it; use the single-topic tools for one narrow question.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Country Road-Trip Briefing
  • get_country_travel_weatherHow suitable the weather in a whole country is for travelling and sleeping in a campervan, as a 0-100 score: overall travel score, sleep score, solar panel yield, driving condition…No findings

    Why it is in this group

    • The name "get_country_travel_weather" says "get": a word for reading.
    Description, as the server wrote it
    How suitable the weather in a whole country is for travelling and sleeping in a campervan, as a 0-100 score: overall travel score, sleep score, solar panel yield, driving conditions, awning safety, condensation risk, a 7-day forecast, and the 3 best and 3 toughest cities for the coming week. Country-level: for a named city use get_city_travel_weather. Use it when someone asks what the weather is like in a country, where in a country it is warmer, colder or sunnier, which of its cities are best or worst this week, or whether it is too cold or rainy to sleep in a van there now.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Travel Weather In A Country
  • get_customs_rulesCustoms rules when driving into a country, optionally from a given country: food bans, cash declaration, alcohol and tobacco limits, goods value, fuel in a canister.No findings

    Why it is in this group

    • The name "get_customs_rules" says "get": a word for reading.
    Description, as the server wrote it
    Customs rules when driving into a country, optionally from a given country: food bans, cash declaration, alcohol and tobacco limits, goods value, fuel in a canister. Each rule carries a verbatim official quote and source link. A country without data returns an error saying so — never present that as "nothing is restricted". Use it for what you may bring in by car: alcohol, tobacco, cash, meat and other food, goods limits.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Customs Rules On Entry By Car
  • get_eventGet full details for a single vanlife event by its slug.No findings

    Why it is in this group

    • The name "get_event" says "get": a word for reading.
    Description, as the server wrote it
    Get full details for a single vanlife event by its slug.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Get Event Details
  • get_fuel_pricesCurrent retail fuel prices for all API-supported countries.No findings

    Why it is in this group

    • The name "get_fuel_prices" says "get": a word for reading.
    Description, as the server wrote it
    Current retail fuel prices for all API-supported countries. Covers gasoline, diesel, LPG, CNG, E85, kerosene and grade variants. Pass country_code to get one country in detail; omit it for a summary list. Use it for the price of petrol, diesel, LPG/autogas/propane or CNG in one country; without a country it gives an overview.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Get Fuel Prices
  • get_holidaysPublic holidays, school holidays (often regional, with ISO 3166-2 region codes) and official peak traffic days (France, Bison Futé) in one country for a period of up to 400 days.No findings

    Why it is in this group

    • The name "get_holidays" says "get": a word for reading.
    Description, as the server wrote it
    Public holidays, school holidays (often regional, with ISO 3166-2 region codes) and official peak traffic days (France, Bison Futé) in one country for a period of up to 400 days. A country without data returns an error saying so — never present that as "no holidays". Use it for public holidays, days off, school holidays and peak traffic days.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Holidays And Peak Traffic Days
  • get_license_plate_countryHow a country's license plate looks and reads (standard, size, format), its plate types (standard, diplomatic, police, taxi…) with example numbers, and every region code on its pla…No findings

    Why it is in this group

    • The name "get_license_plate_country" says "get": a word for reading.
    Description, as the server wrote it
    How a country's license plate looks and reads (standard, size, format), its plate types (standard, diplomatic, police, taxi…) with example numbers, and every region code on its plates, grouped by region — e.g. which region is 77 or 199 on Russian plates. Use it for what a plate region code means (77, 777, AA…) and a country's plate format.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: License Plate Format And Region Codes
  • get_license_plate_imageDraw an illustrative image of a country's standard civilian license plate (PNG shown inline, plus SVG/PNG links).No findings

    Why it is in this group

    • The name "get_license_plate_image" says "get": a word for reading.
    Description, as the server wrote it
    Draw an illustrative image of a country's standard civilian license plate (PNG shown inline, plus SVG/PNG links). The number must match the country's standard format. Official, police, military and diplomatic plates are not drawn. Use it to draw or show a picture of a plate.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: License Plate Image
  • get_power_plugsPlug types (IEC A–N), mains voltage and frequency for one country, with the source of the value, plus the campsite hook-up connector in Europe (CEE17).No findings

    Why it is in this group

    • The name "get_power_plugs" says "get": a word for reading.
    Description, as the server wrote it
    Plug types (IEC A–N), mains voltage and frequency for one country, with the source of the value, plus the campsite hook-up connector in Europe (CEE17). Use it for socket and plug types, adapters, mains voltage and campsite hook-ups.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Power Plugs And Voltage
  • get_route_visa_rulesVisa rules for every country of a route in one call, for up to 10 passports at once, plus the tightest leg of the route.No findings

    Why it is in this group

    • The name "get_route_visa_rules" says "get": a word for reading.
    Description, as the server wrote it
    Visa rules for every country of a route in one call, for up to 10 passports at once, plus the tightest leg of the route.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Visa Rules For A Route
  • get_toll_ratesToll reference for one country: payment system, per-km rates by vehicle class (car, campervan up to 3.5 t, over 3.5 t), vignette prices for every duration, concession sections and …No findings

    Why it is in this group

    • The name "get_toll_rates" says "get": a word for reading.
    Description, as the server wrote it
    Toll reference for one country: payment system, per-km rates by vehicle class (car, campervan up to 3.5 t, over 3.5 t), vignette prices for every duration, concession sections and toll bridges/tunnels, each with verification date and source. Use it for toll roads, motorway fees, whether a vignette is needed and what it costs in one country.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Toll Road Rates By Country
  • get_travel_hazardsSituation now in one country: UK FCDO travel advice level and current GDACS natural disasters (flood, earthquake, tropical cyclone, wildfire, drought, volcano) with alert level gre…No findings

    Why it is in this group

    • The name "get_travel_hazards" says "get": a word for reading.
    Description, as the server wrote it
    Situation now in one country: UK FCDO travel advice level and current GDACS natural disasters (flood, earthquake, tropical cyclone, wildfire, drought, volcano) with alert level green/orange/red. Not a forecast. Use it when someone asks whether it is safe to go to a country now, about travel warnings or natural disasters.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Travel Hazards In A Country
  • get_vehicle_import_rulesTemporary admission rules for a foreign-plated vehicle in one country: allowed days, per entry or per window, carnet requirement, green card.No findings

    Why it is in this group

    • The name "get_vehicle_import_rules" says "get": a word for reading.
    Description, as the server wrote it
    Temporary admission rules for a foreign-plated vehicle in one country: allowed days, per entry or per window, carnet requirement, green card. A country without a rule we can stand behind returns nothing rather than a guess.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Temporary Vehicle Import Rules
  • list_best_weather_countriesList the N countries where today's weather is best for travelling by campervan, highest 0-100 travel score first.No findings

    Why it is in this group

    • The name "list_best_weather_countries" says "list": a word for reading.
    Description, as the server wrote it
    List the N countries where today's weather is best for travelling by campervan, highest 0-100 travel score first. Use it when no country is named and someone asks where to go for warm or good weather right now — worldwide or in a region (region=europe…); with sort=warmest only when they literally ask where it is warmest or hottest (it ranks by temperature alone, so deserts come first; «warm and pleasant», «warm and dry» → the default score). These are today's conditions and the coming days, not a forecast for a later month: for «in November» say so.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Countries With The Best Travel Weather
  • list_eventsList vanlife events: expos (Caravan Salon), festivals, meetups, forums, road trips.No findings

    Why it is in this group

    • The name "list_events" says "list": a word for reading.
    Description, as the server wrote it
    List vanlife events: expos (Caravan Salon), festivals, meetups, forums, road trips. Filter by status, type, country, or free-text search.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: List Vanlife Events
  • list_license_plate_countriesCountries whose license plates are available: international code, number of regions and an example plate.No findings

    Why it is in this group

    • The name "list_license_plate_countries" says "list": a word for reading.
    Description, as the server wrote it
    Countries whose license plates are available: international code, number of regions and an example plate.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: License Plate Countries
  • search_storiesSearch recent news about campervans, motorhomes and road travel collected by OpenVan.camp from public news sources.No findings

    Why it is in this group

    • The name "search_stories" says "search": a word for reading.
    Description, as the server wrote it
    Search recent news about campervans, motorhomes and road travel collected by OpenVan.camp from public news sources. Returns for each story only a headline, a short summary of up to 300 characters, date, category, countries and a link to the story page on openvan.camp, which credits the original publishers. Never returns full article text. Filter by words in the headline, category, country and language.

    Annotations the server declares

    • readOnlyHint: true
    • destructiveHint: false
    • idempotentHint: true
    • openWorldHint: true
    • title: Search Vanlife News

This is not a safety rating, and no finding is not a safety guarantee. The groups and findings come from fixed checks of the tool definitions the server returned on the date shown, not from its code or what it does when called. How the checks work.

Install

Pinned to version 0.9.6. Values in angle brackets are yours to fill in.

claude mcp add --transport http openvan-travel https://mcp.openvan.camp/mcp

Run in a terminal.

Claude Code permissions

Allow the reads, ask before a change, deny the deletes. Paste into .claude/settings.json.

.claude/settings.json
{
  "permissions": {
    "allow": [
      "mcp__openvan-travel__get_country_travel_brief",
      "mcp__openvan-travel__get_fuel_prices",
      "mcp__openvan-travel__compare_fuel_prices",
      "mcp__openvan-travel__find_cheapest_fuel",
      "mcp__openvan-travel__get_country_travel_weather",
      "mcp__openvan-travel__get_city_travel_weather",
      "mcp__openvan-travel__list_best_weather_countries",
      "mcp__openvan-travel__list_events",
      "mcp__openvan-travel__get_event",
      "mcp__openvan-travel__search_stories",
      "mcp__openvan-travel__compare_food_prices",
      "mcp__openvan-travel__get_country_food_prices",
      "mcp__openvan-travel__get_route_visa_rules",
      "mcp__openvan-travel__get_vehicle_import_rules",
      "mcp__openvan-travel__get_toll_rates",
      "mcp__openvan-travel__get_holidays",
      "mcp__openvan-travel__get_travel_hazards",
      "mcp__openvan-travel__get_active_fires",
      "mcp__openvan-travel__get_power_plugs",
      "mcp__openvan-travel__get_customs_rules",
      "mcp__openvan-travel__list_license_plate_countries",
      "mcp__openvan-travel__get_license_plate_country",
      "mcp__openvan-travel__check_license_plate",
      "mcp__openvan-travel__get_license_plate_image"
    ],
    "ask": [
      "mcp__openvan-travel__plan_road_trip",
      "mcp__openvan-travel__rank_food_prices",
      "mcp__openvan-travel__get_currency_rate",
      "mcp__openvan-travel__check_visa_rules",
      "mcp__openvan-travel__estimate_route_tolls"
    ],
    "deny": []
  }
}

Tools that only read are allowed, tools that change things ask first, tools that delete or cancel are denied. It assumes the server is installed as openvan-travel. Review it before you use it.