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/シリアルデバイス: プラットフォームドライバー経由

Related MCP server: jlbloomer-mcp-server

はじめに

前提条件

インストール

# 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で:connect → scan → コントローラーが表示されます

ツール

ツール

説明

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

Related MCP Connectors

Related MCP Servers

  • A
    license
    Not graded
    quality
    D
    maintenance
    A flexible server that enables communication between AI models and tools, supporting multiple MCP servers and compatible with Claude, MCP Dockmaster, and other MCP clients.
    42 npm
    1
    MIT
  • A
    license
    B
    quality
    D
    maintenance
    A personal MCP server for AI assistant integration that provides custom tools, resources, and prompts for use with Claude Desktop and other MCP-compatible clients.
    2
    MIT
  • F
    license
    Not graded
    quality
    D
    maintenance
    An MCP server that enables Claude Desktop to interact with Discord through a dedicated bot. It allows users to list channels, read message history, and send messages directly from the AI interface.
    2
    -
  • A
    license
    Not graded
    quality
    F
    maintenance
    An MCP server that lets Claude control a Minecraft bot with 40+ actions including movement, combat, crafting, and inventory management. Built on Mineflayer, it supports Microsoft authentication, pathfinding, and auto-reconnect.
    3
    MIT