Skip to main content
Glama

Bouncie MCPサーバー

Bouncie OBD2車両追跡API用のModel Context Protocol (MCP)サーバーです。Claude、ChatGPT、またはMCP互換のAIアシスタントに、位置情報、走行履歴、診断情報、燃料残量などの車両データへのリアルタイムアクセスを提供します。

機能

Bouncie GPSトラッカーをAIに接続します。以下のような自然言語での質問が可能です:

  • 「今、車はどこにある?」

  • 「先週の走行履歴を見せて」

  • 「エンジン警告灯は点灯している?コードは何?」

  • 「燃料はあとどれくらいある?」

  • 「今週一番長く走ったのはいつ?」

Related MCP server: Unoffical Polestar 2 MCP

特徴

  • リアルタイム車両追跡 — GPS位置情報、速度、方位、住所

  • 走行履歴と分析 — 距離、所要時間、平均/最高速度、燃料消費量、急ブレーキ・急加速回数、GPSトレース(ポリラインまたはGeoJSON)

  • 車両診断 — エンジン警告灯(MIL)ステータス、OBD2診断トラブルコード(DTC)、バッテリー状態

  • 車両情報 — メーカー、モデル、年式、VIN、エンジン、走行距離計、燃料レベル

  • マルチユーザーOAuth — HTTPモードではClaude.aiのOAuthをBouncieのOAuthにプロキシするため、各ユーザーが自身のBouncieアカウントで認証可能

  • Stdio + HTTPモード — 事前に発行されたアクセストークンを使用してローカルで実行するか、複数ユーザー向けに中央サーバーでホスト可能

  • Docker対応 — HTTPSを使用してどこにでもデプロイ可能

クイックスタート

ローカル (stdio) モード

npm install && npm run build

Claude DesktopまたはClaude CodeのMCP設定に追加します:

{
  "mcpServers": {
    "bouncie": {
      "command": "node",
      "args": ["/path/to/bouncie-mcp/dist/index.js"],
      "env": {
        "BOUNCIE_ACCESS_TOKEN": "your-access-token"
      }
    }
  }
}

Stdioモードでは、事前に取得したBouncieアクセストークンを使用します(OAuthフローは不要)。マルチユーザー展開にはHTTPモードを使用してください。

リモート (HTTP) モード (Docker使用)

cp .env.example .env  # fill in your credentials
docker compose up -d

サーバーは以下のエンドポイントを公開します:

  • /mcp — MCPエンドポイント (Bearerトークン認証)

  • /authorize — OAuthフローを開始し、ユーザーをBouncieへリダイレクト

  • /callback — BouncieのOAuthリダイレクト先

  • /token — MCPクライアント用のトークン交換エンドポイント

  • /register — RFC 7591動的クライアント登録

  • /.well-known/oauth-authorization-server — RFC 8414メタデータ

  • /health — ヘルスチェック

Bouncieアプリの設定

  1. bouncie.devに登録し、アプリを作成します

  2. Client IDとClient Secretを控えます

  3. Redirect URLを {PUBLIC_URL}/callback (例: https://bouncie.example.com/callback) に設定します

ポータルでの作業は以上です。ユーザーがClaude.ai経由で接続する際、OAuthフローを通じて個別に認証を行います。

環境変数

Stdioモード (シングルユーザー)

変数

必須

説明

BOUNCIE_ACCESS_TOKEN

はい

事前に取得したBouncieアクセストークン

HTTPモード (マルチユーザー)

変数

必須

説明

BOUNCIE_CLIENT_ID

はい

BouncieアプリのクライアントID

BOUNCIE_CLIENT_SECRET

はい

Bouncieアプリのクライアントシークレット

PUBLIC_URL

はい

公開URL (例: https://bouncie.example.com)。BouncieアプリのリダイレクトURLは {PUBLIC_URL}/callback である必要があります

TOKEN_TTL_HOURS

いいえ

MCPトークンの有効期間(時間単位、デフォルトは24)

PORT

いいえ

HTTPサーバーのポート(デフォルトは3000)

ツール

get_vehicles

アカウント内の全車両とライブ統計を一覧表示します。

パラメータ

型

説明

vin

string (任意)

VINでフィルタリング

imei

string (任意)

デバイスIMEIでフィルタリング

戻り値: 車両情報(メーカー/モデル/年式、VIN、IMEI、ニックネーム)およびライブ統計(GPS位置情報、速度、燃料レベル、走行距離計、エンジン稼働状況、バッテリー、エンジン警告灯、DTC)。

get_vehicle

VINまたはIMEIで単一の車両を取得します。少なくとも1つの識別子が必要です。

get_trips

車両の走行履歴を取得します。

パラメータ

型

説明

imei

string

デバイスIMEI (必須)

starts_after

string (任意)

ISO日付 — この時間以降に開始された走行

ends_before

string (任意)

ISO日付 — この時間以前に終了した走行

gps_format

"polyline"

"geojson" (任意)

GPSデータ形式 (デフォルト: polyline)

transaction_id

string (任意)

トランザクションIDで特定の走行を取得

日付範囲は最大1週間です。デフォルトは過去7日間です。

戻り値: 距離、所要時間、平均/最高速度、燃料消費量、急ブレーキ/急加速回数、走行距離計、GPSトレース。

get_user

認証済みユーザーのプロフィールを取得します。

タイムスタンプ

Bouncie APIからのすべてのタイムスタンプはUTCです。各車両/走行には、現地時間変換用のタイムゾーンオフセットフィールド(localTimeZoneまたはtimeZone、例: "-0500")が含まれています。

開発

npm run dev        # Run with tsx (hot reload)
npm run build      # Compile TypeScript
npm test           # Run tests (21 tests)
npm run lint       # Type check

アーキテクチャ

  • src/index.ts — stdioトランスポートのエントリーポイント

  • src/http.ts — OAuthを含むHTTP/Expressのエントリーポイント

  • src/server.ts — MCPツール定義

  • src/api.ts — Bouncie REST APIクライアント

  • src/oauth.ts — Claude.aiのOAuthをBouncieのOAuthにプロキシするOAuthプロバイダー (PKCE対応)

  • src/types.ts — 車両、走行、Webhookイベント用のTypeScript型定義

Bouncie Webhookイベント

Bouncie APIはWebhookもサポートしています(参考としてここに記載):

イベント

説明

connect / disconnect

デバイスの接続/切断

battery

バッテリー状態の変化 (正常/低下)

mil

エンジン警告灯の点灯/消灯とDTCコード

tripStart / tripEnd

走行開始/終了(走行距離計、燃料消費量を含む)

tripMetrics

走行サマリー — 距離、速度、ブレーキ/加速

tripData

走行中のリアルタイムGPSブレッドクラム

ライセンス

MIT

Related MCP Connectors

Related MCP Servers