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
29 tools: 1 do something that can't be undone, 4 change things and 24 only read.
Scanned Oct 21, 2026
- Deletes or cancels0Claude Code: deny
- Can't be undone1Claude Code: ask: see these tools
- Changes things4Claude Code: ask: see these tools
- Only reads24Claude Code: allow: see these tools
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/mcpFindings
Matches of fixed checks, with the text they matched.
The server marks "get_currency_rate" read-only (readOnlyHint: true), and its own name, description or input give the class "irreversible".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "get_currency_rate" says "get": a word for reading.
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".
What this check looks forMatched text
annotations: {"readOnlyHint":true,"destructiveHint":false,"idempotentHint":true,"openWorldHint":true}; The name "get_currency_rate" says "get": a word for reading.
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/mcpRun in a terminal.
Claude Code permissions
Allow the reads, ask before a change, deny the deletes. Paste into .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.
