AI News HubLIVE
站内改写3 分で読了

Reachy MiniにMCPツールを追加

Reachy MiniはMCPを介してHugging Face Spacesでホストされているリモートツール(天気検索やウェブ検索など)を呼び出せるようになりました。ユーザーは1つのコマンドでツールを追加でき、アプリケーションコードを変更する必要はありません。この記事では、組み込みツール、プロファイル制御、リモートツールの仕組み、インストールコマンド、命名規則、サンプルプロファイル、現在の制限について説明します。

Reachy Miniは対話型ロボットであり、その会話アプリはMCP(Model Context Protocol)を介してHugging Face Spaces上でホストされているリモートツールを呼び出せるようになりました。これにより、ロボットはアプリケーションコードを編集することなく、天気予報の確認やウェブ検索などの新しい機能を獲得できます。ユーザーはターミナルで1つのコマンドを実行するだけでツールを追加でき、ツールはSpaces上で実行され続けるため、ローカルマシンにコードがダウンロードされることはありません。また、ユーザー自身がツールを公開して他の人に使ってもらうこともできます。

Reachy Miniにはもともと、ロボットの身体動作を制御するための組み込みツールがありました(例:頭部の移動、感情の再生、カメラでの撮影など)。これらはすべてローカルであり、プロファイル内のtools.txtファイルでどのツールを使用可能にするかを制御します。しかし、身体とは無関係な機能(ウェブ検索、天気予報など)については、ローカルツールでは不便が生じます。ツールを共有するにはPythonファイルを渡す必要があり、更新のたびにファイルを再送信する必要があり、機能自体はアプリと独立しているにもかかわらず、変更にはアプリの編集が必要でした。

リモートツールの追加はこれらの問題を解決します。これらは3番目のツールタイプとして、組み込みツールやカスタムローカルツールと並んで存在します。リモートツールは検索や天気のようなステートレスな機能に適しており、アプリ自体に手を加えずに独立して反復・公開できます。誰でも互換性のあるSpaceを公開できるため、ツールの共有や相互活用が容易です。

現在、2つのカナリアツール(検索ツールと天気ツール)が公開されています。これらは全フロー(Hubからのインストール、リモートツールの発見、プロファイルごとの有効化、リアルタイムバックエンドによる呼び出し)をテストするのに十分です。ユーザーは同じ会話内で検索と天気の両方を使用できます。

リモートツールのインストールコマンドはreachy-mini-conversation-app tool-spaces add <Space名>です。デフォルトでは、ツールIDがアクティブなプロファイルのtools.txtに追加されます。プロファイルの指定、インストールのみ(有効化なし)、インストール済みSpaceの一覧表示、削除も可能です。インストール時には、SpaceのHub上での存在確認、MCPエンドポイントのプローブ、ツールの発見、ツール名の一意性チェックが行われます。リモートツールの名前には名前空間プレフィックスが付与され、組み込みツールとの衝突を防ぎます。

ツールの使用方法を最適化するために、プロンプトの設計が重要です。カナリアプロファイルには、モデルがツールを並行して呼び出し、結果を統合して簡潔に回答するための詳細な指示が含まれています。例えば、検索+天気のプロファイルでは、モデルは両方のツールを同時に呼び出し、天気情報とイベント情報を一文にまとめるように指示されています。現在、並行呼び出しはプロンプトで促すことしかできず、決定論的には保証されません。並行呼び出しが重要なユースケースでは、ロジックをコードに移すべきです。

現在サポートされている機能:公開されたMCP互換のGradio Spaces(標準の/gradio_api/mcp/エンドポイント)のスラグによるインストール、複数Spaceの同時利用、プロファイルごとの有効化、名前空間付きリモートツールID、バックエンドに依存しない登録(OpenAI、Gemini、Hugging Face対応)、ローカルへの任意コードのダウンロードなし。サポートされていない機能:プライベートまたは認証付きSpaces、非Gradio Spaces、任意の生のMCP URLや非Hugging FaceのMCPサーバー、並行ツール実行の保証。

ツールを公開したいユーザーは、標準MCPエンドポイントを公開したパブリックなGradio Spaceとして公開し、ツールをステートレスに保つことを推奨します。Spaceがインストール可能かどうかはタグではなく実行時の振る舞いに依存します。