Spec Driven Development
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
คำอธิบายจากผู้ทำ (ภาษาอังกฤษตามต้นฉบับ)
Vanlife & RV data: roadbooks, fuel, tolls, ferries, visas, holidays, hazards, weather. openvan.camp
สามเรื่องนี้ไม่รวมเป็นคะแนนเดียว เพราะความเห็น การวัด และความนิยม เป็นคนละเรื่องกัน
ตัวนี้ยังไม่ได้เรียบเรียงเป็นภาษาไทย ด้านล่างคือข้อเท็จจริงที่เราอ่านจาก registry
เลือกโปรแกรม AI ที่คุณใช้ แล้วคัดลอกค่าตั้งไปวาง
ต้องเตรียมก่อน
คุณใช้แอปไหน
เลือกแอปด้านบน เราจำไว้ให้ ครั้งหน้าปุ่มจะขึ้นว่า “ติดตั้งลง …”
ใช้ได้ทั้ง Claude บนเว็บ แอปคอมพิวเตอร์ และมือถือ:
https://mcp.openvan.camp/mcpเปิด Claude Desktop → Settings → Developer → Edit Config แล้ววางค่านี้ในไฟล์ claude_desktop_config.json
{
"mcpServers": {
"openvan-travel": {
"command": "npx",
"args": [
"-y",
"@openvancamp/mcp-server"
]
}
}
}พิมพ์คำสั่งนี้ใน Terminal
claude mcp add --transport http openvan-travel https://mcp.openvan.camp/mcpclaude mcp add openvan-travel -- npx -y @openvancamp/mcp-serverวางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"openvan-travel": {
"url": "https://mcp.openvan.camp/mcp"
}
}
}วางในไฟล์ .cursor/mcp.json ของโปรเจกต์ หรือ ~/.cursor/mcp.json
{
"mcpServers": {
"openvan-travel": {
"command": "npx",
"args": [
"-y",
"@openvancamp/mcp-server"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"openvan-travel": {
"type": "http",
"url": "https://mcp.openvan.camp/mcp"
}
}
}วางในไฟล์ .vscode/mcp.json ของโปรเจกต์
{
"servers": {
"openvan-travel": {
"type": "stdio",
"command": "npx",
"args": [
"-y",
"@openvancamp/mcp-server"
]
}
}
}เบราว์เซอร์จะถามก่อนเปิดแอป จากนั้นแอปแสดงค่าตั้งให้ตรวจแล้วกดยืนยัน ช่อง key เว้นว่างไว้ให้คุณใส่เอง
ChatGPT ต่อได้เฉพาะ server ที่อยู่บนอินเทอร์เน็ต:
https://mcp.openvan.camp/mcpชื่อเมนูอาจต่างกันเล็กน้อยตามแพ็กเกจและรุ่นของแอป
ตัวเลือกเก็บในคุกกี้บนเครื่องนี้ ไม่ต้องมีบัญชี
ค่าตั้งนี้สร้างจากข้อมูลใน registry ของผู้ทำ ถ้าไม่ตรงกับ README ให้เชื่อ README
ชื่อและคำอธิบายเครื่องมือตามที่ server ตอบมาเมื่อ 7 พ.ย. 2569 ผู้ทำเป็นคนเขียน ไม่ใช่เรา แสดงเป็นข้อความล้วน
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, vignettes, ferries), and for every country on the way the entry rule for the given passports, residence perm
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 and this week, fuel prices, tolls and vignettes, public holidays in the next 30 days, safety advice
get_fuel_pricesCurrent 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 c
compare_fuel_pricesCompare 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.
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. Useful for route planning. Use it for «where is fuel cheapest» and, with order=most_expensive, «where is fuel the most expensive», in
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 conditions, awning safety, condensation risk, a 7-day forecast, and the 3 best and 3 toughest cities for the
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 the city's place among the cities of its country this week, comfortable days, the best stretch and the worst day, a 7-day forecas
get_city_climateWhat the weather is usually like in a city or at any point on a given day of the year, from the ERA5 climate archive 2021–2025 (median of 35 archive days: the date ±3 days over five years): day and night temperature, on how many of the 35 days there was precipitation, the usual s
list_best_weather_countriesList the N countries where the weather is best for travelling by campervan, highest 0-100 travel score first: today's score by default, or with period=week the score of the coming 7 days (the ranking used on OpenVan.camp). Use it when no country is named and someone asks where to
list_eventsList vanlife events: expos (Caravan Salon), festivals, meetups, forums, road trips. Filter by status, type, country, or free-text search.
get_eventGet full details for a single vanlife event by its slug.
search_storiesSearch 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 credi
compare_food_pricesCompare 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.
get_country_food_pricesFood 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.
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. Use it when someone asks where food or groceries are cheapest or most expensive.
get_currency_rateConvert an amount between two currencies using live rates (150+ currencies, daily updates). Use it for exchange rates and converting an amount between currencies.
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, and temporary vehicle import. Answers carry a confidence level and source — pass those on instead
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.
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. A country without a rule we can stand behind returns nothing rather than a guess.
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 toll bridges/tunnels, each with verification date and source. Use it for toll roads, motorway fees,
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. 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 tri
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. A country without data returns an error saying so — never present that as "no holidays". Use it for p
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 green/orange/red. Not a forecast. Use it when someone asks whether it is safe to go to a country now, a
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. Use it for wildfires right now near a place or in a country: bbox is west,south,east,north in degrees — longitude first (Portugal ≈ -
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). Use it for socket and plug types, adapters, mains voltage and campsite hook-ups.
find_ferriesFerry and river crossing lines in a bounding box from OpenStreetMap: name, operator, countries, whether cars are carried, crossing time, the operator site checked by hand and a booking link where confirmed, and whether an open timetable exists. bbox is west,south,east,north in de
get_ferry_scheduleOne ferry line by id from find_ferries: both ends with country, operator site and booking link, and a timetable digest from open GTFS feeds — next departures today in local time, sailings per day, daytime and night rhythm, weekdays over the next 8 days, crossing time. available:
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. Each rule carries a verbatim official quote and source link. A country without data returns an error saying so — n
list_license_plate_countriesCountries whose license plates are available: international code, number of regions and an example plate.
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 plates, grouped by region — e.g. which region is 77 or 199 on Russian plates. Use it for what a plate r
check_license_plateValidate 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 num
get_license_plate_imageDraw 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.
เราตรวจจากข้อมูลที่ใครก็เปิดดูได้ ยังไม่ได้อ่านโค้ด ข้อที่ไม่เกี่ยวกับตัวนี้ไม่นับในตัวหาร · ตรวจเมื่อ 7 พ.ย. 2569
ชื่อใน registry ยืนยันด้วยบัญชี GitHub openvancamp ซึ่งเป็นเจ้าของ repo
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ยังไม่ได้อ่านข้อมูล repo จาก GitHub
ตอบกลับใน 1098 ms (HTTP 200)
ไม่ต้องล็อกอิน
อ่านคำอธิบายเครื่องมือ 32 ตัวแล้ว ไม่พบคำสั่งแอบแฝงถึง AI
เทียบกับทุก server ที่ยังใช้งานในหมวดนี้ทั้งทะเบียน ดาวนับเฉพาะเมื่อผู้ลงทะเบียนเป็นเจ้าของ repo
จากการตรวจเบื้องต้นของเรา ผ่าน 3 จาก 3 ข้อที่ตรวจได้ เรายังไม่ได้อ่านโค้ด ก่อนใส่กุญแจหรือ token ให้ดูว่า server ขอสิทธิ์อะไร และเลือกกุญแจที่ทำได้เท่าที่จำเป็น
registry ไม่ได้ระบุว่าต้องใช้กุญแจ แต่บางตัวจะขอให้ล็อกอินตอนใช้ครั้งแรก
ได้ทั้งสองแบบ จะลงในเครื่องหรือต่อผ่านคลาวด์ก็ได้
repo บน GitHub มีการแก้โค้ดล่าสุด – และส่งรุ่นล่าสุด (0.12.0) เข้า registry 9 วันที่ผ่านมา
โปรแกรมที่รองรับ MCP เช่น Claude Desktop, Claude Code, Cursor และ VS Code ตัวนี้ต่อผ่าน URL จึงใช้กับโปรแกรมที่รับ remote MCP ได้ เช่น ChatGPT ที่เปิดโหมดนักพัฒนา
ในหมวดเดียวกันมี Spec Driven Development, Remote Desktop Commander, Foliosio
server หมวดเดียวกันจากผู้ทำคนอื่น เรียงตามดาว
อ่านการ์ด:★ ดาว GitHubiสามเสา: รีวิว · ผลตรวจ · การใช้งานiอัปเดต = วันที่ส่งรุ่นล่าสุดเข้า registryi
MCP Server that facilitates spec-driven development workflows, not just Vibe Coding.
Remote Desktop Commander: use files, terminal and processes on your own computers from any AI app.
Read your support inbox, tag conversations and save draft replies from your AI agent. Never sends.
ส่วนนี้คัดจาก repo ของผู้ทำตามต้นฉบับ PopNx MCP ไม่ได้ตรวจหรือรับรองเนื้อหา ตัด HTML รูปภาพ และสคริปต์ออกแล้ว ลิงก์จะพาออกนอกเว็บ
Free, no-auth API for vanlife data: fuel prices, route fuel cost, toll roads, holidays and peak traffic days, travel hazards, ferry and river crossings with operator sites and timetables, power plugs, customs rules, currency rates, food cost index, weather suitability scores, visa and vehicle-import rules, vanlife events, news stories, and license plates of the world — all in one place, no registration required.
Base URL: https://openvan.camp Auth: None required CORS: Enabled License: data is CC BY 4.0; code in this repository (SDK, MCP server, examples) is MIT Attribution required: show Data: OpenVan.camp wherever you display the data — see Attribution
JavaScript/TypeScript SDK: @openvancamp/sdk — npm install @openvancamp/sdk. Zero-config, typed, Node.js / browser / edge. SDK docs →
Python SDK: openvan — pip install openvan. No dependencies, Python 3.9+, works with pandas. Python docs →
Daily CSV snapshots: openvancamp/openvan-travel-data — fuel prices, exchange rates, food cost index and weather scores as CSV/JSON, one commit a day, with history.
MCP Server (for AI agents): mcp-server/ — 32 read-only tools with interactive cards in Claude and ChatGPT (incl. plan_road_trip — a whole-trip roadbook), hosted at https://mcp.openvan.camp/mcp, or locally npx -y @openvancamp/mcp-server for Claude Desktop / Cursor / Windsurf. Install docs → · AI agents guide →
Gemini CLI extension: install this repository with gemini extensions install https://github.com/openvancamp/openvan-camp-public-api. The root gemini-extension.json connects Gemini CLI directly to the hosted OpenVan.camp MCP server; no API key is required.
Plugin for coding agents (Claude Code, Codex): the hosted MCP server plus two agent skills — openvan-travel answers trip questions with the right tools, openvan-api writes code on this API with attribution, per-grade fuel units and caching done right. Claude Code: /plugin install openvan-camp --marketplace openvancamp/openvan-camp-public-api (or /plugin marketplace add openvancamp/openvan-camp-public-api, then /plugin install openvan-camp@openvan-camp). Codex: codex plugin marketplace add openvancamp/openvan-camp-public-api, then install OpenVan.camp from the Plugins Directory. Skills only, for any agent: npx skills add openvancamp/openvan-camp-public-api.
In your AI assistant, no code: Claude connector · ChatGPT app · Telegram bot @OpenVanCampBot — the same data as interactive cards in the chat. How to connect →
| Resource | Purpose |
|---|---|
| This README | Quick overview and code examples |
/docs | Interactive documentation with "Try it out" |
/docs.openapi | Full OpenAPI 3.0 contract (always up to date) |
/docs.postman | Postman collection |
The OpenAPI spec at /docs.openapi is generated from the live codebase and is the authoritative contract. Numbers in this README (country counts, story totals) are approximate and updated periodically — check /api/fuel/prices meta or /api/stories pagination for current totals.
| Endpoint | Description | Coverage |
|---|---|---|
GET /api/fuel/prices | Retail fuel prices (gasoline, diesel, LPG, E85) | 170+ countries |
POST /api/route-cost | Fuel cost for a route of 2–10 waypoints, per-country prices | — |
POST /api/roadbook/from-places | Whole-trip roadbook from 2–10 place names: day-by-day plan, budget, per-country entry and vehicle rules; returns a shareable page | — |
GET /api/roadbook/{code}/status | Build status of a roadbook (poll until ready) | — |
GET /api/tolls/countries | Toll roads by country: payment system, per-km rates by vehicle class, vignettes | 80+ countries |
GET /api/tolls/route | Toll cost for a route of 2–10 place names (car, van, heavy), EUR range | — |
GET /api/holidays/countries/{code}?from=&to= | Public holidays, school holidays (regional) and peak traffic days | 210+ countries |
GET /api/hazards/countries/{code} | UK FCDO travel advice level and current GDACS natural disasters | — |
GET /api/hazards/fires?bbox= | NASA FIRMS active fires of the last 48 hours in a bounding box (up to 10°×10°) | worldwide |
GET /api/ferries?bbox= | Ferry and river crossing lines and ports (GeoJSON, OpenStreetMap, ODbL) with hand-checked operator sites and booking links | worldwide |
GET /api/ferries/{id}/schedule | Timetable digest from open GTFS feeds: next departures, weekdays, rhythm, travel time | 820 crossings (Oct 2026) |
GET /api/electricity/countries/{code} | Plug types, mains voltage and frequency, campsite hook-up (CEE17) | 220+ countries |
GET /api/customs/countries/{code}?from= | Customs rules on entry by car: food, cash, alcohol, tobacco, fuel canister | — |
GET /api/currency/rates | Exchange rates relative to EUR | 150+ currencies |
GET /api/vanbasket/countries | Food price index relative to world average (100 = world avg) | 90+ countries |
GET /api/vanbasket/compare?from=DE&to=TR | Compare food costs between two countries | — |
GET /api/vanbasket/countries/{code} | Single country + historical snapshots | — |
GET /api/vansky/weather | Vanlife weather suitability scores (0–100) with 7-day forecast | 160+ countries |
GET /api/vansky/weather/{code} | One country, with marine and solar data | — |
GET /api/vansky/weather/{code}/{city} | One city as on its page: today and the week, place in the country, per-day score breakdown, worst day, air quality, recommendations (include=hourly for 3-hour steps) | — |
GET /api/vansky/weather/{code}/cities | Cities of a country ranked by the week score (as on the site) or today | — |
GET /api/vansky/ranking | Countries ranked by the week score or today, by region | 160+ countries |
GET /api/vansky/methodology | How the VanSky score is calculated: curves, weights, adjustments — recompute it yourself | — |
GET /api/vansky/climate?lat=&lng=&date= | Typical weather on any day of the year anywhere (ERA5 2021–2025): temperature, precipitation days, sky, sea, solar, VanSky index, months, best month | worldwide |
GET /api/vansky/climate/{code}/{city} | The same for a VanSky city | — |
GET /api/visa/check?passport=RU&destination=TR | Entry rules: entry mode, length of stay, how days are counted, vehicle import | 199 destinations |
GET /api/visa/route?t=RU,GE,TR&p=RU | Visa rules for a whole route, up to 10 passports | — |
GET /api/visa/passport/{code} | All destinations for one passport | — |
GET /api/visa/vehicle/{place} | Temporary vehicle import rules for a country | — |
GET /api/events | Vanlife events: expos, festivals, meetups, road trips | 1,100+ events |
GET /api/event/{slug} | Full event details with geo coordinates | — |
GET /api/event/{slug}/articles | Source articles linked to an event | — |
GET /api/stories | News stories aggregated from 200+ publishers | 31,000+ stories |
GET /api/story/{slug} | Full story with all source articles and direct links | — |
GET /api/news/search?q=... | Semantic search over stories | — |
GET /api/news/digest | Today's news digest | — |
GET /api/plates | License plates of the world: formats, region codes, example plates | 199 countries |
GET /api/plates/{code}/types | Plate types of a country (private, taxi, motorcycle, diplomatic…); empty where not broken down | — |
GET /api/plates/{code}/plate.svg | Ready plate image (also .png) — drop into | — |
# Fuel prices
curl https://openvan.camp/api/fuel/prices
curl https://openvan.camp/api/currency/rates
curl https://openvan.camp/api/vanbasket/countries
curl "https://openvan.camp/api/events?country=DE&status=upcoming&locale=en"
curl "https://openvan.camp/api/stories?locale=en"
/api/fuel/pricesWeekly retail prices from 45+ official government sources. Cache TTL: 6 hours. Please poll no faster than every 10 minutes.
curl https://openvan.camp/api/fuel/prices
{
"success": true, "data": { "DE": { "country_code": "DE", "country_name": "Germany", "region": "europe", "currency": "EUR", "local_currency": "EUR", "unit": "liter", "prices": { "gasoline": 1.79, "diesel": 1.69, "lpg": 0.89, "e85": null, "premium": null }, "price_changes": { "gasoline": -0.02, "diesel": 0.01, "lpg": 0.0 }, "fetched_at": "2026-04-05T10:00:00+00:00", "sources": ["EU Weekly Oil Bulletin", "Fuelo.net"], "sources_count": 2, "is_excluded": false } }, "meta": { "total_countries": 121, "updated_at": "2026-04-05 10:00:00", "cache_ttl_hours": 6 } }
Notes:
unit is "liter" for most countries, "gallon" for US and Ecuadoris_excluded: true means the country has heavy fuel subsidies (prices don't reflect market rates)price_changes = delta vs last week's prices/api/currency/ratesEUR-based exchange rates from multiple open-source providers with automatic fallback. Cache TTL: 25 hours. Refreshed daily at 07:00 UTC.
curl https://openvan.camp/api/currency/rates
{
"success": true, "rates": { "EUR": 1, "USD": 1.08, "GBP": 0.85, "TRY": 38.5, "GEL": 2.95, "KZT": 510, "RUB": 98.5 }, "cached": true, "updated_at": "2026-04-08T07:00:00+00:00" }
Convert to any currency:
const priceInUSD = (priceEUR / rates.EUR) * rตัดมาแค่ช่วงต้น อ่านต่อใน repo