- Buttplug MCP adalah server MCP yang menghubungkan perangkat dewasa dalam ekosistem Buttplug.io dengan program berbasis large language model (LLM)
- Pengguna dapat memakai tool LLM seperti Claude Desktop untuk melihat informasi perangkat atau mengontrol berbagai fungsi seperti getaran, status baterai, dan kekuatan sinyal
- Saat ini kelengkapan fitur dan stabilitasnya masih kurang, sehingga keseluruhan fungsi belum berjalan mulus dan kontrol perangkat nyata masih mengalami kesulitan
- Bisa diuji secara berbasis tool dengan terhubung ke host MCP seperti Ollama, mcphost, tetapi beberapa fungsi (seperti penelusuran resource) masih terbatas
- Dibandingkan layanan MCP lain, proyek ini berfokus pada kontrol perangkat pintar berbasis LLM dan tersedia gratis sebagai open source
Gambaran proyek
- buttplug-mcp adalah server Model Context Protocol (MCP) yang khusus untuk ekosistem Buttplug.io
- Pada program LLM yang mendukung tool seperti Claude Desktop, pengguna dapat menanyakan dan mengontrol perangkat Buttplug miliknya
- Contoh perintah: "Apa saja perangkat buttplug saya yang terhubung?", "Atur motor kedua LELO F1S ke 50%", "Berapa sisa baterai Lovense Max 2?", "Apakah sinyal WeWibe lemah?"
- Contoh di atas mendekati arah tujuan proyek, tetapi pengalaman aktual pada implementasi saat ini masih tidak stabil dan mengecewakan
Struktur resource dan tool yang didukung
- Resource API
/devices: daftar perangkat Buttplug yang terhubung (JSON)
/device/{id}: informasi detail masing-masing perangkat
/device/{id}/rssi: kekuatan sinyal perangkat (RSSI)
/device/{id}/battery: sisa baterai tiap perangkat
- Tool
device_vibrate: parameter id, motor, strength (wajib: id, strength), dengan opsi memilih motor untuk mengontrol getaran
Contoh skema JSON (resource)
{
"resources": [
{
"uri": "devices",
"name": "Device List",
"description": "List of connected Buttplug devices in JSON",
"mimeType": "application/json"
}
]
}
Contoh skema JSON (tool)
{
"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"
}
]
}
Status saat ini
- Ini adalah proyek eksperimen jangka pendek yang dimulai pada 1 April 2025 (April Mop)
- Manajemen koneksi pada library go-buttplug tidak stabil, sehingga kueri daftar perangkat bisa dilakukan tetapi sebagian kontrol seperti fungsi getar belum berjalan lancar
- Untuk pengujian dibutuhkan perangkat virtual, tetapi Buttplug.io hanya mendukung perangkat fisik
- Masih berada pada tahap awal dan pengujian end-to-end belum dilakukan secara memadai
- Ke depan, proyek ini akan meninjau lebih lanjut masalah koneksi pada library go-buttplug dan status host protokol MCP (seperti implementasi yang berpusat pada tool)
Panduan instalasi
- File biner untuk berbagai platform didistribusikan melalui GitHub Releases
- Instalasi lewat Homebrew juga didukung:
brew tap conacademy/homebrew-tap
brew install conacademy/tap/buttplug-mcp
Cara penggunaan
Integrasi dengan Ollama dan mcphost
Build
- Menggunakan sistem build berbasis task
- Tool pengujian yang berguna:
task stdio-schema | jq (memeriksa skema JSON)
npx @modelcontextprotocol/inspector node build/index.js (GUI web MCP Inspector)
Argumen CLI
- Opsi utama:
-h, --help: bantuan
-l, --log-file: menentukan tujuan file log
-j, --log-json: format log JSON
--sse: memakai transport SSE
--sse-host: host/port untuk koneksi SSE
-v, --verbose: log detail
--ws-port: port koneksi ke server Websocket Buttplug
Kontribusi dan code of conduct
- Pull Request, fork, dan kontribusi lain dipersilakan
- Wajib mematuhi Code of Conduct
Kredit dan lisensi
- Memanfaatkan proyek open source go-buttplug, go-mcp
- Termasuk library Golang Buttplug.io beserta contohnya, serta library Golang Model Context Protocol
- Hak cipta 2025 Neomantra BV, Evan Wies (ConAcademy)
- Dirilis di bawah lisensi MIT (lihat LICENSE.txt untuk detail lisensi)
2 komentar
Uh.. entah harus dibilang ini terlalu cepat buat kita..
Opini Hacker News