世界を動かす技術を、日本語で。

バットプラグ MCP

2025年5月30日原文(github.com)

概要

buttplug-mcp は、 Buttplug.io エコシステム向けの Model Context Protocol (MCP)サーバー。 Genital Interface DevicesとLLMプログラム(例:Claude Desktop)を連携可能。 デバイスの状態取得や操作が JSON APIツール 経由で実現。 現状は 安定性に課題 があり、実運用は未検証。 インストールと利用方法、開発状況、貢献方法などを解説。

buttplug-mcpとは

  • buttplug-mcp は、 Buttplug.io 用の MCPサーバー として動作
  • LLM(例:Claude Desktop)から性関連デバイスの 状態取得・制御 を実現
  • MCPプロトコル により、ツールやリソースへのアクセスを統一
  • 現時点では 接続安定性が低く、動作も限定的
  • 主に 教育的・実験的プロジェクト として開発

主なAPIリソースとツール

  • /devices :接続中のButtplugデバイス一覧(JSON形式)

  • /device/{id} :デバイスIDごとの詳細情報

  • /device/{id}/rssi :デバイスのRSSI(信号強度)

  • /device/{id}/battery :デバイスのバッテリー残量

  • device_vibrate ツール:デバイスID・モーター番号・強度指定で振動制御

    • id :デバイスID(/devicesから取得)
    • motor :モーター番号(省略時は0)
    • strength :0.0~1.0(0.0=オフ、1.0=最大)

現状と課題

  • 2025年4月1日 に開発開始(他MCPサービスの経験を活用)
  • go-buttplugライブラリ の接続安定性に課題
  • デバイス検出は可能だが、 振動指示が反映されない 現象あり
  • テスト用の 仮想デバイス環境が未整備
  • MCPホストの実装状況や Tools/Resourcesの扱い も調査中

インストール方法

  • GitHub Actions 経由でマルチプラットフォーム向けバイナリ配布
  • Homebrew 対応(conacademy/homebrew-tap)
    • brew tap conacademy/homebrew-tap
      brew install conacademy/tap/buttplug-mcp
      
  • Intiface Central のインストール推奨(デバイス管理用)

設定・利用方法

  • Intiface Centralを起動し、 サーバーポート(デフォルト12345) を確認

  • ホストプログラム(例:Claude Desktop)の設定ファイルでbuttplug-mcpを指定

    {
      "mcpServers": {
        "buttplug": {
          "command": "/opt/homebrew/bin/buttplug-mcp",
          "args": [ "--ws-port", "12345" ]
        }
      }
    }
    
  • Claude Desktopの設定チュートリアルに従い、上記設定を適用

  • 設定後、Claudeに「接続中のbuttplugデバイスは?」など質問可能

Ollama・mcphostとの連携

  • Ollama 対応LLMでも利用可能("Tools"サポート必須)
  • mcphost (mcp-go作者作)経由でローカル推論
    • go install github.com/mark3labs/mcphost@latest
      mcphost -m ollama:llama3.3 --config mcp.json
      
  • 現状、 Resourcesの列挙や詳細取得は未対応
  • "device_vibrate"ツールコールの例
    • buttplug device_vibrate id 0 at strength 1
      

ビルド・開発

  • task コマンドでビルド
    • task
      
  • bin/buttplug-mcp にバイナリ生成
  • task stdio-schema | jq でJSONスキーマ出力確認
  • npx @modelcontextprotocol/inspector でMCP Inspector Web GUI利用可能
  • 主なCLI引数
    • --help:ヘルプ表示
    • --log-file:ログファイル指定
    • --log-json:JSONログ出力
    • --sse:SSEトランスポート利用
    • --ws-port:Buttplug Websocketサーバーポート指定
    • --verbose:詳細ログ

貢献・ライセンス

  • Pull Request歓迎、Forkも自由
  • Code of Conduct 遵守必須(礼儀と節度を重視)
  • 主要ライブラリへの謝辞
    • go-buttplug (Golang向けButtplug.ioライブラリ)
    • go-mcp (Golang向けModel Context Protocolライブラリ)
  • MITライセンス (LICENSE.txt参照)
  • 著作権: 2025 Neomantra BV、作者: Evan Wies(ConAcademy)

Hackerたちの意見

Buttplugは、セックスおもちゃやファッキングマシンなどの親密なハードウェアを制御するためのオープンソースの標準とソフトウェアプロジェクトです。 > 親密なハプティクス制御標準とライブラリは、https://buttplug.io/ から。詳しい説明はここで見られます https://buttplug-spec.docs.buttplug.io/docs/spec

これが噂の「バイブコーディング」ってやつ?

buttplug.ioのトップページから: 「私たちは、流行る前からバイブコーディングをしていました。」><

こういうプロジェクトのUATってどんな感じなんだろうね。

https://github.com/profullstack/mcp-server は雰囲気コードされたやつだね。

OPはこれについて結構考えてると思うよ。ハードウェアの仕様をしっかり掘り下げないとね。

そのおもちゃを制御するためのAPIを何度か見たことがあるけど、いつもオープンだってことに驚く。普通は、各デバイスに専用のロックされたアプリが付いてきて、誰もそれについて文句を言わないと思ってたから、そういうのは良くない印象を与えるよね。なんでそれが違うのか教えてくれる人いる?大企業が市場から離れているから、壊されることがなかったのかな?

僕の予想では、カメラストリーマーや、ストリーミングプラットフォーム用にデバイスの拡張機能を開発する能力に関係してると思う。例えば、Lovesenseは、ストリーミングサイトで「チャットで制御されるおもちゃ」の略語になったよね。

確か、これらのAPIはベンダーによって公開されてないんだ。コミュニティがリバースエンジニアリングしたものだよ。それに、玩具自体はBluetoothベースだから、ペアリングと近接だけでセキュリティは十分なんだ。

@Kwpolskaが言ってる通り、主にBluetoothプロトコルをリバースエンジニアリングしてるみたい。今、仕事のPC使ってるから、あんまりリンクは貼れないけど、Buttplugのサイトにはメッセージやプロトコルについての情報があるよ。中には結構ごちゃごちゃしてるのもあるし。Lovenseみたいな企業はAPIを公開する意向があるって言ってたけど、Githubには空のリポジトリしかないんだよね。(Lovenseはちょっと変わった会社で、台湾の一人か二人の人にしか見えない。すごく不透明だよ。)他にも怪しいところもあるし、HyttoやLush、We-Vibeみたいなブランドに対して集団訴訟があったりするよ。0: https://www.courthousenews.com/judge-forwards-class-action-s... 1: https://topclassactions.com/lawsuit-settlements/lawsuit-news...

私は英語圏の人間じゃないから、家の中の電子機器を何て呼ぶのか分からないけど、典型的なデンマークの家庭で特にしっかりロックされてるものはほとんどないよ。コンピュータが入ってるものは、電子レンジでも電動歯ブラシでもルーターでも、結構簡単に「ハック」できちゃうんだ。セックスおもちゃが特別なのは、ハッキングにどれだけの労力をかけるかってことだと思う。推測だけど、セックスおもちゃをハックしたいって思う人は、電子レンジをハックしたい人よりもずっと多いんじゃないかな。この投稿を見るまでは、e-bikeコミュニティが電子機器をいじる「ハッカー」コミュニティの中で一番大きいと思ってたけど、セックスおもちゃのハッカーにはかなわないだろうね。とにかく、ヨーロッパではe-bikeのコンピュータに関するハックがたくさんあるよ。多くの人が速度制限のソフトウェア制約を増やしたいと思ってるからなんだ。これは違法だし、特にデンマークの大きな都市では捕まる可能性も高いよ。でも、多くの人が統計のためにやってるんだ。私のe-bikeのコンピュータは、500kmごとに「現在の」走行距離をリセットして、別の場所に合計を保存するんだ(これは修理に出すたびにリセットされる)。標準の画面には時計のオプションもなかったし。ハッキングした主な理由は表示に時計を出したかったからだけど、今は走行距離のバックアップも取ってるし、楽しみのためにいくつかの追加統計もあるよ。店に持っていくときは、工場出荷時の設定に戻すか、何て呼ぶか分からないけど、再フラッシュするんだ。私は決してデバイスハッカーではないけど、自分のブランドを検索して必要なツールを見つけるのはそんなに難しくなかったよ。とにかく、私たちの日常のデバイスにはあまり「セキュリティ」がないと思う。多分、私はヨーロッパ人だから、NSAにGoogleカメラを通して見られたくない人が多いと思うし、だから大手テック企業のブランドのものは買わないんだろうけど、Boschみたいな大手ブランドのものでもかなりハックできるよ。繰り返しになるけど、私はデバイスハッカーではないけど、ハードウェアさえあれば、何でも結構ハックできるんじゃないかな。

そのおもちゃを操作するためのAPIを何度か見たことがあるけど、いつも驚くのは結構オープンだってこと。実際はそうでもないけどね。業界の人たちはお客さんを喜ばせるために、すごく頑張ってるから。

Hacker Newsで議論の続きを見る