mcpField
B
bosch-flow-mcp

bosch-flow-mcp

ローカル
github.com/partymola地図・旅行03 日前に更新

bosch-flow-mcp について

BES3 Smart System 搭載 eBike の Bosch eBike Flow データを取得する、非公式の読み取り専用 MCP サーバーです。バッテリー、コンポーネント、整備、走行情報を確認したいライダー向けで、一部データには EU Data Act の認証情報が必要です。

主な機能

  1. 01バッテリー充電・劣化傾向の追跡
  2. 02コンポーネントとファームウェアの確認
  3. 03リアルタイムの充電状態取得
  4. 04整備・更新履歴の取得
  5. 05走行概要と地点別トラックの確認
  6. 06必要に応じたデータ同期

活用シーン

  1. 01バッテリー劣化の経時確認
  2. 02自転車コンポーネントのファームウェア確認
  3. 03走行ごとの距離・標高・パワーの確認
  4. 04走行の GPS・センサートラックの確認

MCP 対応

Bosch eBike Flow の自転車、バッテリー、コンポーネント、走行データを同期・取得するツールを提供します。整備履歴、ソフトウェア更新、容量テスト結果は、登録済みクライアントによる EU Data Act API の利用時のみ取得できます。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

mcp.json · 共通設定
{
"mcpServers": {
"partymola-bosch-flow": {
"command": "uvx",
"args": [
"bosch-flow-mcp"
]
}
}
}
起動コマンドuvx bosch-flow-mcp

ローカルサーバーにはマシン上の実行環境(Node.js 18 以上など)が必要です。設定ファイルの場所はクライアントごとに異なります。

パッケージ
pypibosch-flow-mcp0.7.0

ツール

12

掲載時のツール一覧 · 2 週間前に更新

パラメーター型必須説明
limitanyいいえ
bike_idanyいいえ
end_dateanyいいえ
start_dateanyいいえ

詳細

bosch-flow-mcp

CI License: GPL v3 Python 3.13+ PyPI Glama MCP Server

Bosch eBike Flow(Smart System/BES3)用の MCP サーバーです。バッテリーの状態、充電サイクル、 コンポーネントのバージョン、サービス履歴、リアルタイムの充電残量、ライドごとのアクティビティデータ (距離、標高、出力、アシストモード、CO2)を追跡します。

免責事項

これは非公式のコミュニティ開発プロジェクトです。Robert Bosch GmbH、Bosch eBike Systems、SingleKey IDとは提携、承認、後援のいずれも受けていません。「Bosch」、 「eBike Flow」および関連する商標はそれぞれの所有者に帰属し、ここでは相互運用性の説明にのみ使用しています。

  • ご自身のBosch eBike Flowアカウント(標準のSingleKey IDログインを使用)でサインインし、ご自身のデータのみを読み取ります。読み取り専用で、バイク、バッテリー、アカウントを変更することはありません。
  • 公式のBosch eBike Flowアプリと同じ公開OAuthクライアント(one-bike-app、PKCE)を使用します。認証情報、シークレット、保護措置を抽出、回避、迂回することはありません。ここで使われる識別子はすべて、すでに公開されています。
  • ご自身のEUデータ法API認証情報を提供した場合は、公式データ法APIを使用します。提供しない場合は、スマートフォンがすでに使用しているものと同じアプリAPIに、ご自身のログイン情報で問い合わせます。
  • これは文書化されていない非公式のインターフェースであり、Boschがシステムを変更した場合、予告なく変更されたり、動作しなくなったりする可能性があります。
  • お住まいの地域において、BoschおよびSingleKey IDの利用規約を遵守して使用する責任は、ご自身にあります。
  • GPLv3+に基づき、保証なしで提供されます(LICENSEを参照)。自己責任でご使用ください。

機能

  • バッテリー状態の経時スナップショット(充電サイクル、供給エネルギー、劣化傾向)
  • コンポーネントとファームウェアのバージョン(ドライブユニット、バッテリー、ConnectModule、ヘッドユニット、リモート、ABS)
  • サービスブックの履歴とソフトウェア更新ログ(EUデータ法クライアントのみ)
  • モバイルAPI経由でConnectModuleから取得するリアルタイムの充電残量
  • バッテリー容量テスターの結果(EUデータ法クライアントのみ)
  • ライドごとのアクティビティ:距離、標高、速度、ケイデンス、計測されたライダー出力、カロリー、 ライダーとモーターのエネルギー比率、アシストモードの内訳、CO2、ABSイベント、およびポイントごとの GPS/速度/標高/出力トラック
  • オンデマンドの自動同期:ツールがcronジョブなしで最新データを取得します

要件

  • Python 3.13+(CIでLinux、macOS、Windows上の3.13および3.14をテスト済み)
  • uv(推奨)またはpip
  • Bosch eBike Flowアカウント(無料。Bosch eBike Flowアプリで登録)
  • アプリに登録済みのBES3 Smart System eBike

インストール

pip install bosch-flow-mcp

インストールせずにuvx bosch-flow-mcpで実行することもできます。クローンから開発する場合:

git clone https://github.com/partymola/bosch-flow-mcp
cd bosch-flow-mcp
uv venv --python 3.13 .venv
uv pip install -e .

認証

.venv/bin/bosch-flow-mcp auth

Bosch のログイン画面をブラウザーで開きます。認証フローでは PKCE を使用する one-bike-app パブリッククライアントを使います。API キーや登録は不要で、Bosch Flow アカウントがあれば利用できます。

重要: ログインする前に、ブラウザーの開発者ツール(F12)を開き、Network タブに切り替えてください。 ログイン後、ブラウザーは iOS URI(onebikeapp-ios://)にリダイレクトしますが、デスクトップブラウザーでは開けません。開発者ツールで oauth2redirect の項目を右クリックして「URL をコピー」を選択し、リダイレクト URL 全体をコピーしてプロンプトに貼り付けてください。

トークンは config/bosch_tokens.json に保存され、offline_access によって自動更新されます。

EU Data Act の利用者: 独自の euda クライアントを登録し、その ID を config/bosch_config.json に設定している場合、auth はそのクライアントを使用します。ブラウザーを開き、ローカルの http://localhost:4200 コールバックを通じて自動的に認証が完了するため、開発者ツールでの操作は不要です。

同期

.venv/bin/bosch-flow-mcp sync                     # all data types
.venv/bin/bosch-flow-mcp sync --types bikes,batteries

データの種類:bikes、batteries、components、service、software_updates、capacity。

データを取得し、ローカルに保存します。データソースはサインイン方法によって異なります。

  • 標準の Bosch eBike Flow アカウント(デフォルト)では、モバイルアプリ API から自転車、バッテリー、コンポーネント、現在のファームウェア、リアルタイムの充電状態を取得します。EU 圏外を含む、すべてのアカウントで利用できます。
  • サービスブックの履歴、ソフトウェア更新履歴、容量テスターの結果は、Bosch Data Act ポータルで独自の euda クライアントを登録する必要があるEU Data Act API からのみ取得できます。標準のサインインでは、これらのデータの種類は何も表示されないのではなく、注記付きで unavailable と報告されます。また、Data Act API は EU 圏外で登録されたアカウントにはデータを返しません。

bosch_sync MCP ツールを使うこともできます。または自動同期を利用できます(データが古い場合、各 get_* ツールが同期を実行します)。

bosch-flow-mcp --version を実行すると、インストール済みパッケージのバージョンが表示されます。

Claude Code に登録する

claude mcp add -s user bosch-flow -- /full/path/to/bosch-flow-mcp/.venv/bin/bosch-flow-mcp

その後、Claude に次のような質問をしてみてください。

  • 「今年の自転車のバッテリーの状態はどうですか?」
  • 「月ごとの充電サイクルの傾向を表示して」
  • 「ドライブユニットのファームウェアのバージョンは?」
  • 「自転車のサービス記録はありますか?」
  • 「今週はどれくらいの距離を、どのくらいの強度で走りましたか?」

利用可能なツール

ツール説明
bosch_sync1 つ以上のデータの種類を同期します(デフォルト:すべて)
bosch_get_bikes登録済みの自転車を一覧表示します
bosch_get_bike1 台の自転車の詳細をすべて表示します
bosch_get_batteriesバッテリーのスナップショットを表示します(最新または過去の期間)
bosch_get_socConnectModule からリアルタイムの充電状態を取得します
bosch_get_capacityバッテリー容量テスターの結果を取得します(EU Data Act クライアントのみ)
bosch_get_components部品番号とファームウェアバージョンを含むコンポーネントを表示します
bosch_get_service_recordsサービスブックの記録を表示します(EU Data Act クライアントのみ)
bosch_get_software_updatesソフトウェア更新履歴を表示します(EU Data Act クライアントのみ)
bosch_battery_trends期間ごとの充電サイクルとエネルギーの傾向を表示します
bosch_get_activities指定期間のライドごとの概要(距離、高度、パワー、モード、CO2)を表示します
bosch_get_activity_detail1 回のライドについて、各ポイントの走行記録(GPS/速度/高度/ケイデンス/パワー)を表示します

API クレジット

このサーバーは、主なデータソースとしてBosch Mobile API(obc-rider-profile.prod.connected-biking.cloud)を、ライドごとのデータにはrider-activity API(obc-rider-activity.prod.connected-biking.cloud)を使用し、追加のエンドポイントにはオプションでData Act API(api.bosch-ebike.com)を利用できます。

認証には、Bosch eBike Flow モバイルアプリと同じ OAuth クライアントである one-bike-app パブリッククライアントを使用します。認証方法は、Home Assistant 統合の marq24/ha-bosch-ebike-flow と open-ebike/open-ebike-backend プロジェクトで文書化されています。

設定

変数デフォルト説明
BOSCH_FLOW_MCP_DB_PATHパッケージルートの bosch_flow.dbSQLite データベースのパス
BOSCH_FLOW_MCP_CONFIG_DIRパッケージルートの config/トークンとクライアント設定用のディレクトリ

データの安全性

  • OAuth トークンは POSIX では 0600 で作成されます。Windows ではモードが無視され、継承された ACL によってアクセスが管理されます。トークンファイルと bosch_flow.db は gitignore の対象です。

  • pre-commit フック(scripts/check-no-data.sh)は、データベースファイル、config/ 内のファイル、大きなファイルのコミットをブロックします。ファイルの内容は読み取りません。クローン後にインストールしてください。

    ln -sf ../../scripts/check-no-data.sh .git/hooks/pre-commit
    
  • テストでは一時的な SQLite データベースと架空の識別子を使用するため、実際の自転車やアカウントのデータがリポジトリに入ることはありません。

コントリビューション

開発環境のセットアップ、テストのワークフロー、pre-commit フックについては、CONTRIBUTING.md を参照してください。変更内容は CHANGELOG.md で追跡されています。

ライセンス

GPLv3+。詳細は LICENSE を参照してください。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。