OpenVan MCP Server
OpenVan.camp 공개 API
밴라이프 데이터를 위한 무료, 인증 불필요 API: 연료 가격, 환율, 식품 비용 지수, 밴라이프 이벤트 및 뉴스 기사를 한곳에서 제공하며, 등록이 필요 없습니다.
기본 URL: https://openvan.camp
인증: 불필요
CORS: 활성화됨
라이선스: CC BY 4.0
JavaScript/TypeScript SDK: @openvancamp/sdk — npm install @openvancamp/sdk. 설정 불필요, 타입 지정됨, Node.js / 브라우저 / 엣지 환경 지원. SDK 문서 →
MCP 서버 (AI 에이전트용): mcp-server/ — https://mcp.openvan.camp/mcp에 호스팅됨, Claude Desktop / Cursor / Windsurf의 경우 npx -y mcp-remote https://mcp.openvan.camp/mcp 사용 가능. 설치 문서 →
커스텀 GPT: OpenVan Travel Assistant — ChatGPT GPT 스토어에서 이용 가능.
권위 있는 정보
리소스 | 목적 |
이 README | 빠른 개요 및 코드 예제 |
"직접 해보기"가 포함된 대화형 문서 | |
전체 OpenAPI 3.0 계약 (항상 최신 상태) | |
Postman 컬렉션 |
/docs.openapi의 OpenAPI 사양은 라이브 코드베이스에서 생성되며 권위 있는 계약입니다. 이 README의 수치(국가 수, 기사 총합 등)는 근사치이며 주기적으로 업데이트됩니다. 현재 총합은 /api/fuel/prices 메타데이터나 /api/stories 페이지네이션을 확인하세요.
Related MCP server: euenergy-mcp
엔드포인트
엔드포인트 | 설명 | 커버리지 |
| 소매 연료 가격 (휘발유, 디젤, LPG, E85) | 120개국 이상 |
| EUR 기준 환율 | 150개 통화 이상 |
| 세계 평균 대비 식품 가격 지수 (100 = 세계 평균) | 90개국 이상 |
| 두 국가 간 식품 비용 비교 | — |
| 단일 국가 + 과거 스냅샷 | — |
| 밴라이프 이벤트: 엑스포, 페스티벌, 모임, 로드트립 | 695개 이벤트 |
| 지리 좌표를 포함한 전체 이벤트 세부 정보 | — |
| 이벤트와 연결된 소스 기사 | — |
| 200개 이상의 발행처에서 집계된 뉴스 기사 | 8200개 이상의 기사 |
| 모든 소스 기사와 직접 링크를 포함한 전체 기사 | — |
빠른 시작
# Fuel prices
curl https://openvan.camp/api/fuel/prices
# Currency rates (EUR-based)
curl https://openvan.camp/api/currency/rates
# Food price index
curl https://openvan.camp/api/vanbasket/countries
# Upcoming vanlife events in Germany
curl "https://openvan.camp/api/events?country=DE&status=upcoming&locale=en"
# Latest vanlife news stories in English
curl "https://openvan.camp/api/stories?locale=en"연료 가격 — /api/fuel/prices
45개 이상의 공식 정부 소스에서 제공하는 주간 소매 가격. 캐시 TTL: 6시간. 10분보다 빠르게 폴링하지 마십시오.
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
}
}참고:
unit은 대부분의 국가에서"liter"이며, 미국과 에콰도르는"gallon"입니다.is_excluded: true는 해당 국가에 강력한 연료 보조금이 있음을 의미합니다 (가격이 시장 요율을 반영하지 않음).price_changes= 지난주 가격 대비 변동폭
환율 — /api/currency/rates
자동 폴백 기능을 갖춘 여러 오픈 소스 제공업체의 EUR 기준 환율. 캐시 TTL: 25시간. 매일 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"
}모든 통화로 변환:
const priceInUSD = (priceEUR / rates.EUR) * rates.USD;
const priceInTRY = (priceEUR / rates.EUR) * rates.TRY;VanBasket 식품 가격 지수 — /api/vanbasket/*
세계 평균 대비 식품 바구니의 상대적 비용 (세계 = 100). 세계은행 ICP 2021 데이터를 기반으로 하며, IMF CPI로 조정됨. 데이터 소스: CC BY 4.0
# All countries
curl https://openvan.camp/api/vanbasket/countries
# Compare two countries
curl "https://openvan.camp/api/vanbasket/compare?from=DE&to=TR"
# Single country with historical snapshots
curl https://openvan.camp/api/vanbasket/countries/DE{
"success": true,
"data": {
"CH": { "country_code": "CH", "country_name": "Switzerland", "vanbasket_index": 162.3, "pct_vs_world": 62.3 },
"DE": { "country_code": "DE", "country_name": "Germany", "vanbasket_index": 118.7, "pct_vs_world": 18.7 },
"TR": { "country_code": "TR", "country_name": "Turkey", "vanbasket_index": 82.4, "pct_vs_world": -17.6 },
"GE": { "country_code": "GE", "country_name": "Georgia", "vanbasket_index": 64.1, "pct_vs_world": -35.9 }
},
"meta": {
"total_countries": 92,
"world_avg": 100,
"base_year": 2021,
"source": "World Bank ICP 2021",
"license": "CC BY 4.0"
}
}비교 응답:
{
"success": true,
"data": {
"from": { "country_code": "DE", "country_name": "Germany", "vanbasket_index": 118.7 },
"to": { "country_code": "TR", "country_name": "Turkey", "vanbasket_index": 82.4 },
"diff_percent": -30.6,
"budget_100": 69,
"cheaper": true
}
}budget_100: from 국가에서 식품에 €100를 지출한다면, to 국가에서는 €69를 지출하게 됩니다.
이벤트 — /api/events
밴라이프 이벤트: 전시회, 페스티벌, 모임, 로드트립. 실시간 업데이트.
쿼리 파라미터:
파라미터 | 값 | 기본값 |
|
|
|
|
|
|
|
| — |
| ISO 3166-1 alpha-2 | — |
| 텍스트 | — |
| 정수 |
|
| 정수 (최대 100) |
|
# Upcoming events in Germany
curl "https://openvan.camp/api/events?country=DE&status=upcoming&locale=en"
# Event details
curl "https://openvan.camp/api/event/fit-camper-2026?locale=en"
# Source articles linked to an event
curl "https://openvan.camp/api/event/fit-camper-2026/articles?locale=en"{
"events": [
{
"id": 493,
"slug": "fit-camper-2026",
"event_name": "Fit Your Camper",
"event_type": "expo",
"event_type_label": "Exhibition",
"start_date": "2026-04-09",
"end_date": "2026-04-12",
"city": "Bologna",
"country_code": "IT",
"country": { "code": "it", "name": "Italy", "flag_emoji": "🇮🇹" },
"venue_name": "BolognaFiere",
"status": "upcoming",
"articles_count": 7,
"url": "https://openvan.camp/en/event/fit-camper-2026"
}
],
"pagination": { "total": 48, "page": 1, "limit": 30, "pages": 2 }
}참고:
알 수 없거나 누락된
locale은 자동으로en으로 대체됩니다./api/event/{slug}/articles는locale로 필터링된 소스 기사를 반환합니다. 일치하는 항목이 없으면 모든 기사가 반환됩니다 (원래 발행 언어로 표시될 수 있음).
스토리 / 뉴스 — /api/stories
200개 이상의 발행처에서 집계되어 7개 언어로 번역된 밴라이프 뉴스 기사. 각 스토리는 동일한 주제를 다루는 여러 소스 기사를 클러스터링합니다.
쿼리 파라미터:
파라미터 | 값 | 기본값 |
|
|
|
| 카테고리 슬러그 (예: | — |
| ISO 3166-1 alpha-2 | — |
| 텍스트 | — |
| 정수 |
|
| 정수 (최대 50) |
|
# Latest stories in English
curl "https://openvan.camp/api/stories?locale=en"
# German vanlife news in Germany
curl "https://openvan.camp/api/stories?locale=de&country=DE"
# Full story with all source links
curl "https://openvan.camp/api/story/free-overnight-parking-netherlands?locale=en"{
"slug": "free-overnight-parking-netherlands",
"title": "Free Overnight Parking for Motorhomes in the Netherlands",
"summary": "The Dutch motorhome community is pushing for more designated free overnight spots...",
"image_url": "https://...",
"category": { "slug": "travel", "name": "Travel" },
"countries": [{ "code": "nl", "name": "Netherlands", "flag_emoji": "🇳🇱" }],
"first_published_at": "2026-04-01T10:00:00+00:00",
"last_updated_at": "2026-04-03T08:00:00+00:00",
"articles_count": 5,
"url": "https://openvan.camp/en/news/travel/free-overnight-parking-netherlands",
"sources": [
{
"title": "Gratis overnachten in je camper: de beste plekken",
"original_url": "https://www.campermagazine.nl/overnachten/gratis-plaatsen",
"source_name": "CamperMagazine.nl",
"published_at": "2026-04-01T10:00:00+00:00",
"language": "nl",
"image_url": "https://..."
}
]
}참고:
title과summary는 요청된locale로 번역됩니다.sources[].language는locale과 관계없이 항상 원래 발행 언어입니다.sources[].original_url은 발행처 기사로의 직접 링크입니다.
응답 형식
모든 JSON 엔드포인트는 일관된 엔벨로프를 따릅니다:
{ "success": true, "data": { ... }, "meta": { ... }, "_attribution": { ... } }모든 응답에는 _attribution 객체가 포함됩니다:
"_attribution": {
"data_source": "openvan.camp",
"license": "CC BY 4.0",
"attribution_url": "https://openvan.camp/",
"attribution_html": "Data: <a href=\"https://openvan.camp/\">OpenVan.camp</a> (CC BY 4.0)"
}에러:
{ "success": false, "error": "Description of the error." }Accept: application/json 없이 호출하면 일부 에러 응답이 HTML을 반환할 수 있습니다. 항상 다음 헤더를 보내십시오:
Accept: application/json속도 제한
IP당 분당 120회 요청. 책임감 있게 사용해 주십시오:
연료 가격은 최소 6시간 동안 캐시하십시오.
환율은 최소 1시간 동안 캐시하십시오.
스토리/이벤트는 최소 15분 동안 캐시하십시오.
저작자 표시 (Attribution)
CC BY 4.0에 의해 요구됩니다. 권장 형식:
Data: <a href="https://openvan.camp/">OpenVan.camp</a> — CC BY 4.0통합 식별
요청 시 ?source=yoursite.com을 전달하십시오 (등록 불필요). 귀하의 값은 _attribution.your_source로 반환되어 정상 작동 여부를 확인할 수 있습니다:
curl "https://openvan.camp/api/fuel/prices?source=myapp.com"{
"success": true,
"data": { "..." },
"meta": { "..." },
"_attribution": {
"data_source": "openvan.camp",
"license": "CC BY 4.0",
"attribution_url": "https://openvan.camp/",
"attribution_html": "Data: <a href=\"https://openvan.camp/\">OpenVan.camp</a> (CC BY 4.0)",
"your_source": "myapp.com"
}
}이는 데이터가 어떻게 사용되는지 이해하고 활발한 프로젝트를 인정하는 데 도움이 됩니다.
JavaScript / TypeScript SDK
npm install @openvancamp/sdk
# or: pnpm add @openvancamp/sdkimport { OpenVan } from "@openvancamp/sdk";
const ov = new OpenVan();
// Cheapest diesel in Europe (top 5, EUR-normalized)
const top5 = await ov.fuel.cheapest("diesel", 5);
top5.forEach(c => console.log(c.country_name, c.prices.diesel, c.currency));
// Is Portugal cheaper than Germany for van living?
const comp = await ov.basket.compare("DE", "PT");
console.log(`Portugal is ${Math.abs(comp.diff_percent)}% cheaper`);
// Vanlife weather suitability — top 10 countries right now
const weather = await ov.weather.top({ limit: 10 });ESM 네이티브, 완전한 타입 지정(TypeScript 포함), Node.js ≥ 18, 브라우저, Cloudflare Workers, Deno, Bun에서 작동. API 키 불필요.
npm: @openvancamp/sdk · 전체 SDK 문서 →
리소스
대화형 문서: https://openvan.camp/docs
OpenAPI 3.0 사양: https://openvan.camp/docs.openapi
Postman 컬렉션: https://openvan.camp/docs.postman
JavaScript SDK: https://www.npmjs.com/package/@openvancamp/sdk
개발자 페이지: https://openvan.camp/en/developers
This server cannot be deployed
Maintenance
Related MCP Connectors
Remote streamable-HTTP MCP server running on a single Cloudflare Worker. Your assistant gets live Airbnb, Amazon, Booking.com, Google Flights, Maps and Reddit data, social search on X, Instagram and TikTok, the Meta Ad Library, and image/video generation without any keys. Connect your own accounts to let it send WhatsApp or Telegram messages, work an IMAP inbox, manage Meta Ads campaigns and publish to X and LinkedIn. OAuth 2.1 with PKCE; stored credentials are AES-256-GCM encrypted.
17 Base data tools for agents over Streamable HTTP MCP. Pay per call in USDC via x402; no API key.
AI Reasoning Cache & Consensus Layer with 11 MCP tools via Streamable HTTP.
The official Model Context Protocol server for Ambee. It gives any MCP-compatible AI assistant — Claude, ChatGPT, Cursor, VS Code, Ollama, and more direct access to live air quality, pollen, and weather data. To get started, including information on signing up and obtaining your Ambee key, check out the Ambee documentation on https://docs.ambeedata.com
Related MCP Servers
- FlicenseAqualityDmaintenanceA Model Context Protocol (MCP) server that provides weather data using the OpenWeather One Call API 3.0. This server allows AI agents to access current weather, forecasts, and historical weather data for any location.313 npm-
- FlicenseNot gradedqualityCmaintenanceA read-only MCP server that exposes European day-ahead electricity prices for ~41 bidding zones via tools like hourly prices, cheapest hours, current price, and cross-zone summary, enabling AI agents to query energy market data.1-
- AlicenseCqualityDmaintenanceA Model Context Protocol server exposing 58 online tools (crypto, data, image, text, etc.) and workflow execution, enabling MCP clients like Claude Desktop to invoke them via natural language.584 npmMIT
- FlicenseAqualityCmaintenanceMCP server that exposes real-time weather, forecasts, air quality, and multi-city comparison tools via the OpenWeather API for LLM agents.4-