Skip to main content
Glama
Kopaev

OpenVan MCP Server

by Kopaev

OpenVan.camp パブリックAPI

バンライフデータ(燃料価格、為替レート、食品コスト指数、バンライフイベント、ニュース記事)のための無料・認証不要のAPIです。すべてが1か所に集約されており、登録は不要です。

ベースURL: https://openvan.camp 認証: 不要 CORS: 有効 ライセンス: CC BY 4.0

JavaScript/TypeScript SDK: @openvancamp/sdknpm 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 Storeで公開中。


信頼できる情報源

リソース

目的

このREADME

概要とコード例

/docs

「試してみる」機能付きのインタラクティブなドキュメント

/docs.openapi

完全なOpenAPI 3.0コントラクト(常に最新)

/docs.postman

Postmanコレクション

/docs.openapi の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

2カ国間の食品コスト比較

GET /api/vanbasket/countries/{code}

単一国のデータと過去のスナップショット

GET /api/events

バンライフイベント:展示会、フェスティバル、ミートアップ、ロードトリップ

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分に1回以上のポーリングは控えてください。

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

バンライフイベント:展示会、フェスティバル、ミートアップ、ロードトリップ。リアルタイムで更新されます。

クエリパラメータ:

パラメータ

デフォルト

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}/articleslocale でフィルタリングされたソース記事を返します。一致するものがない場合はすべての記事が返されます(元のパブリッシャーの言語である可能性があります)。


ストーリー / ニュース — /api/stories

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://..."
    }
  ]
}

注意点:

  • titlesummary は要求された 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あたり1分間に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/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ネイティブ、完全型定義(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

ActivityMaintained
ResponsivenessNo issues

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