pyBittle-mcp-server について
pyBittle-mcp-serverは、Bluetooth経由でBittleを操作するPython製MCPサーバーです。MCP対応クライアント向けに移動やポーズのコマンドを公開し、動作をファイルとコンソールに記録します。
主な機能
- 01BluetoothでBittleに接続
- 02移動・ポーズコマンド
- 03MCPツールによるリモート操作
- 04コンソールとファイルへの記録
活用シーン
- 01MCPコマンドでBittleを移動
- 02Bittleを座る・休む姿勢にする
- 03接続とコマンドのログ確認
MCP 対応
Bittleの移動やポーズのコマンドをMCPツールとして公開し、対応クライアントから検出・実行できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
pyBittle-mcp-server
Bluetooth 経由で Bittle ロボットを制御する Python 製 MCP(Model Context Protocol)サーバーです。このサーバーは、MCP プロトコルを使用して Bittle を動かしたり、ポーズを取らせたり、操作したりするための一連のコマンドを公開します。
特長
- Bluetooth 経由で Bittle に接続します
- 移動やポーズのコマンド(前進、後退、旋回、おすわり、休憩など)を公開します
- リモートおよびプログラムによる制御に MCP ツールを活用します
- すべてのアクティビティを
bittle_mcp.logに記録します
必要条件
- Python 3.10+
- パッケージ管理用の uv
- Bluetooth が有効な Bittle ロボット
- pyBittle ライブラリ
- mcp-server ライブラリ
インストールとセットアップ
-
uv をインストールします(高速で信頼性の高い Python パッケージ管理に推奨):
curl -Ls https://astral.sh/uv/install.sh | sh -
uvx をインストールします(MCP サーバーに必要):
curl -Ls https://astral.sh/uvx/install.sh | sh -
依存関係をインストールします:
# Option 1: Using start_server.sh (recommended) chmod +x start_server.sh ./start_server.sh # Option 2: Manual installation uv pip install -r requirements.txt # or, if using pyproject.toml: uv pip install -r pyproject.toml
使用方法
-
Bluetooth を設定します: Bittle ロボットの電源が入っており、Bluetooth のペアリングモードになっていることを確認してください。
-
MCP サーバーを実行します:
# Option 1: Using start_server.sh (recommended) ./start_server.sh # Option 2: Manual start uvx mcpo --port 8080 -- uv run --with 'mcp[cli]' --with git+https://github.com/cluesang/pyBittle.git mcp run ./server.pyサーバーは Bittle への接続を試み、ステータスを
bittle_mcp.logに記録します。 -
MCP ツールと連携します:
- このサーバーは MCP プロトコル経由でコマンドを公開するため、MCP 対応のクライアントやツールから利用できます。
- MCP CLI やその他の MCP ツールを使用して、Bittle ロボットで利用可能なコマンドを検出し、実行できます。
- 例(MCP CLI を使用):
mcp call move_forward mcp call sit mcp call rest - 利用可能なすべてのコマンドには
server.py内で@mcp.tool()が付与されており、MCP サーバーに自動的に登録されます。
開発
- 主なロジックは
server.pyにあります。 - ログはコンソールと
bittle_mcp.logの両方に出力されるよう設定されています。 - MCP で公開するコマンドには
@mcp.tool()が付与されています。 - 開発には
start_server.shを使用してください。環境設定とプロセス管理が処理されます。
トラブルシューティング
- サーバーが接続に失敗する場合は、Bluetooth のペアリングを確認し、ほかのプロセスが Bittle への接続を使用していないことを確認してください。
- 詳細なエラーメッセージは
bittle_mcp.logを確認してください。 - ポートの競合が発生した場合、
start_server.shが既存のサーバープロセスを自動的に終了します。 uvとuvxの両方がインストールされ、PATH から利用できることを確認してください。
ライセンス
MIT ライセンス
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。