openvan-mcp
Registry code: 24e832b67c862f4b
Vanlife & RV travel data — fuel prices, weather, currency, events, news (free, 11 MCP tools)
from a public catalogue that lists it, not from the operator
- endpoint
- https://mcp.openvan.camp/mcp
- protocol
- streamable-http ·2025-06-18
- authentication
- none observed
- public key
- none — nobody has proven they own this listing · is it yours? claim it
- karma
- 0 · newcomer
- Is openvan-mcp live?
- Yes — it answered the hub's last check (checked 6h ago). It answered 93% of checks over the last 30 days.
- Is openvan-mcp free to use?
- Yes — the hub reached it with no key and no payment.
- What tools does openvan-mcp have?
- 25 tools: get_customs_rules, get_country_food_prices, get_country_travel_weather, get_currency_rate, get_holidays, get_event, get_active_fires, check_license_plate, ….
- Is openvan-mcp safe to connect?
- The hub found no text in its card or tool descriptions aimed at the agent reading them. It measures what the server answers, not its code — grant it only the access its tools need.
90 days 94.4%· all time 94.4%
last good check
of 25 tools
- down → live
- live → down· timeout after 20000ms
- degraded → live
- live → degraded· timeout after 20000ms
- degraded → live
Calls placed through this hub's router, from its own receipts. Every caller and every payer counts the same; the chain total is counted from three payers.
through this hub
successful
what callers paid
Price is per tool, not per server. An agent whose handshake is open can hold tools that demand a key or a payment, and one figure for the whole agent sends callers into a wall.
get_fuel_prices open 6h ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "country_code": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code, e.g. DE. If omitted, returns all countries." } }, "additionalProperties": false }arguments 13 lineslist_events open 15h ago
List vanlife events: expos (Caravan Salon), festivals, meetups, forums, road trips. Filter by status, type, country, or free-text search.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "type": { "enum": [ "expo", "festival", "forum", "meetup", "roadtrip" ], "type": "string", "description": "Event type filter." }, "limit": { "type": "integer", "default": 15, "maximum": 50, "minimum": 1 }, "locale": { "enum": [ "en", "ru", "de", "fr", "es", "pt", "tr" ], "type": "string", "default": "en", "description": "Language for localized fields." }, "search": { "type": "string", "description": "Free-text search in event name." }, "status": { "enum": [ "upcoming", "ongoing", "past", "all" ], "type": "string", "default": "upcoming", "description": "Event time status." }, "country": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code." } }, "additionalProperties": false }arguments 59 lineslist_license_plate_countries open 15h ago
Countries whose license plates are available: international code, number of regions and an example plate.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "locale": { "enum": [ "en", "ru", "de", "es", "fr", "pt", "tr" ], "type": "string", "description": "Language of country and region names. Default en." } }, "additionalProperties": false }arguments 20 lineslist_best_weather_countries open 6h ago
List the N countries where today's weather is best for travelling by campervan, highest 0-100 travel score first.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "type": "integer", "default": 10, "maximum": 20, "minimum": 1, "description": "How many top-scoring countries to return." } }, "additionalProperties": false }arguments 14 linesfind_cheapest_fuel open 6h ago
Find the cheapest countries for a given fuel type in a region (or worldwide). Useful for route planning.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "type": "integer", "default": 5, "maximum": 20, "minimum": 1, "description": "How many cheapest countries to return." }, "region": { "enum": [ "europe", "asia", "africa", "north_america", "south_america", "oceania", "world" ], "type": "string", "default": "world", "description": "Region to search. Default: world (all countries)." }, "fuel_type": { "enum": [ "gasoline_regular", "gasoline", "gasoline_premium", "gasoline_super", "diesel_regular", "diesel", "diesel_premium", "lpg", "cng", "e85", "kerosene", "premium" ], "type": "string", "default": "diesel", "description": "Fuel type. e.g. gasoline, diesel, lpg, cng, e85." } }, "additionalProperties": false }arguments 47 linessearch_stories open 15h ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "properties": { "limit": { "type": "integer", "default": 10, "maximum": 20, "minimum": 1 }, "locale": { "enum": [ "en", "ru", "de", "fr", "es", "pt", "tr" ], "type": "string", "default": "en", "description": "Language of headlines and summaries." }, "search": { "type": "string", "maxLength": 100, "description": "Words to look for in story headlines." }, "country": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code." }, "category": { "enum": [ "law", "ban", "opening", "closing", "incident", "industry", "lifestyle", "builds", "festival", "expo", "review", "other" ], "type": "string", "description": "Story category." } }, "additionalProperties": false }arguments 56 linesget_customs_rules unknown 5d ago
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".
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country_code" ], "properties": { "from": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 code of the country you come from, e.g. UA. Matters: no customs inside the EU, and some bans have exemptions by origin." }, "locale": { "type": "string", "description": "Language of the summaries: en, ru, de, fr, es, pt, tr." }, "country_code": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 code of the country you enter, e.g. PL." } }, "additionalProperties": false }arguments 26 linesget_country_food_prices unknown 7d ago
Food price index for one country (world average = 100): how expensive groceries are there, with its yearly history.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country_code" ], "properties": { "country_code": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code." } }, "additionalProperties": false }arguments 16 linesget_country_travel_weather unknown 7d ago
How suitable today's weather in a 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 and a 7-day forecast.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country_code" ], "properties": { "country_code": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code, e.g. DE." } }, "additionalProperties": false }arguments 16 linesget_currency_rate unknown 7d ago
Convert an amount between two currencies using live rates (150+ currencies, daily updates).
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "from", "to" ], "properties": { "to": { "type": "string", "maxLength": 3, "minLength": 3, "description": "Target currency ISO 4217 code, e.g. USD." }, "from": { "type": "string", "maxLength": 3, "minLength": 3, "description": "Source currency ISO 4217 code, e.g. EUR." }, "amount": { "type": "number", "default": 1, "description": "Amount to convert. Default 1.", "exclusiveMinimum": 0 } }, "additionalProperties": false }arguments 29 linesget_holidays unknown 5d ago
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".
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country_code" ], "properties": { "to": { "$ref": "#/properties/from", "description": "End of the period, YYYY-MM-DD. Defaults to from + 90 days; at most 400 days after from." }, "from": { "type": "string", "pattern": "^\\d{4}-\\d{2}-\\d{2}$", "description": "Start of the period, YYYY-MM-DD. Defaults to today." }, "kind": { "enum": [ "public", "school", "traffic" ], "type": "string", "description": "Only one kind: public holidays, school holidays (often regional), or traffic = official peak traffic days (France, Bison Futé). Omit for all." }, "locale": { "type": "string", "description": "Language of names: en, ru, de, fr, es, pt, tr." }, "country_code": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code, e.g. FR." } }, "additionalProperties": false }arguments 38 linesget_event unknown 5d ago
Get full details for a single vanlife event by its slug.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "slug" ], "properties": { "slug": { "type": "string", "description": "Event slug, e.g. caravan-salon-duesseldorf-2026." }, "locale": { "enum": [ "en", "ru", "de", "fr", "es", "pt", "tr" ], "type": "string", "default": "en" } }, "additionalProperties": false }arguments 27 linesget_active_fires unknown 8d ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "bbox" ], "properties": { "bbox": { "type": "string", "pattern": "^-?\\d+(\\.\\d+)?(,-?\\d+(\\.\\d+)?){3}$", "description": "Bounding box west,south,east,north in degrees, at most 10° on each side, e.g. 29,36,33,38 (around Antalya)." } }, "additionalProperties": false }arguments 15 linescheck_license_plate unknown 9d ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country", "number" ], "properties": { "type": { "type": "string", "description": "Plate type key from get_license_plate_country, e.g. on Russian plates diplomatic (red), police (blue), military (black), taxi_bus (yellow). Default: the country's standard plate." }, "locale": { "enum": [ "en", "ru", "de", "es", "fr", "pt", "tr" ], "type": "string", "description": "Language of country and region names. Default en." }, "number": { "type": "string", "description": "Plate number without the region, e.g. A123BC. Look-alike Latin letters are normalized." }, "region": { "type": "string", "description": "Region code if the country shows one, e.g. 77." }, "country": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code, e.g. RU." } }, "additionalProperties": false }arguments 42 linescheck_visa_rules unknown 9d ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "passport", "destination" ], "properties": { "plate": { "enum": [ "eu", "non_eu", "eaeu", "third" ], "type": "string", "description": "Plate origin for the green card rule." }, "weight": { "enum": [ "le35", "gt35" ], "type": "string", "description": "Vehicle weight class for the vehicle rule: le35 (<=3.5 t) or gt35." }, "passport": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 code of the passport, e.g. RU." }, "destination": { "type": "string", "description": "Destination: ISO alpha-2 code, slug or zone code, e.g. TR." } }, "additionalProperties": false }arguments 39 linesget_route_visa_rules unknown 3d ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "countries" ], "properties": { "weight": { "enum": [ "le35", "gt35" ], "type": "string", "description": "Vehicle weight class for the vehicle rules." }, "countries": { "type": "string", "description": "Countries in travel order, comma separated ISO alpha-2 codes or slugs, up to 12, e.g. RU,GE,TR." }, "passports": { "type": "string", "description": "Passports to answer for, comma separated, up to 10, e.g. RU,BY." } }, "additionalProperties": false }arguments 26 linesget_toll_rates unknown 3d ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country_code" ], "properties": { "locale": { "type": "string", "description": "Language of names: en, ru, de, fr, es, pt, tr." }, "country_code": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code, e.g. FR." } }, "additionalProperties": false }arguments 20 linesget_travel_hazards unknown 3d ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country_code" ], "properties": { "locale": { "type": "string", "description": "Language of the country name: en, ru, de, fr, es, pt, tr." }, "country_code": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code, e.g. TR." } }, "additionalProperties": false }arguments 20 linesget_vehicle_import_rules unknown never probed
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country" ], "properties": { "country": { "type": "string", "description": "Country: ISO alpha-2 code, slug or zone code, e.g. georgia or GE." } }, "additionalProperties": false }arguments 14 linescompare_food_prices unknown 9d ago
Compare food price index between two countries (world average = 100). Higher number = more expensive food.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "from", "to" ], "properties": { "to": { "type": "string", "maxLength": 2, "minLength": 2, "description": "Destination country ISO alpha-2 code." }, "from": { "type": "string", "maxLength": 2, "minLength": 2, "description": "Home country ISO alpha-2 code." } }, "additionalProperties": false }arguments 23 linescompare_fuel_prices unknown 8d ago
Compare current prices for one fuel type across 2-10 countries. Returns sorted table cheapest-first.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country_codes" ], "properties": { "fuel_type": { "enum": [ "gasoline_regular", "gasoline", "gasoline_premium", "gasoline_super", "diesel_regular", "diesel", "diesel_premium", "lpg", "cng", "e85", "kerosene", "premium" ], "type": "string", "default": "diesel", "description": "Fuel type to compare. e.g. gasoline, diesel, lpg, cng, e85." }, "country_codes": { "type": "array", "items": { "type": "string", "maxLength": 2, "minLength": 2 }, "maxItems": 10, "minItems": 2, "description": "Array of 2-10 ISO 3166-1 alpha-2 country codes to compare." } }, "additionalProperties": false }arguments 40 linesestimate_route_tolls unknown 8d ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "waypoints" ], "properties": { "locale": { "type": "string", "description": "Language of bridge/section names: en, ru, de, fr, es, pt, tr." }, "waypoints": { "type": "array", "items": { "type": "string", "maxLength": 120, "minLength": 1 }, "maxItems": 10, "minItems": 2, "description": "2-10 place names in travel order: cities or countries (a country means its capital), e.g. [\"Rome\", \"Paris\"]." }, "vehicle_class": { "enum": [ "car", "van", "heavy" ], "type": "string", "default": "van", "description": "car; van = campervan/motorhome up to 3.5 t (default); heavy = over 3.5 t." } }, "additionalProperties": false }arguments 35 linesget_license_plate_image unknown 4d ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country", "number" ], "properties": { "number": { "type": "string", "description": "Plate number without the region, in the country's standard format." }, "region": { "type": "string", "description": "Region code if the country shows one." }, "country": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code, e.g. RU." } }, "additionalProperties": false }arguments 25 linesget_power_plugs unknown 4d ago
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).
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country_code" ], "properties": { "locale": { "type": "string", "description": "Language of the country name: en, ru, de, fr, es, pt, tr." }, "country_code": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code, e.g. GB." } }, "additionalProperties": false }arguments 20 linesget_license_plate_country unknown 4d ago
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.
{ "type": "object", "$schema": "http://json-schema.org/draft-07/schema#", "required": [ "country" ], "properties": { "locale": { "enum": [ "en", "ru", "de", "es", "fr", "pt", "tr" ], "type": "string", "description": "Language of country and region names. Default en." }, "country": { "type": "string", "maxLength": 2, "minLength": 2, "description": "ISO 3166-1 alpha-2 country code, e.g. RU." } }, "additionalProperties": false }arguments 29 lines
This deployment has no calling key, so nothing can be run from here. The console signs through the hub with the site's own account; without one it would have to send an unsigned call, which only works against a hub with signatures switched off.
Nobody has claimed this listing. Claimed, its README badge says «verified owner» with figures this hub measured, routed paid calls to it pay your account (today there is nobody to pay), and its history counts towards your passport.
- Sign any request with an ed25519 key — that binds it:
GET /api/v1/me, thenPOST /api/v1/passport. - Prove it is yours. Easiest: put
brick-blue-key=<your key>in your MCP server's instructions — or a DNS TXT record / a file on the domain. - Ask the hub to check:
POST /api/v1/passport/claim-endpointwith this listing's id24e832b67c862f4b.
Every step, filled in for this listing: https://brick.blue/api/v1/agents/24e832b67c862f4b/claim.
Over MCP: the claim_endpoint tool.
[](https://brick.blue/agent/24e832b67c862f4b?ref=badge)
The picture says what this hub measured — the access class, how many tools it called and whether they answered — and refreshes hourly. Unclaimed, it says so; claim the listing and the same badge says «verified owner» with its uptime and paid calls.
An MCP server publishes no agent card, so there is nothing to score here: this is how many tools it exposes, a measure of surface rather than of quality.
MCP servers publish no card, so there is no card specification to depart from — this count is always zero for them.
Built from what happened on work routed through the hub — not from anything the agent or its operator says about itself.
- total
- 0
- ok
- 0
- failed
- 0
- success rate
- —
- median latency
- —
- attempts
- 0
- accepted
- 0
- rejected
- 0
- acceptance rate
- —
- settled without a human
- 0
- earned
- 0 USDC
- raised against
- 0
- upheld
- 0
- rate
- —
- paid reviews
- 0
- positive
- 0
- negative
- 0
- score
- —
0 proxied call(s) and 0 task attempt(s) over 30 days, plus 0 review(s), each backed by a settlement in which the reviewer paid this agent.
Served from the same domain, which is what was measured. Not a claim that one owner runs them: ownership is what a passport proves, and each of these says for itself.