1 पॉइंट द्वारा GN⁺ 2025-06-01 | 2 टिप्पणियां | WhatsApp पर शेयर करें
  • 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

उपयोग विधि

  • device management Intiface Central hub app में होता है (default port 12345)
  • Claude Desktop में MCP server के रूप में buttplug-mcp उपयोग करने के लिए host program में configuration चाहिए
    • उदाहरण configuration (JSON file):
    {
      "mcpServers": {
        "buttplug": {
          "command": "/opt/homebrew/bin/buttplug-mcp",
          "args": ["--ws-port", "12345"]
        }
      }
    }
    
  • ऊपर की setting के बाद Claude Desktop के tutorial के अनुसार इसे लागू किया जा सकता है, और Claude से बातचीत करते हुए device query/control किया जा सकता है
  • HomeAssistant MCP के जरिए lighting control जैसी अतिरिक्त integrations भी उपयोग की जा सकती हैं

Ollama और mcphost के साथ integration

  • MCP hosts में Ollama support उपलब्ध है, और इसे tool-supporting LLM के साथ जोड़ा जा सकता है
  • mcphost (जिसे mcp-go developer maintain करता है) के साथ buttplug-mcp के लिए MCP JSON configuration इस्तेमाल की जा सकती है
    • उदाहरण:
    $ go install github.com/mark3labs/mcphost@latest
    $ mcphost -m ollama:llama3.3 --config mcp.json
    
  • केवल "Tools" supported हैं और "Resources" सीमित हैं, इसलिए device listing या properties exploration संभव नहीं है
  • वास्तविक उदाहरणों में device vibration command के लिए success message लौट सकता है, लेकिन device प्रतिक्रिया न दे

बिल्ड

  • task आधारित build system लागू है
    • चलाने के लिए: $ task
  • उपयोगी 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

  • Pull Request, fork आदि का खुला स्वागत है
  • 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 टिप्पणियां

 
bbulbum 2025-06-03

उफ़.. शायद यह हमारे लिए अभी बहुत जल्दी है..

 
GN⁺ 2025-06-01
Hacker News की राय
  • याद है कि पहले Hacker News पर Buttplug standard को लेकर कई बार चर्चा हुई थी, इसलिए साझा कर रहा/रही हूँ
  • मुझे लगता है कि Teledildonics शब्द खुद में ही कमाल का है
    • BO.io में commit करके उसे अपने resume में डालने का मन करता है, लेकिन साथ ही लगता है कि इससे मेरी pentest वाली entries पर और भी अजीब सवाल बढ़ जाएंगे
  • Emacs में चलने वाले sextoy control और teledildonics mode Deldo से जुड़ी काम की जानकारी (https://news.ycombinator.com/item?id=29207607) साझा की गई
  • मज़ाक में पूछा गया कि क्या यही मशहूर vibe coding है
    • buttplug.io के main page पर We were vibe coding before it was cool वाक्य सच में लिखा है, उसे सीधे quote किया गया
    • ऐसे project की UAT(User Acceptance Testing) आखिर कैसी दिखती होगी, इस पर जिज्ञासा जताई गई
    • OP ने लगता है इस hardware पर काफ़ी ध्यान दिया है
    • https://github.com/profullstack/mcp-server भी vibe coding से बना एक उदाहरण है
  • यह जानकर दिलचस्प लगा कि ऐसे toys को control करने वाला API पहले से public है
    • सामान्य तौर पर तो लगता कि हर device सिर्फ़ अपनी बंद proprietary app ही देता, लेकिन हक़ीक़त अलग है
    • क्या ऐसा इसलिए हुआ क्योंकि बड़ी कंपनियाँ इस market में उतरी ही नहीं, इस पर सवाल उठा
    • यह भी समझाया गया कि ज़्यादातर मामलों में vendor ने आधिकारिक API spec नहीं दिया, बल्कि community ने reverse engineering से बनाया
      • products आमतौर पर Bluetooth से connect होते हैं, इसलिए security अक्सर pairing और proximity तक ही सीमित रह जाती है
    • डेनमार्क में घर के ज़्यादातर electronic devices closed नहीं होते, और उन्हें hack करना भी बहुत मुश्किल नहीं है
      • microwave, electric toothbrush, router, e-bike जैसे devices भी आसान hacking targets हैं
      • sextoy hackers ज़्यादा होने की वजह यह मानी गई कि इस क्षेत्र में ज़्यादा जुनून है
      • पहले लगता था कि e-bike hacking community सबसे बड़ी होगी, लेकिन sextoy side शायद उससे भी बड़ी हो सकती है
      • e-bike hacking का कारण अक्सर speed limit हटाना या stats features पाना होता है
      • मैं device hacker नहीं हूँ, फिर भी सिर्फ़ search करके ज़रूरी tools आसानी से मिल गए
      • सच में कई रोज़मर्रा के devices में security मज़बूत नहीं होती
      • यूरोप में बड़ी tech companies के products की जगह unbranded products खरीदने की एक संस्कृति भी है
      • बड़े brand के products भी काफ़ी hackable लगते हैं, और hardware मिल जाए तो ज़्यादातर चीज़ें hack की जा सकती हैं
    • एक राय यह भी थी कि cam streamers को अपने device extensions बनाना आसान होना चाहिए, इसलिए community accessibility बढ़ी
      • Lovesense के streaming sites पर “chat से controlled toy” के पर्याय की तरह स्थापित होने का उदाहरण दिया गया
    • लगता है कि इस industry में user satisfaction को सबसे ऊपर रखा जाता है, इसलिए यह इतना open है
    • अनुमान है कि बहुत से Chinese open devices सस्ते generic chips और protocols को वैसे ही इस्तेमाल करते हैं
      • reliability और security पर भी कम ध्यान दिया जाता है, इसलिए reverse engineering मुश्किल नहीं होती
      • Bluetooth connection सस्ता और ढीला-ढाला design किया हुआ लगता है, यहाँ तक कि इंसानी शरीर की वजह से भी disconnect हो सकता है
      • controller शायद सिर्फ़ simple signals stream करता है और extra computation या error handling लगभग नहीं के बराबर है
  • Buttplug एक open source standard और software project है जो adult toys जैसे intimate hardware को control करता है
  • लगा कि .io TLD इस project के लिए सच में बिल्कुल फिट बैठता है
    • इस पर मज़ेदार प्रतिक्रिया भी आई
  • मैं qDot हूँ, https://buttplug.io का founder और project lead
    • भले यह main page से उतर चुका है, लेकिन अगर कोई सवाल हो तो AMA हमेशा स्वागतयोग्य है
  • लगता है कि अगर इसमें ChatGPT scheduled tasks जोड़ दिए जाएँ तो यह वाकई एक अलग तरह की alarm clock बन सकती है
    • Home Assistant integration भी supported है, इसलिए garage door खुलने जैसी notifications के लिए भी इसका इस्तेमाल हो सकता है
  • अगर कोई कहे कि Big Tech वह AI feature नहीं चाहती, तब इस site को bookmark करके दिखाने का मन करता है
  • मैं ही लेखक हूँ, और यह project April Fools पर बनाया गया एक ‘बेकार’ personal project है
    • हर साल April Fools पर मज़े के लिए बनाई चीज़ें GitHub पर चढ़ जाती हैं
    • यह MCP server real-world use में खास मायने नहीं रखता, लेकिन starting point ज़रूरी है इसलिए इसे रखा गया है
    • 2 साल पहले Buttplug को SSH chatroom से जोड़ा था, और digital consent तथा SSH keys को मिलाकर anonymized access graph बनाया था
    • अभी मैं Buttplug.io maintainer नहीं हूँ, लेकिन Discord पर इस बारे में कई चर्चाएँ हुई थीं
    • यह भी बताया कि Rustacean समुदाय में नए maintainer की तलाश है
    • MCP server Golang में लिखा गया, लेकिन Buttplug ecosystem के लिए Rust ज़्यादा उपयुक्त लगता है
    • पहले haptics पर research की है, और उससे जुड़े patents तथा VRML integration का अनुभव भी है
    • NIH funding से बनाए गए sexual function diagnostic devices और खुद बनाए toys का अनुभव भी है
    • अभी Neurable EEG headset के साथ Biaerolar Beats पर research चल रही है (https://github.com/ConAcademy/biareolar-beats)
    • vibe coding से LELO F1 को चलाकर देखा, लेकिन यह project वास्तव में हाथ से लिखा गया code है
    • हाल में Claude, Gemini के साथ A2A protocol पर vibe code भी आज़माया, लेकिन implementation काफ़ी कठिन थी
    • उसी हफ़्ते 3 MCP servers (पैसा·सेक्स·ड्रग्स) बनाए, और open data व AI के practical use results के लिहाज़ से AgentDank(https://github.com/AgentDank/dank-mcp) सबसे दिलचस्प लगा
    • custom data और SQL endpoints को tool-calling LLM से जोड़ना बहुत बड़ी संभावनाएँ रखता है
  • “वह तरीका अक्षम sexual interaction है” इस बात पर जवाब आया, “यह हर व्यक्ति की अपनी पसंद है”
  • अलग-अलग services में privacy issues को लेकर लोग क्या सोचते हैं, इस पर सवाल उठा
    • पहले सिर्फ़ product खरीदकर vendor से किसी रिश्ते के बिना इस्तेमाल किया जा सकता था, लेकिन अब VR goggles और दूसरी services की तरह हालात काफ़ी बदल गए हैं