×
Copy
Open
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Slide 1
Slide 1 text
1 © Bitkey Inc. MCP でモノが動くとおもしろい スマートデバイス × 生成 AI のアプリ開発 Masatoshi Tsushima Bitkey, Inc. #mcp_lt_rush
Slide 2
Slide 2 text
2 © Bitkey Inc. Masatoshi Tsushima 津島 雅俊 2004 ソフトウェア開発との出会い Webサイトや携帯アプリを作って遊んでいました 2018秋 Bitkeyに参画 当初は主にGoでサーバサイドを開発 2019秋 ファームウェアを開発 デバイスのファームウェアの内製化や新規製品の 開発 2024夏 リプレース案件の立ち上げ 社内の各地に点在する重複機能をGo&Flutterでサ ブシステムに抽出 2022夏 Individual contributor (?) Android/iOS/Flutter、デバイスQA用アプリ、社 内仕様の標準化、Makefile職人、CIおじさん
Slide 3
Slide 3 text
3
Slide 4
Slide 4 text
4 ソフトウェアの領域を超えて リアルとデジタルの「分断」を解消する 「分断」は、リアルでもデジタル上でも存在します。だからこそ、 私たちはソフトウェアの領域にはとまりません。ハードウェアも同 時に開発‧共創することで、デジタルで解決されていないリアルの 体験も含めて、シームレスな体験を実現します。
Slide 5
Slide 5 text
5 © Bitkey Inc. Copilot が鍵を開けた (物理)
Slide 6
Slide 6 text
6 6 © Bitkey Inc. 2025/04/04 GitHub Copilot に MCP
Slide 7
Slide 7 text
7 7 © Bitkey Inc. 会社のアカウントでも使えるようになったし なんかやってみるか
Slide 8
Slide 8 text
8 8 © Bitkey Inc. 構成 MCP Server (自作, Dart) MCP Client (Copilot) MCP BLE 弊社のデバイス bitlock MINI
Slide 9
Slide 9 text
9 9 © Bitkey Inc. 提供ツール MCP Server MCP Client MCP BLE ● 周囲のデバイスをスキャン ● BLE でコマンドを送信
Slide 10
Slide 10 text
10 10 © Bitkey Inc. ツールの例:周囲のデバイスをスキャン tools/list の応答 "tools": [ { "name": "scan-devices", "description": "周囲のBLEデバイスをスキャンします。 ", "inputSchema": { "type": "object", "properties": { "timeout": { "type": "integer", "description": "スキャンのタイムアウト(秒)。デフォルトは 5です。" } 中身はスキャン結果を雑に .toString() して返す
Slide 11
Slide 11 text
11 11 © Bitkey Inc. 使ってみる #scan-devices を使って 電波強度で最も近い3台のデバイスを見つけて
Slide 12
Slide 12 text
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
Slide 13
Slide 13 text
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 高い・低いのどちらが近いか書いてないのに 一般知識から補完してる
Slide 14
Slide 14 text
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() を要約してる
Slide 15
Slide 15 text
15 15 © Bitkey Inc. マニュアルと組み合わせてみる #send-ble-command で XXX(アドレス) のファームウェアのバージョン取って (コンテキスト: コマンド仕様.md)
Slide 16
Slide 16 text
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 .
Slide 17
Slide 17 text
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 返してるのに 仕様通りデコードしてる
Slide 18
Slide 18 text
18 18 © Bitkey Inc. その他 ● 「テスト用の解錠コマンド送ってみて」 ○ サムターン(ツマミ部分)が回る ● 他の自社製品と組み合わせると? ○ AI が自動ドアを開ける ○ AI がエレベーターを呼ぶ
Slide 19
Slide 19 text
19 19 © Bitkey Inc. 考えられる応用例 ● スマホアプリの開発・テスト ○ 「デバイスの設定変更したからできてるか確認して」 ○ 「実機の応答からモックの振る舞いを書いて」 ● ファームウェアの開発・テスト ○ 「このコードをテストするコマンド送って」 ○ 「コマンドのテストケース作って」 → 「実際に送ってみて」
Slide 20
Slide 20 text
20 © Bitkey Inc. MCP サーバー開発のアイディア どこを MCP にすると旨そう?
Slide 21
Slide 21 text
21 21 © Bitkey Inc. 参考資料を読みながら操作している場所 人間: 課題ここにあり 生成 AI: マニュアルから手順を組み立てる MCP: 実行して結果を返す 生成 AI: 結果を解釈して報告する
Slide 22
Slide 22 text
22 22 © Bitkey Inc. Gateway や Proxy としての MCP ● 社内リソースへの認証を通す Proxy ○ Bearer, OpenID, SAML ○ 使い込んでる SaaS, 独自の業務システム ● プロトコル変換 Gateway ○ Bluetooth, USB, MIDI, 赤外線, SPI, I2C ● デバイスドライバとしての MCP ○ 計測器, 制御装置, データロガー
Slide 23
Slide 23 text
23 © Bitkey Inc. まとめ
Slide 24
Slide 24 text
24 24 © Bitkey Inc. 現実世界に干渉する生成 AI ● マニュアルと MCP のツールを渡す ○ バイナリデータも気軽に組み立ててくれる ○ 生成 AI でモノが加速したり回ったりすると「おぉ!」ってなる ● MCP 開発のアイディア ○ 参考資料を読みながら操作したいものを MCP にする ○ Gateway や Proxy としての MCP メーカーの中の人のけしからんイタズラ期待してます