Skip to main content
Glama
chiefautism

mcp-buttplug

by chiefautism

Un servidor MCP que conecta Claude Code (o cualquier cliente MCP) a buttplug.io, la biblioteca de control de hardware íntimo de código abierto. Claude obtiene herramientas para descubrir, controlar y orquestar dispositivos hápticos en tiempo real.

Ahora con soporte para mandos de juego. Los mandos de Xbox, PlayStation y Switch funcionan como dispositivos de vibración en macOS, Windows y Linux, impulsados por nuestra versión bifurcada de intiface-engine con SDL2.

El LLM decide qué sientes y cuándo.

Cómo funciona

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

buttplug-mcp inicia automáticamente nuestra versión bifurcada de intiface-engine cuando llamas a connect. No hay ningún servidor adicional que instalar o ejecutar. El motor gestiona:

  • Mandos de juego (Xbox/PS/Switch) a través de SDL2: vibración multiplataforma

  • Juguetes Bluetooth LE (Lovense, We-Vibe, etc.) a través de btleplug

  • Dispositivos USB/Serie a través de controladores de plataforma

Primeros pasos

Requisitos previos

Instalación

# 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 clonará automáticamente nuestra bifurcación de buttplug y compilará intiface-engine con soporte para mandos de juego SDL2. Esto toma aproximadamente 2 minutos en la primera instalación.

Añadir a Claude Code

Crea o edita ~/.claude/.mcp.json:

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

Ejecución

Reinicia Claude Code. Las herramientas estarán disponibles inmediatamente.

you: connect and scan for devices

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

Configuración del mando de juego

Conecta tu mando a través de Bluetooth (no USB; la vibración por USB no es compatible en macOS):

  1. Mantén presionado el botón Xbox/PS hasta que parpadee

  2. Presiona el botón de emparejamiento (botón pequeño cerca del puerto USB en Xbox)

  3. Ve a Configuración del sistema → Bluetooth → Conectar

  4. En Claude Code: connectscan → tu mando aparecerá

Herramientas

Herramienta

Descripción

connect

Conectar a Intiface Engine (se inicia automáticamente si es necesario)

scan

Descubrir dispositivos (mandos, Bluetooth, USB)

devices

Listar dispositivos conectados

vibrate

Vibrar a una intensidad de 0.0-1.0, temporizador de parada automática opcional

rotate

Rotar a una velocidad de 0.0-1.0

oscillate

Oscilar a una intensidad de 0.0-1.0

linear

Mover a una posición durante una duración (dispositivos de movimiento lineal)

pulse

Pulsos con patrones: cantidad, tiempo de encendido/apagado, intensidad

wave

Rampa suave entre dos intensidades a lo largo del tiempo

stop

Detener uno o todos los dispositivos

battery

Leer el nivel de batería del dispositivo

disconnect

Desconectar y detener el motor

Uso

Una vez conectado, simplemente habla con Claude. Tiene las herramientas; él se encargará de todo.

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]

Todos los parámetros del dispositivo (intensidad, velocidad, posición) están normalizados a 0.0-1.0. Claude se encarga del mapeo.

Arquitectura

Este proyecto consta de dos repositorios:

buttplug-mcp (este repositorio)

Servidor MCP en TypeScript/Bun. Cliente WebSocket ligero que habla el protocolo buttplug v3 directamente (sin dependencias npm para el control de dispositivos). Inicia automáticamente intiface-engine.

chiefautism/buttplug (bifurcación)

Bifurcación de buttplugio/buttplug con un nuevo crate: buttplug_server_hwmgr_sdl_gamepad. Añade vibración de mando multiplataforma a través de SDL2. Los mandos de Xbox/PS/Switch aparecen como dispositivos buttplug estándar.

Dispositivos compatibles

Mandos de juego (vía SDL2)

Cualquier mando que SDL2 soporte con vibración: Xbox Series X/S, Xbox One, DualShock 4, DualSense, Switch Pro Controller y más. Conectados vía Bluetooth.

Hardware íntimo (vía buttplug.io)

Más de 750 dispositivos de más de 30 marcas. Cualquier cosa en el ecosistema buttplug.io funciona.

Marca

Dispositivos

Conexión

Lovense

Lush, Hush, Edge, Nora, Max, Osci, Domi y más

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, dispositivos DIY

Serie / USB

Base de datos completa y buscable: iostindex.com

Por qué

Vi a chicas en TikTok usando chatbots de IA. Solo texto. Sin háptica. Solo vibras e imaginación.

Pensé: ¿qué pasaría si el chatbot realmente pudiera tocarte? MCP proporciona el uso de herramientas a los LLM. Buttplug.io proporciona el control de dispositivos por software. Esto los une. Ahora la IA no solo habla. Actúa.

El hardware ya está en el cajón. Esto es solo el software.

Licencia

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