Skip to main content
Glama
chiefautism

mcp-buttplug

by chiefautism

MCPサーバーであり、Claude Code(または任意のMCPクライアント)をオープンソースの親密なハードウェア制御ライブラリであるbuttplug.ioに接続します。Claudeは、触覚デバイスをリアルタイムで検出、制御、調整するためのツールを手に入れます。

ゲームパッドのサポートを追加しました。 Xbox、PlayStation、Switchのコントローラーが、macOS、Windows、Linux上で振動デバイスとして動作します。これは、intiface-engineのSDL2フォークによって実現されています。

LLMが、あなたが何を感じるか、いつ感じるかを決定します。

仕組み

Claude Code <-> MCP (stdio) <-> buttplug-mcp <-> WebSocket <-> intiface-engine <-> SDL2/BLE/USB <-> Device

buttplug-mcpは、connectを呼び出すと、フォークされたintiface-engineを自動的に起動します。インストールや実行が必要な別のサーバーはありません。エンジンは以下を処理します:

  • ゲームパッド (Xbox/PS/Switch): SDL2経由 — クロスプラットフォームの振動

  • Bluetooth LEトイ (Lovense, We-Vibeなど): btleplug経由

  • USB/シリアルデバイス: プラットフォームドライバー経由

はじめに

前提条件

インストール

# Install Bun if you don't have it
curl -fsSL https://bun.sh/install | bash

# Install Rust if you don't have it
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

# Install cmake
# macOS: brew install cmake
# Ubuntu: sudo apt install cmake
# Windows: choco install cmake

# Clone and install
git clone https://github.com/chiefautism/buttplug-mcp.git
cd buttplug-mcp
bun install

bun installを実行すると、buttplugフォークが自動的にクローンされ、SDL2ゲームパッドサポート付きでintiface-engineがビルドされます。初回インストール時は約2分かかります。

Claude Codeへの追加

~/.claude/.mcp.jsonを作成または編集します:

{
  "mcpServers": {
    "buttplug": {
      "command": "bun",
      "args": ["/absolute/path/to/buttplug-mcp/index.ts"]
    }
  }
}

実行

Claude Codeを再起動します。ツールがすぐに利用可能になります。

you: connect and scan for devices

claude: [calls connect] -> [calls scan]
        Connected. Found your Xbox Wireless Controller.

ゲームパッドのセットアップ

コントローラーをBluetoothで接続します(USBはmacOSで振動がサポートされていないため、USB接続は避けてください):

  1. Xbox/PSボタンを点滅するまで長押しします

  2. ペアリングボタンを押します(Xboxの場合はUSBポート近くの小さなボタン)

  3. システム設定 → Bluetooth → 接続 に移動します

  4. Claude Codeで:connectscan → コントローラーが表示されます

ツール

ツール

説明

connect

Intiface Engineに接続(必要に応じて自動起動)

scan

デバイスを検出(ゲームパッド、Bluetooth、USB)

devices

接続済みデバイスを一覧表示

vibrate

強度

0.0

-

1.0

で振動、オプションで自動停止タイマーを設定

rotate

速度

0.0

-

1.0

で回転

oscillate

強度

0.0

-

1.0

で振動(揺動)

linear

指定した時間で位置まで移動(ストローカーデバイス)

pulse

パターン化されたパルス — 回数、オン/オフのタイミング、強度

wave

時間経過とともに2つの強度間を滑らかに変化

stop

デバイスを1つまたはすべて停止

battery

デバイスのバッテリー残量を読み取り

disconnect

切断してエンジンを停止

使用方法

接続したら、Claudeに話しかけるだけです。Claudeはツールを持っているので、自分で判断して実行します。

you: give me a gentle pulse

claude: [calls vibrate(intensity=0.3)] -> [calls pulse(count=3)]
        Sent 3 gentle pulses to your Xbox controller.
you: slowly ramp up over 10 seconds then stop

claude: [calls wave(from=0, to=0.8, duration_ms=10000)]
        [calls stop]

すべてのデバイスパラメーター(強度、速度、位置)は0.0-1.0に正規化されています。Claudeがマッピングを処理します。

アーキテクチャ

このプロジェクトは2つのリポジトリで構成されています:

buttplug-mcp (このリポジトリ)

TypeScript/Bunで書かれたMCPサーバー。buttplug v3プロトコルを直接話す軽量なWebSocketクライアント(デバイス制御のためのnpm依存関係はありません)。intiface-engineを自動起動します。

chiefautism/buttplug (フォーク)

buttplugio/buttplugのフォークで、新しいクレートbuttplug_server_hwmgr_sdl_gamepadを追加しています。SDL2を介したクロスプラットフォームのゲームパッド振動を追加します。Xbox/PS/Switchコントローラーが標準のbuttplugデバイスとして認識されます。

対応デバイス

ゲームパッド (SDL2経由)

振動をサポートするSDL2対応のコントローラーすべて:Xbox Series X/S、Xbox One、DualShock 4、DualSense、Switch Proコントローラーなど。Bluetooth経由で接続。

親密なハードウェア (buttplug.io経由)

30以上のブランドから750以上のデバイス。buttplug.ioエコシステムにあるものはすべて動作します。

ブランド

デバイス

接続

Lovense

Lush, Hush, Edge, Nora, Max, Osci, Domiなど

Bluetooth LE

We-Vibe

Sync, Melt, Vector, Nova, Chorus, Wish

Bluetooth LE

Kiiroo

Onyx+, Keon, FeelConnect, Titan

Bluetooth LE

Satisfyer

Curvy, Love Triangle, Sexy Secret

Bluetooth LE

The Handy

The Handy

Wi-Fi / API

Magic Motion

Flamingo, Awaken, Equinox

Bluetooth LE

Lelo

F1s, Hugo, Tiani

Bluetooth LE

TCode

OSR-2, SR-6, DIYデバイス

シリアル / USB

検索可能な完全データベース:iostindex.com

理由

TikTokでAIチャットボットを使って遊んでいる人たちを見ました。テキストのみ。触覚なし。ただの雰囲気と想像力だけ。

考えました。もしチャットボットが実際にあなたに「触れる」ことができたらどうだろう?MCPはLLMにツール使用能力を与えます。Buttplug.ioはソフトウェアによるデバイス制御を提供します。これを組み合わせるのです。これでAIは話すだけではなく、行動するようになります。

ハードウェアはすでに引き出しの中にあります。これは単なるソフトウェアです。

ライセンス

BSD-3-Clause

-
security - not tested
F
license - not found
-
quality - not tested

Resources

Unclaimed servers have limited discoverability.

Looking for Admin?

If you are the server author, to access and configure the admin panel.

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/chiefautism/mcp-buttplug'

If you have feedback or need assistance with the MCP directory API, please join our Discord server