- Buttplug MCP es un servidor MCP que integra dispositivos para adultos dentro del ecosistema Buttplug.io con programas basados en modelos de lenguaje grandes (LLM)
- Los usuarios pueden consultar información del dispositivo o controlar varias funciones como vibración, estado de batería e intensidad de señal mediante herramientas LLM como Claude Desktop
- Actualmente, la completitud funcional y la estabilidad son insuficientes, por lo que no todas las funciones operan de forma fluida y hay dificultades para controlar dispositivos reales
- Es posible hacer pruebas basadas en herramientas integrándolo con hosts MCP como Ollama y mcphost, pero algunas funciones (como exploración de recursos) están limitadas
- En comparación con otros servicios MCP, este proyecto está especializado en el control de dispositivos inteligentes mediante LLM y se ofrece gratis como código abierto
Resumen del proyecto
- buttplug-mcp es un servidor Model Context Protocol (MCP) exclusivo para el ecosistema Buttplug.io
- Permite consultar y controlar tus dispositivos Buttplug desde programas LLM con soporte de herramientas como Claude Desktop
- Comandos de ejemplo: "¿Cuáles son mis dispositivos buttplug conectados?", "Pon el segundo motor del LELO F1S al 50%", "¿Cuánta batería le queda al Lovense Max 2?", "¿La señal del WeWibe es débil?"
- Los ejemplos anteriores reflejan la dirección deseada, pero la experiencia actual realmente implementada sigue siendo inestable y decepcionante
Recursos compatibles y estructura de herramientas
- Recursos de API
/devices: lista de dispositivos Buttplug conectados (JSON)
/device/{id}: información detallada de un dispositivo individual
/device/{id}/rssi: intensidad de señal del dispositivo (RSSI)
/device/{id}/battery: nivel de batería de cada dispositivo
- Herramientas
device_vibrate: parámetros id, motor, strength (obligatorios: id, strength); opcionalmente se puede especificar el motor para controlar la vibración
Ejemplo de esquema JSON (recursos)
{
"resources": [
{
"uri": "devices",
"name": "Device List",
"description": "List of connected Buttplug devices in JSON",
"mimeType": "application/json"
}
]
}
Ejemplo de esquema JSON (herramientas)
{
"tools": [
{
"description": "Vibrates device by `id`, selecting `strength` and optional motor",
"inputSchema": {
"type": "object",
"properties": {
"id": {"description": "Device ID to query, sourced from `/devices`", "type": "number"},
"motor": {"description": "Motor number to vibrate, defaults to 0", "type": "number"},
"strength": {"description": "Strength from 0.0 to 1.0, with 0.0 being off and 1.0 being full", "type": "number"}
},
"required": ["id", "strength"]
},
"name": "device_vibrate"
}
]
}
Estado actual
- Es un proyecto experimental de corta duración que comenzó el 1 de abril de 2025 (April Fools' Day)
- La gestión de conexiones de la librería go-buttplug es inestable, así que aunque se puede consultar la lista de dispositivos, algunos controles como la vibración no funcionan bien
- Para hacer pruebas se necesita un dispositivo virtual, pero Buttplug.io solo admite dispositivos físicos
- Está en una etapa inicial en la que todavía no se han realizado suficientes pruebas end-to-end
- Más adelante se revisarán con mayor profundidad tanto los problemas de conexión de la librería go-buttplug como el estado de los hosts del protocolo MCP (como las implementaciones centradas en herramientas)
Guía de instalación
- Los binarios multiplataforma se distribuyen en GitHub Releases
- También se admite instalación mediante Homebrew:
brew tap conacademy/homebrew-tap
brew install conacademy/tap/buttplug-mcp
Uso
Integración con Ollama y mcphost
Build
- Se utiliza un sistema de build basado en task
- Herramientas de prueba útiles:
task stdio-schema | jq (verificación del esquema JSON)
npx @modelcontextprotocol/inspector node build/index.js (GUI web de MCP Inspector)
Argumentos de CLI
- Opciones principales:
-h, --help: ayuda
-l, --log-file: especifica el destino del archivo de logs
-j, --log-json: formato de logs en JSON
--sse: usar transporte SSE
--sse-host: host/puerto para conexión SSE
-v, --verbose: logs detallados
--ws-port: puerto de conexión al servidor WebSocket de Buttplug
Contribuciones y código de conducta
- Se aceptan libremente Pull Requests, forks, etc.
- Es necesario cumplir el Code of Conduct
Créditos y licencia
- Utiliza los proyectos de código abierto go-buttplug y go-mcp
- Incluye la librería de Buttplug.io para Golang y sus ejemplos, así como la librería de Golang de Model Context Protocol
- Copyright 2025 Neomantra BV, Evan Wies (ConAcademy)
- Publicado bajo la licencia MIT (para más detalles, ver LICENSE.txt)
2 comentarios
Uf... no sé si decir que esto llegó demasiado pronto para nosotros...
Comentarios de Hacker News