Categories: PR

声でMCPを操作、Claude CodeとSlack連携で作る在庫管理デバイス【SenseCAP Watcher for XiaoZhi】

ライターとして働く毎日、アイデア出しから構成案、コード生成まで、気づけばAIなしでは仕事が回らなくなっている。便利だが、便利すぎて「自分よりAIの方が速くないか?」という感覚も忍び込んでくる。

今後ボトルネックになるのは、タイピングをしている時間かもしれない。声で話しかけるだけで作業が進むなら、さらなる効率化ができるはずだ。指から口へ。その転換を試してみたくなった。

その相棒に選んだのが、手のひらサイズの物理AIデバイス「SenseCAP Watcher for XiaoZhi」だ。自作のMCP(Model Context Protocol)と連携させて、買い物リストを声で伝えてSlackに投稿する、簡易在庫管理ツールを作ってみた。なお、MCP連携にはPythonを動かすPCの常時起動が必要になる。

「タコがなくなった」「ネギを買った」と喋るだけで、Slackの買い物リストが更新される。技術に疎い家族でも、冷蔵庫に向かって一言喋るだけでいい。日常使いできる、身近な対話型AIエージェントだ。

SenseCAP Watcherとは?

「SenseCAP Watcher for XiaoZhi」販売ページより引用

今回用いた「SenseCAP Watcher」は、Seeed Studioが開発した小型の物理AIデバイスだ。カメラ・マイク・スピーカー・丸型ディスプレイを搭載しており、AIとの音声会話や外部ツール連携を手軽に試せる。価格は店舗によって若干の変動はあるが、記事初出時点では1万500円前後。

サイズは手のひらに収まるほどコンパクトで、丸い液晶も印象的だ。小さなロボットがこちらをじっと見つめているような、不思議な「生き物感」がある。デスクや冷蔵庫に置いても威圧感がなく、生活空間に入り込めるデバイスだ。

三脚やスタンドとのコネクタも同梱されている。「SenseCAP Watcher W1-A」販売ページより引用


ここで一点、購入前に知っておきたいポイントがある。「SenseCAP Watcher」という名前で、用途の異なる2つのモデルが販売されていることだ。

SenseCAP Watcher for XiaoZhiSenseCAP Watcher W1-A / W1-B
特徴音声会話・MCP連携をすぐ試せる物体検出やハード面の拡張が容易
向いている人MCPを手軽に試したいセンサーやカメラ活用を深掘りしたい

ハードウェア構成は近いものの、中身のソフトウェア思想はかなり異なる。購入後に中身を書き換えることもできないため、あらかじめ「何をやりたいか」を決めておく必要がある。

今回使用する「XiaoZhi版」は、中国発のオープンソースAIアシスタント「XiaoZhi(小智)」をベースにしており、ESP32系デバイス向けの音声AIエージェント環境があらかじめ組み込まれている。セットアップを済ませれば、すぐに会話やMCP連携を試せるのが特徴だ。

「MCPをとりあえず触ってみたい」という人には、こちらが入門としてちょうどいい。一方、カメラによる物体認識やセンサー統合など、現実世界を認識・制御するAIを作り込みたいなら、もう一方のバージョンを選ぶ方が適しているだろう。

6種のAIエージェントと多言語でおしゃべり

内容物はこちら。取り付け用の治具が同梱されているのが嬉しい。

セットアップはとても簡単だ。Seeed公式のクイックスタートガイドに従って、以下の手順で進めるだけでいい。

  • 本体にUSB-Cで給電して起動
  • PCやスマートフォンから接続し、Wi-Fiを設定
  • ブラウザで「SenseCraft」にアクセス
  • 本体に表示された認証コードでデバイスを紐付け
ネットワーク接続や詳細設定はPCやスマートフォン経由で行う。

初期設定の時点から、画面表示だけでなく音声でもよく喋るので、本製品が「対話」を軸に据えていることがよくわかる。かつてのAIアシスタントのような不自然さや間は少なく、AIの進化も感じられた。

細かな設定や管理は、Seeed製品のAI開発プラットフォーム「SenseCraft(Web版)」から行う。アカウントを持っていない人は事前に準備しておこう。公式のWikiでは簡易的なガイドも用意されている。

アシスタントの役割を設定する画面。


初期状態では中国語で話すエージェントが設定されているが、対話言語やキャラクターボイスは自由に変更できる。さらに面白いのが、話者の「役割」を切り替えられる点だ。

選べるのは倉庫業務向けの「在庫管理者」、物語やエモーショナルな情報を語る「StoryTeller」など6種類。台湾出身の女の子という設定の「小智」に切り替えると、「ウチの彼氏がさぁ……」と急に距離の近い雑談が始まり不意を突かれた。

日本語表記+小智に設定。音声は問題ないが、テキストはところどころ文字化けする。
メモリに思考の裏側が記載されている。


さらに、会話履歴はSenseCraft上にチャット形式で保存され、AIが保持している記憶(メモリ)もテキストで確認できる。「利用者は技術系の話題に興味があり、ユーモアを交えた会話をする傾向がある」といったAI側の思考を覗く感覚は、なかなか新鮮だった。

XiaoZhiコミュニティの知見が結集。MCPとの連携

さて、SenseCAP Watcher for XiaoZhiの設定画面には「MCP設定」の欄がある。MCP(Model Context Protocol)とは、AIが外部のツールやサービスを呼び出すための共通規格だ。2024年にAnthropicが提唱したプロトコルで、AIが会話の流れに応じて自動で連携するため、サービスごとに個別実装する負担を減らせるものだ。

天気予報や音楽再生などの機能がデフォルトで利用できる。

基本設定では、天気予報・音楽の再生・ナレッジベースを動かすオフィシャルのMCPとあらかじめ連携しており、エージェントとの会話の中で音楽再生や天気予報が実行できた。

さらに、デバイスごとに定義された「MCPエンドポイント」を活用すれば、Seeed公式以外のMCPとの連携も可能になる。他のユーザーが制作したものでも、自分で立ち上げたものでも利用できる。オープンソースとして発展してきたXiaoZhiコミュニティの強みと言えるだろう。

公式Wikiに記載されたMCPエンドポイントのマニュアルの手順に従い、MCP連携を試してみよう。

  • SenseCraftのWatcher Agent設定からMCPエンドポイントアドレスを取得する
  • サンプルコードをGitHubからクローンする
  • 環境変数を定義する(macOSの場合はexport MCP_ENDPOINT=に取得したアドレスを記載)
  • Pythonプログラムを実行する
SenseCraftでMCPエンドポイントアドレスを確認し、自分のローカル環境に登録する。必要に応じて仮想環境を立てる。
PythonでMCP_pipe.pyとcalculator.pyを実行すると、接続ステータスが「接続済み」に変更された。

ガイドの通りに設定を済ませ、PCでPythonを走らせてMCPサーバーを立ち上げる。サンプルは計算処理を行う内容なので、SenseCAP Watcher for XiaoZhiに計算を依頼すると、正しい結果を返してくれた。

MCPを立ち上げた状態でデバイスに話しかけると、計算結果を返してくれた。
ブラウザから会話履歴を辿ると、内部処理もわかる。多少の誤認識はうまく処理してくれているようだ。

会話履歴を見ると、MCP経由でツールが呼び出され、数字や四則記号が変数として渡されていることがわかる。デバイス単体の機能を超えて、より高度なツールとしての可能性を感じさせる内容だと実感できた。

なお、技術的にはGitHubの78/mcp-calculatorリポジトリにあるmcp_pipe.pyがキーとなる。通常のMCPはstdio(標準入出力)、つまりターミナル上でのテキストのやり取りで通信するが、XiaoZhiはWebSocket、つまりネットワーク越しのリアルタイム通信で喋る。このプロトコルの違いを橋渡しするのがmcp_pipe.pyの役割だ。

Claude CodeでMCPを作ってみる

筆者にとって初めてのClaude Code。ターミナルにタコのような生き物が現れた。

せっかくなので、自分でもMCPを作ってみよう。筆者はAI初心者なのだが、巷でよく目にする「Claude Code」なるものを活用してみたい。Claudeアカウントを開設し、ターミナルから立ち上げると可愛らしいキャラクターが登場。タコのように見えたので、タコを買い忘れないための買い物リストツールを作ることにした。

SenseCAP Watcherの小型さを生かして冷蔵庫に固定し、食材がなくなったら語りかけ、メモをSlackに飛ばしてくれる仕組みを目指す。

実装のイメージ図。

Slack Appの設定

まずはSlack Appを用意する。Slack API管理画面から新規アプリを作成し、Incoming Webhookを有効化してWebhook URLを取得する。詳細な手順は公式ドキュメントも参照してほしい。流れは以下の通りだ。

  • Slack Appを新規作成する
  • Bot Userを設定する
  • Webhookを有効化する
  • ワークスペースにインストールする
  • Webhook URLを取得する

ポイントは、この順番を崩さないことだ。Bot Nameの設定を忘れたままインストールしようとするとエラーになる。筆者は一度ハマったので、先に済ませておくことをおすすめする。

自分のワークスペースにチャンネルを立ち上げ、アプリからのアクセスを許可する。
ここで表示される「Webhook URL」を控えておく。

Claude CodeにMCP制作を依頼

次に、Claude CodeにMCPサーバーの制作を依頼する。まずClaude(Web版)に「どんなプロンプトを書けばいいか」を相談し、返ってきた内容をそのままClaude Codeに打ち込んだ。

~/mcp-fridge に、Slack Incoming Webhookを使った
買い物リストMCPサーバーを作って。

背景:
SenseCAP Watcher for XiaoZhiというIoTデバイスから
MCP経由でこのサーバーを呼び出す。
XiaoZhiはWebSocketで通信するため、stdioとの橋渡しに
mcp_pipe.py(https://github.com/78/mcp-calculator に収録)を使う。
~/mcp-calculator/mcp_pipe.py をコピーして使えるようにしてほしい。

機能:
- add_to_shopping_list(item):アイテムをSlackに投稿して記録
- show_shopping_list():現在のリストを返す
- remove_from_shopping_list(item):リストから削除してSlackに通知

技術要件:
- Slack Webhook URLは環境変数 SLACK_WEBHOOK_URL から読み込む
- リストはPythonの変数で管理
- FastMCPで作る

仕様の細部は正直よくわからない部分もあるのだが、Claude Codeが進めるがままにEnterキーを押し続けていたら、ものの数分で完成してしまった。細かい仕様を把握していなくても全部進めてくれる。AIエージェントの力をひしひしと感じた瞬間だった。

ここまで一気に完成。筆者は仕様を考えて相談しただけである。

その後、指示に従いPython3の仮想環境を立ち上げ、テキストエディタでSlackのWebhook URLとデバイスのMCPエンドポイントを更新する。Pythonプログラムを走らせると、デバイス側のエンドポイントが「接続済み」になった。これで準備は完了だ。

自作のMCPを立ち上げ、Watcher側のエンドポイントも接続済みとなった。

話しかけたらリストを更新。AIで動くパートナーができた

付属のスタンドを使ってSenseCAP Watcherを冷蔵庫に貼り付け、早速語りかけてみた。「冷蔵庫にタコがなくなりました」と伝えると、「タコがなくなりましたか!」と驚いた後、買い物リストに追加し、その内容をSlackに通知してくれた。

会話の履歴(左)と、botがSlackにリストを更新したところ(右)

会話の履歴を見ると、自作MCPの関数がしっかりと呼び出され、変数として処理されていることがわかる。

会話の内容に応じてリストを自動で処理してくれる。
割と適当にしゃべっても、しっかり反応を返してくれる。

タコを買ったあとは、その旨を伝えるとリストから削除してもらえた。他の食材の追加や、購入後の整理も問題なく動いた。これで、声だけで在庫を管理できる仕組みの完成だ。

より高度なスプレッドシートやデータベースと連携すれば、家庭の在庫管理だけでなく、小規模な店舗や工場の棚管理にも応用できるだろう。

まとめ

SenseCAP Watcher for XiaoZhiを使って、AIエージェントとの会話から、MCPを活用した実用ツールの開発まで試してみた。ただ喋りかけるだけでも十分に楽しいが、このデバイスの本当の面白さは、XiaoZhiコミュニティの知見を活用しながら、自分だけのエージェントを育てていける点にある。

今回はClaude Codeも併用したことで、コード経験が浅い筆者でも、MCPサーバーの構築やSlack連携までたどり着けた。ハードウェアにはカメラやGroveコネクタも搭載されており、公式では画像認識やセンサー連携を活用した事例も紹介されている。ただし、それらを本格的に扱うにはファームウェア更新なども必要になるため、ややハードルは高そうだ。必要に応じて、SenseCAP Watcher W1-A / W1-Bとの使い分けを検討しよう。

今回使用したXiaoZhi版は、「MCPをとりあえず触ってみたい」「AIエージェントを生活空間へ置いてみたい」という用途にはうってつけだ。冷蔵庫に貼り付け、声で買い物リストを管理するだけでも、新しい技術が生活に溶け込む気分が味わえるだろう。

本記事はSponsored記事です。
提供:Seeed Studio / Seeed 株式会社

淺野義弘

ライター/編集者。大学で3Dプリンターと出会いものづくりの面白さに目覚め、デジタルファブリケーションの世界へ。卒業後、研究員として2年半ほど従事したのち、ものづくりを中心としたライターとして独立。 2023年には墨田区でファブ施設「京島共同凸工所」の運営をスタート。文章と場づくりを行き来しながら、街での生活を満喫している。工房での日々を綴った自主制作本「京島の十月」が販売中。