概要
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)