Upgrade to Pro — share decks privately, control downloads, hide ads and more …

MCP でモノが動くとおもしろい/It is interesting when things ...

MCP でモノが動くとおもしろい/It is interesting when things move with MCP

登壇者名:Masatoshi Tsushima
登壇したイベントタイトル:みのるんさんとMCPの"今"をキャッチアップ!試した事例と学びを語り合うLTラッシュ
登壇したイベントのURL:https://bitkey.connpass.com/event/352578/

More Decks by 株式会社ビットキー / Bitkey Inc.

Other Decks in Technology

Transcript

  1. 1 © Bitkey Inc. MCP でモノが動くとおもしろい スマートデバイス × 生成 AI

    のアプリ開発 Masatoshi Tsushima Bitkey, Inc. #mcp_lt_rush
  2. 2 © Bitkey Inc. Masatoshi Tsushima 津島 雅俊 2004 ソフトウェア開発との出会い

    Webサイトや携帯アプリを作って遊んでいました 2018秋 Bitkeyに参画 当初は主にGoでサーバサイドを開発 2019秋 ファームウェアを開発 デバイスのファームウェアの内製化や新規製品の 開発 2024夏 リプレース案件の立ち上げ 社内の各地に点在する重複機能をGo&Flutterでサ ブシステムに抽出 2022夏 Individual contributor (?) Android/iOS/Flutter、デバイスQA用アプリ、社 内仕様の標準化、Makefile職人、CIおじさん
  3. 3

  4. 8 8 © Bitkey Inc. 構成 MCP Server (自作, Dart)

    MCP Client (Copilot) MCP BLE 弊社のデバイス bitlock MINI
  5. 9 9 © Bitkey Inc. 提供ツール MCP Server MCP Client

    MCP BLE • 周囲のデバイスをスキャン • BLE でコマンドを送信
  6. 10 10 © Bitkey Inc. ツールの例:周囲のデバイスをスキャン tools/list の応答 "tools": [

    { "name": "scan-devices", "description": "周囲のBLEデバイスをスキャンします。 ", "inputSchema": { "type": "object", "properties": { "timeout": { "type": "integer", "description": "スキャンのタイムアウト(秒)。デフォルトは 5です。" } 中身はスキャン結果を雑に .toString() して返す
  7. 12 12 © Bitkey Inc. 結果(抜粋) Here are the three

    nearest devices based on their RSSI values (higher RSSI indicates closer proximity): • RSSI: -41, Type: BeaconDevice • RSSI: -43, Type: BeaconDevice • RSSI: -44, Type: BitkeyDevice, Device Type: bitlockPro2021
  8. 13 13 © Bitkey Inc. やるじゃん 1 Here are the

    three nearest devices based on their RSSI values (higher RSSI indicates closer proximity): • RSSI: -41, Type: BeaconDevice • RSSI: -43, Type: BeaconDevice • RSSI: -44, Type: BitkeyDevice, Device Type: bitlockPro2021 高い・低いのどちらが近いか書いてないのに 一般知識から補完してる
  9. 14 14 © Bitkey Inc. やるじゃん 2 Here are the

    three nearest devices based on their RSSI values (higher RSSI indicates closer proximity): • RSSI: -41, Type: BeaconDevice • RSSI: -43, Type: BeaconDevice • RSSI: -44, Type: BitkeyDevice, Device Type: bitlockPro2021 雑な toString() を要約してる
  10. 16 16 © Bitkey Inc. 結果(抜粋) Ran send-ble-command The command

    to get the firmware version from the device with XXX(アドレス) was successful. The firmware version is v1.6.7 .
  11. 17 17 © Bitkey Inc. やるじゃん Ran send-ble-command The command

    to get the firmware version from the device with XXX(アドレス) was successful. The firmware version is v1.6.7 . 数十個のコマンド仕様から探して HEX 組み立ててる MCP は HEX 返してるのに 仕様通りデコードしてる
  12. 18 18 © Bitkey Inc. その他 • 「テスト用の解錠コマンド送ってみて」 ◦ サムターン(ツマミ部分)が回る

    • 他の自社製品と組み合わせると? ◦ AI が自動ドアを開ける ◦ AI がエレベーターを呼ぶ
  13. 19 19 © Bitkey Inc. 考えられる応用例 • スマホアプリの開発・テスト ◦ 「デバイスの設定変更したからできてるか確認して」

    ◦ 「実機の応答からモックの振る舞いを書いて」 • ファームウェアの開発・テスト ◦ 「このコードをテストするコマンド送って」 ◦ 「コマンドのテストケース作って」 → 「実際に送ってみて」
  14. 21 21 © Bitkey Inc. 参考資料を読みながら操作している場所 人間: 課題ここにあり 生成 AI:

    マニュアルから手順を組み立てる MCP: 実行して結果を返す 生成 AI: 結果を解釈して報告する
  15. 22 22 © Bitkey Inc. Gateway や Proxy としての MCP

    • 社内リソースへの認証を通す Proxy ◦ Bearer, OpenID, SAML ◦ 使い込んでる SaaS, 独自の業務システム • プロトコル変換 Gateway ◦ Bluetooth, USB, MIDI, 赤外線, SPI, I2C • デバイスドライバとしての MCP ◦ 計測器, 制御装置, データロガー
  16. 24 24 © Bitkey Inc. 現実世界に干渉する生成 AI • マニュアルと MCP

    のツールを渡す ◦ バイナリデータも気軽に組み立ててくれる ◦ 生成 AI でモノが加速したり回ったりすると「おぉ!」ってなる • MCP 開発のアイディア ◦ 参考資料を読みながら操作したいものを MCP にする ◦ Gateway や Proxy としての MCP メーカーの中の人のけしからんイタズラ期待してます