TankoUp について
TankoUpは、政府の公開データを4時間ごとに更新し、スペイン国内約12,000か所の給油所の価格を調べるMCPサーバーです。近隣やルート沿いの給油所、省ごとの価格を比較できます。
主な機能
- 01町や場所の近くで燃料を検索
- 02ドライブルート沿いの給油所を検索
- 03省ごとの価格と推移を比較
- 04給油所の価格、営業時間、住所を確認
- 05移動費を含む総コストで順位付け
活用シーン
- 01町の近くで安いディーゼルを探す
- 02長距離ドライブの給油先を選ぶ
- 03ある省とスペイン全体の価格を比較
- 04給油所の現在価格と営業時間を確認
MCP 対応
公開Streamable HTTPエンドポイントで、認証不要の読み取り専用ツールを4種類提供します。データはスペイン政府の公開データを取り込むTankoUp APIから取得します。
設定
リモートサーバーはインストール不要です。クライアントを選んで設定をコピーするか、ワンクリックで導入できます。
https://mcp.tankoup.com/mcpclaude mcp add --transport http aalzres-tankoup https://mcp.tankoup.com/mcp{"mcpServers":{"aalzres-tankoup":{"type":"http","url":"https://mcp.tankoup.com/mcp"}}}Cursor で開く{"servers":{"aalzres-tankoup":{"type":"http","url":"https://mcp.tankoup.com/mcp"}}}VS Code で開く{"mcpServers":{"aalzres-tankoup":{"type":"http","url":"https://mcp.tankoup.com/mcp"}}}{"mcpServers":{"aalzres-tankoup":{"serverUrl":"https://mcp.tankoup.com/mcp"}}}コマンドはターミナルで実行し、JSON は各クライアントの MCP 設定に貼り付けて再起動します。認可が必要なサーバーは初回接続時にログインを求めます。
ツール
詳細
TankoUp MCP サーバー
Claude、ChatGPT、または任意の MCP クライアントに、スペインでより安く給油できる場所を尋ねられます。
これは、スペインで最も安いガソリンスタンドを見つけるアプリ、TankoUp の Model Context Protocol サーバーです。スペイン本土、バレアレス諸島、カナリア諸島、セウタ、メリリャにある約 12,000 か所のスタンドに対応しています。価格はスペイン政府のオープンデータ(MITECO)を取得し、4 時間ごとに更新しています。
- エンドポイント:
https://mcp.tankoup.com/mcp(Streamable HTTP) - 認証: 不要です。データは公開されており、ツールは読み取りのみを行います。
「ルセナ近郊で最も安いディーゼルはどこですか?」 「明日、マドリードからバレンシアまで運転します。95 を入れるなら、どこがよいですか?」 「ビスカヤのガソリン価格は、スペインのほかの地域と比べていくらですか?」
ツール
| ツール | 回答する内容 |
|---|---|
find_cheapest_fuel_nearby | 町、市、または地点の近くにある、指定した燃料の最安スタンド |
find_cheapest_fuel_on_route | 最長 1,200 km の運転ルート沿いにある最安スタンド |
get_province_fuel_prices | 県の平均価格と最安価格、過去 30 日間の推移、スペイン全体との比較、および最安スタンド |
get_station_details | 1 か所のスタンドで扱うすべての燃料の価格、営業時間、住所、リンク |
燃料:diesel(Gasóleo A)、diesel_premium、sp95(Gasolina 95 E5)、sp95_e10、sp98、lpg(GLP)。
スタンドは、給油価格だけでなく総コストで順位付けされます。40 L 給油した場合の価格に、そこまで往復するため(またはルートを外れて再び合流するため)に消費する燃料のコストを加えて計算します。15 km 離れたスタンドが 2 セント安くても、通常は有利になりません。
場所は、スペイン国内で燃料スタンドのあるすべての自治体と照合し、「Lucena, Córdoba」「San Sebastián」「Palma」のような町や市の名前で指定します。通り、ランドマーク、またはユーザーの現在地を指定する場合は、クライアントが緯度と経度を渡します。
回答は短く、構成も統一されています。数か所のスタンドについて、それぞれ価格、距離、現在営業中かどうか、TankoUp で開くためのリンク、Google マップのルート案内リンクを提示します。各回答には、TankoUp アプリの App Store と Google Play のリンクも含まれます。
接続
Claude(claude.ai と Desktop。接続後はモバイルでも使えます):Customize → Connectors → Add → Add custom connector を選び、https://mcp.tankoup.com/mcp を貼り付けます。
ChatGPT(Free を含むすべてのプラン):Plugins → Add → Add custom MCP server を選び、上記の URL を貼り付けて「No authentication」を選択します。その後、チャットで @TankoUp に言及してください。
Claude Code:
claude mcp add --transport http tankoup https://mcp.tankoup.com/mcp
Streamable HTTP に対応するその他のクライアント:接続先に https://mcp.tankoup.com/mcp を指定してください。

仕組み
Claude / ChatGPT ──MCP──▶ tankoup-mcp (Cloud Run) ──HTTPS──▶ TankoUp API ──▶ Postgres
(the API the app and website use,
fed from MITECO every 4 hours)
- Python と公式の MCP Python SDK(v2)を使い、ステートレスモードの Streamable HTTP 経由で JSON レスポンスを返します。そのため、どのインスタンスでもあらゆるリクエストに回答できます。
- サーバーはデータを保持しません。価格はすべて TankoUp アプリやウェブサイトにデータを提供するものと同じ API から取得し、データベースや政府のデータフィードにはアクセスしません。
- 場所の名前は、燃料スタンドのあるスペイン国内のすべての自治体を収録した地名辞典を使ってオフラインで照合します(
src/tankoup_mcp/data/places.json。API からscripts/build_places.pyで生成)。ジオコーディングサービスやサードパーティは使用しません。 - 回答はメモリ内に 10 分間キャッシュされます。
- 制限:クライアント IP ごとに毎分 120 リクエスト、インスタンスあたり毎分 600 リクエスト、インスタンスは最大 1 つ、ルート検索は 1 日 100 回です。
- Google Cloud Run の
europe-west1(ベルギー)で稼働し、アイドル時はゼロまでスケールします。
プライバシー
サーバーは、ユーザーからのリクエストを記録しません。ツールの呼び出しごとに、ツール名、プロトコルのバージョン、所要時間を1行ずつログに記録しますが、引数、場所、座標は記録しません。ほかのウェブサービスと同様、呼び出し元のIPアドレスは確認できます。Claude と ChatGPT の場合、これはユーザーのものではなく、プラットフォームのIPアドレスです。Google Cloud のリクエストログには、これが30日間保持されます。tankoup.com とアプリストアへのリンクには utm_source=mcp が付加されるため、TankoUp 独自の分析機能で、アシスタント経由のアクセスやインストールを集計できます。会話に関する情報がリンクとともに送信されることはありません。情報が第三者と共有されることはありません。TankoUp のプライバシーポリシー:https://tankoup.com/en/legal/privacy-policy。
自分で実行する
Python 3.12+ と uv が必要です。
uv sync
TANKOUP_API_KEY=... uv run uvicorn tankoup_mcp.app:app --port 8000
次に、http://localhost:8000/mcp を指定して MCP Inspector を開きます。
npx @modelcontextprotocol/inspector
| 変数 | デフォルト | |
|---|---|---|
TANKOUP_API_KEY | — | TankoUp API のキー |
TANKOUP_API_URL | https://api.tankoup.com | |
CACHE_TTL_S | 600 | 回答をキャッシュする期間 |
RATE_LIMIT_PER_IP | 120 | クライアントのIPアドレスごとの、1分あたりの /mcp へのリクエスト数 |
RATE_LIMIT_GLOBAL | 600 | インスタンスあたりの、1分あたりの /mcp へのリクエスト数 |
ROUTE_DAILY_LIMIT | 100 | インスタンスあたりの、1日あたりのルート検索数 |
ALLOWED_HOSTS | empty | ホストの許可リスト。空の場合はDNSリバインディング保護が無効になります。Cloud Run の背後で実行する場合はこの設定で問題ありません |
テスト
uv run pytest
すべてのツールを、実際のレスポンス形式を再現するモックAPIに対してテストします。加えて、旧式クライアントのハンドシェイクとツール呼び出し、レート制限、CORS、ヘルスチェックなど、HTTPレイヤーもテストします。
実行中のサーバーに対しては、scripts/smoke.py がすべてのツールを1回ずつ呼び出します。
uv run python scripts/smoke.py https://mcp.tankoup.com/mcp
デプロイ
scripts/setup-gcp.sh # once: the API key in Secret Manager and a service account
scripts/deploy.sh # build in Cloud Build and deploy to Cloud Run
ライセンス
MIT。燃料価格データ:スペイン生態移行・人口問題省(Ministerio para la Transición Ecológica y el Reto Demográfico、MITECO)のオープンデータ。
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。