Skip to main content
Glama
Kopaev

OpenVan MCP Server

by Kopaev

Публичный API OpenVan.camp

Бесплатный API без аутентификации для данных о жизни в автодомах (vanlife): цены на топливо, курсы валют, индекс стоимости продуктов, события и новости — всё в одном месте, регистрация не требуется.

Базовый URL: https://openvan.camp Аутентификация: Не требуется CORS: Включен Лицензия: CC BY 4.0

JavaScript/TypeScript SDK: @openvancamp/sdknpm install @openvancamp/sdk. Не требует настройки, типизирован, работает в Node.js / браузере / edge. Документация SDK →

MCP-сервер (для ИИ-агентов): mcp-server/ — размещен по адресу https://mcp.openvan.camp/mcp, также доступен через npx -y mcp-remote https://mcp.openvan.camp/mcp для Claude Desktop / Cursor / Windsurf. Документация по установке →

Custom GPT: OpenVan Travel Assistant — доступен в ChatGPT GPT Store.


Что является авторитетным источником

Ресурс

Назначение

Этот README

Краткий обзор и примеры кода

/docs

Интерактивная документация с функцией "Попробовать"

/docs.openapi

Полный контракт OpenAPI 3.0 (всегда актуален)

/docs.postman

Коллекция Postman

Спецификация OpenAPI по адресу /docs.openapi генерируется из актуальной кодовой базы и является авторитетным контрактом. Числа в этом README (количество стран, общее количество историй) являются приблизительными и периодически обновляются — проверяйте метаданные /api/fuel/prices или пагинацию /api/stories для получения текущих итогов.


Related MCP server: euenergy-mcp

Эндпоинты

Эндпоинт

Описание

Охват

GET /api/fuel/prices

Розничные цены на топливо (бензин, дизель, LPG, E85)

120+ стран

GET /api/currency/rates

Курсы валют относительно EUR

150+ валют

GET /api/vanbasket/countries

Индекс цен на продукты относительно мирового среднего (100 = ср. мировое)

90+ стран

GET /api/vanbasket/compare?from=DE&to=TR

Сравнение стоимости продуктов между двумя странами

GET /api/vanbasket/countries/{code}

Данные по одной стране + исторические снимки

GET /api/events

События vanlife: выставки, фестивали, встречи, автопутешествия

695 событий

GET /api/event/{slug}

Полная информация о событии с геокоординатами

GET /api/event/{slug}/articles

Исходные статьи, связанные с событием

GET /api/stories

Новости, агрегированные из 200+ изданий

8200+ историй

GET /api/story/{slug}

Полная история со всеми исходными статьями и прямыми ссылками


Быстрый старт

# 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 Всемирного банка, скорректированных с учетом ИПЦ МВФ. Источник данных: 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: если вы тратите 100 евро на еду в стране from, вы потратите 69 евро в стране to.


События — /api/events

События vanlife: выставки, фестивали, встречи, автопутешествия. Обновляются в режиме реального времени.

Параметры запроса:

Параметр

Значения

По умолчанию

locale

en ru de fr es pt tr

en

status

upcoming ongoing past all

upcoming

type

expo festival forum meetup roadtrip

country

ISO 3166-1 alpha-2

search

текст

page

целое число

1

limit

целое число (макс. 100)

30

# 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

Новости vanlife, агрегированные из 200+ изданий и переведенные на 7 языков. Каждая история объединяет несколько исходных статей, освещающих одну и ту же тему.

Параметры запроса:

Параметр

Значения

По умолчанию

locale

en ru de fr es pt tr

en

category

слаг категории (например, camping, travel, gear, incident)

country

ISO 3166-1 alpha-2

search

текст

page

целое число

1

limit

целое число (макс. 50)

20

# 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

Ограничение частоты запросов (Rate Limiting)

120 запросов в минуту на IP-адрес. Пожалуйста, будьте ответственны:

  • Кэшируйте цены на топливо минимум на 6 часов

  • Кэшируйте курсы валют минимум на 1 час

  • Кэшируйте истории/события минимум на 15 минут


Атрибуция

Требуется согласно 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/sdk
import { 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-native, полностью типизирован (включая TypeScript), работает в Node.js ≥ 18, браузере, Cloudflare Workers, Deno, Bun. Без API-ключа.

npm: @openvancamp/sdk · Полная документация SDK →


Ресурсы

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections. Dates show when Glama detected each change.

No tool schema history has been recorded yet.

Maintenance

ActivitySlowing
ResponsivenessSyncing

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Related MCP Connectors

Related MCP Servers

  • F
    license
    Not graded
    quality
    D
    maintenance
    A 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.
    11
    -
  • F
    license
    Not graded
    quality
    B
    maintenance
    A 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
    -
  • A
    license
    C
    quality
    C
    maintenance
    A 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.
    58
    16
    MIT

Appeared in Searches

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/Kopaev/openvan-camp-public-api'

If you have feedback or need assistance with the MCP directory API, please join our Discord server