- Buttplug MCP Buttplug.io ecosystem के adult devices को large language model (LLM) आधारित programs के साथ जोड़ने वाला एक MCP server है
- उपयोगकर्ता Claude Desktop जैसे LLM tools के जरिए device जानकारी देख सकते हैं, या vibration, battery status, signal strength जैसी कई functions को control कर सकते हैं
- फिलहाल इसमें functional completeness और stability की कमी है, इसलिए पूरी functionality सहज नहीं है और actual device control में दिक्कत हो सकती है
- Ollama, mcphost जैसे MCP hosts के साथ integration करके tool-based testing संभव है, लेकिन कुछ features (जैसे resource exploration) सीमित हैं
- यह project दूसरे MCP services की तुलना में LLM-based smart device control पर अधिक focused है और open source के रूप में मुफ्त उपलब्ध है
प्रोजेक्ट अवलोकन
- buttplug-mcp एक Model Context Protocol(MCP) server है, जो Buttplug.io ecosystem के लिए विशेष है
- Claude Desktop जैसे tool-supporting LLM programs में अपने Buttplug devices को query और control किया जा सकता है
- उदाहरण commands: "मेरे connected buttplug devices कौन से हैं?", "LELO F1S के दूसरे motor को 50% पर सेट करो", "Lovense Max 2 की battery कितनी बची है?", "WeWibe का signal weak है क्या?"
- ऊपर के उदाहरण लक्ष्य दिशा के करीब हैं, लेकिन वर्तमान implementation का वास्तविक अनुभव unstable और disappointing है
समर्थित resources और tool संरचना
- API resources
/devices: connected Buttplug devices की list (JSON)
/device/{id}: किसी एक device की detailed जानकारी
/device/{id}/rssi: device signal strength (RSSI)
/device/{id}/battery: device की battery level
- Tools
device_vibrate: id, motor, strength parameters (अनिवार्य: id, strength), और optional motor selection के साथ vibration control
JSON schema उदाहरण (resources)
{
"resources": [
{
"uri": "devices",
"name": "Device List",
"description": "List of connected Buttplug devices in JSON",
"mimeType": "application/json"
}
]
}
JSON schema उदाहरण (tools)
{
"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"
}
]
}
वर्तमान स्थिति
- यह 1 अप्रैल 2025 (April Fools' Day) को शुरू किया गया एक experimental short-term project है
- go-buttplug library का connection management unstable है, इसलिए device list query काम करती है लेकिन vibration जैसी कुछ control features ठीक से काम नहीं करतीं
- testing के लिए virtual device की जरूरत है, लेकिन Buttplug.io केवल physical devices को support करता है
- यह अभी शुरुआती चरण में है और end-to-end testing पर्याप्त रूप से नहीं हुई है
- आगे चलकर go-buttplug library की connection issues और MCP protocol की host स्थिति (जैसे tool-centric implementation) की और समीक्षा की जाएगी
इंस्टॉलेशन गाइड
- multi-platform binary files GitHub Releases पर उपलब्ध हैं
- Homebrew के जरिए installation भी supported है:
brew tap conacademy/homebrew-tap
brew install conacademy/tap/buttplug-mcp
उपयोग विधि
Ollama और mcphost के साथ integration
बिल्ड
- task आधारित build system लागू है
- उपयोगी testing tools:
task stdio-schema | jq (JSON schema जांच)
npx @modelcontextprotocol/inspector node build/index.js (MCP Inspector Web GUI)
CLI arguments
- प्रमुख options:
-h, --help: मदद
-l, --log-file: logfile destination सेट करें
-j, --log-json: JSON log format
--sse: SSE transport का उपयोग
--sse-host: SSE connection के लिए host/port
-v, --verbose: verbose logs
--ws-port: Buttplug Websocket server connection port
योगदान और code of conduct
क्रेडिट और लाइसेंस
- go-buttplug, go-mcp open source projects का उपयोग किया गया है
- इसमें Buttplug.io Golang library और examples, तथा Model Context Protocol Golang library शामिल हैं
- 2025 Neomantra BV, Evan Wies(ConAcademy) कॉपीराइट
- MIT लाइसेंस के तहत जारी (विस्तृत लाइसेंस के लिए LICENSE.txt देखें)
2 टिप्पणियां
उफ़.. शायद यह हमारे लिए अभी बहुत जल्दी है..
Hacker News की राय