buttplug-mcp Buttplug.io ecosystem के लिए एक Model Context Protocol server है, जो Claude Desktop जैसे tool-supporting LLM programs को connected Genital Interface Devices को query और control करने देता है
- उपलब्ध सुविधाओं में
/devices, /device/{id}, /device/{id}/rssi, /device/{id}/battery resources और device_vibrate tool शामिल हैं, और vibration strength 0.0~1.0 रेंज में सेट की जाती है
- मौजूदा स्थिति experimental और unstable है; इसे 2025-04-01 को एक तेज़ educational project के रूप में शुरू किया गया था, और
go-buttplug की connection handling instability के कारण end-to-end testing ठीक से पूरी नहीं हो पाई
- उपयोग के लिए Intiface Central चलाकर WebSocket server port जांचना होता है, और Claude Desktop जैसे MCP host की settings में
buttplug-mcp executable तथा --ws-port 12345 जैसे arguments दर्ज करने होते हैं
- Ollama-आधारित local inference में
mcphost के साथ tool calling का प्रयोग किया गया, लेकिन उस environment में सिर्फ Tools supported हैं, Resources नहीं, इसलिए device enumeration और detailed lookup संभव नहीं था
प्रोजेक्ट का उद्देश्य और support scope
buttplug-mcp एक Model Context Protocol server है, जो Buttplug.io ecosystem से जुड़े devices को LLM programs से query और control करने देता है
- इसका लक्ष्य Claude Desktop जैसे tool-supporting LLM programs में नीचे जैसे prompts को संभव बनाना है
- connected Buttplug devices देखना
- किसी specific device के specific motor को 50% strength पर सेट करना
- Lovense Max 2 की battery level जांचना
- WeWibe का signal weak है या नहीं, यह देखना
- README स्पष्ट रूप से कहता है कि ऊपर का अनुभव target state है, और वर्तमान अनुभव unstable तथा frustrating है
MCP resources और tools
- supported resources का फोकस connected devices और device status को JSON रूप में query करना है
/devices: connected Buttplug devices की सूची
/device/{id}: /devices से मिले numeric ID पर आधारित device जानकारी
/device/{id}/rssi: device ID पर आधारित RSSI signal level
/device/{id}/battery: device ID पर आधारित battery level
- supported tool केवल
device_vibrate है
- parameters हैं
id, optional motor, strength
motor का default मान 0 है
strength एक numeric range है जिसमें 0.0 off और 1.0 maximum strength है
- README में resources और tools के JSON Schema उदाहरण के रूप में
schema_resources.json, schema_tools.json शामिल हैं
वर्तमान स्थिति और सीमाएँ
- प्रोजेक्ट 2025-04-01 April Fool’s Day पर शुरू हुआ, और यह पिछले दिन बनाए गए financial market data के experimental MCP service
dbn-go के बाद बनाया गया एक तेज़ educational project है
- यह काम तो करता है, लेकिन underlying library
go-buttplug की connection handling unstable बताई गई है
- Claude से device list query की जा सकी, लेकिन कुछ specific devices Intiface Central से भी vibrate नहीं हुए और वे “read-only mode” जैसे लगे
- एक सीमा यह भी बताई गई है कि physical device पर निर्भर हुए बिना test करने के लिए virtual Buttplug.io devices होना उपयोगी होगा
- README साफ़ तौर पर कहता है कि अभी वास्तविक अर्थ में end-to-end testing पूरी नहीं हुई है
- आगे
go-buttplug की connection instability के कारणों को और देखना होगा, और यह समझना होगा कि MCP hosts अभी Tools, Resources और Resource Templates को कैसे support करते हैं
इंस्टॉलेशन और Claude Desktop उपयोग
brew tap conacademy/homebrew-tap
brew install conacademy/tap/buttplug-mcp
- उपयोग के लिए Intiface Central hub application डाउनलोड कर devices को manage करना और server port जांचना होता है
- default port
12345 बताया गया है
- Claude Desktop में MCP server settings में executable और WebSocket port दर्ज किया जाता है
- MacOS Homebrew install path का उदाहरण
/opt/homebrew/bin/buttplug-mcp है
- setting example में
--ws-port 12345 का उपयोग किया गया है
{
"mcpServers": {
"buttplug": {
"command": "/opt/homebrew/bin/buttplug-mcp",
"args": [
"--ws-port", "12345"
]
}
}
}
- Claude Desktop configuration के लिए MCP user quickstart का पालन किया जाता है, लेकिन ऊपर वाली settings से उसे replace किया जाता है
Ollama और mcphost प्रयोग
- local inference में Ollama को support करने वाला MCP host इस्तेमाल किया जा सकता है
- ऐसा Ollama LLM उपयोग करना होगा जो tools support करता हो
- प्रयोग में
mcphost इस्तेमाल हुआ, और यह प्रोजेक्ट mcp-go library के developer द्वारा बनाया गया MCP host है
- execution example में पहले की settings को
mcp.json में सहेजकर llama3.3 model के साथ चलाया जाता है
go install github.com/mark3labs/mcphost@latest
mcphost -m ollama:llama3.3 --config mcp.json
- README के अनुसार
mcphost में सिर्फ Tools supported थे और Resources supported नहीं थे, इसलिए devices enumerate करना या details query करना संभव नहीं था
phi4-mini के साथ device_vibrate tool call से successful response मिला, लेकिन ऊपर बताई गई current-state समस्याओं के कारण वास्तविक device vibrate नहीं हुआ
build, test tools, CLI
- build task से किया जाता है, और output binary
bin/buttplug-mcp में बनती है
task
- build process
go mod tidy के बाद go build -o bin/buttplug-mcp cmd/buttplug-mcp/main.go चलाती है
- उपयोगी test tools इस प्रकार हैं
task stdio-schema | jq: JSON Schema output
npx @modelcontextprotocol/inspector node build/index.js: MCP Inspector Web GUI
- CLI options help, log file, JSON logs, SSE transport, SSE host, verbose logs, और Buttplug WebSocket server port configuration support करते हैं
--ws-port int: Buttplug WebSocket server से connect करने वाला port
--sse: default STDIO के बजाय SSE Transport का उपयोग
--log-file string: log file destination या MCP_LOG_FILE environment variable का उपयोग
--log-json: JSON logs का उपयोग
--verbose: detailed logs का उपयोग
2 टिप्पणियां
उफ़.. शायद यह हमारे लिए अभी बहुत जल्दी है..
Hacker News की राय
Buttplug: An open-source software suite for teledildonics (https://buttplug.io/) 5 years ago | 249 comments
Empathy for the user having sex with your software (https://docs.buttplug.io/docs/dev-guide/intro/buttplug-ethic...) 10 months ago | 127 comments
T-code – A protocol for implementing UART serial communications to an adult toy (https://stpihkal.docs.buttplug.io/protocols/tcode.html) 2 years ago | 74 comments
An open-source standards and software project for intimate hardware (maybe NSFW) (https://buttplug.io/) 7 years ago | 39 comments
Buttplug Sex Toy Control Project Implemented in Rust (https://buttplug.io/) 2 years ago | 3 comments
Deldo is a sex toy control and teledildonics mode for Emacs (github.com/qdot) (2021) https://news.ycombinator.com/item?id=29207607 | 126 comments
यह market अलग क्यों है? क्या इसलिए कि बड़ी कंपनियाँ इस market से दूर रही हैं और अभी तक इसे खराब नहीं कर पाई हैं?
यह लेख देखने से पहले तक मुझे लगता था कि everyday electronics से छेड़छाड़ करने वाली सबसे बड़ी hacker community e-bike community है। Europe में e-bike computers को hack करना काफी होता है, और कुछ लोग speed limit हटाने की कोशिश भी करते हैं, लेकिन यह illegal है और Denmark के बड़े शहरों में पकड़े जाने की संभावना भी ज्यादा है
मैंने यह मुख्यतः statistics के लिए किया था। मेरा e-bike computer “current” distance को हर 500km पर reset कर देता था और total distance कहीं और store करता था, लेकिन workshop में जाने पर वह भी reset हो जाता था। Default screen पर clock भी नहीं थी, इसलिए display पर clock दिखाना मुख्य कारण था; अब मैंने distance backup और fun statistics भी जोड़ दिए हैं
Workshop भेजते समय मैं इसे factory settings पर फिर से flash कर देता हूँ। मैं बिल्कुल भी device hacker नहीं हूँ, लेकिन सिर्फ search करके अपने brand के लिए सही tools ढूँढ सका और जो चाहता था वह कर सका। मुझे लगता है कि ज्यादातर everyday devices में security ज्यादा नहीं होती। हो सकता है कि Google Camera से NSA की झाँक-ताक नहीं चाहने वाले Europeans big tech company के products के बजाय कुछ और खरीदते हों, लेकिन Bosch जैसे बड़े brand के products भी काफी hackable हैं। Hardware हाथ में हो तो आखिरकार ज्यादातर चीजें hackable नहीं होतीं क्या?
Lovense जैसी कंपनियों ने कहा कि वे API खोलने को तैयार हैं, लेकिन GitHub पर बस खाली repositories जैसी स्थिति है। Lovense एक अजीब company है; सारे संकेत Taiwan में एक-दो लोगों की ओर इशारा करते हैं और यह काफी opaque है
संदिग्ध मामले भी रहे हैं। Hytto/Lush [0] या We-Vibe [1] जैसे brands के खिलाफ class-action lawsuits हुए थे
[0] https://www.courthousenews.com/judge-forwards-class-action-s...
[1] https://topclassactions.com/lawsuit-settlements/lawsuit-news...
इसे “Intimate Haptics Control Standard and Library” बताया गया है, और अधिक विस्तृत विवरण https://buttplug-spec.docs.buttplug.io/docs/spec पर है
या तो personal information leak हुई थी, या device ने user को “lock” कर दिया था और फिर ransom मांगा था। मैं desk पर बैठा हंस रहा था, लेकिन content इतना NSFW था कि समझा नहीं सकता था कि मैं क्यों हंस रहा हूं
यह first page पर अब काफी नीचे चला गया है, लेकिन कुछ भी पूछ सकते हैं
इस खास MCP server का इस्तेमाल लगभग नहीं के बराबर है, और README में लिखना चाहता था कि यह sexual interaction का वह तरीका बिल्कुल नहीं है जैसा मैं चाहता हूं। फिर भी शुरुआत कहीं से तो करनी होती है, और good-giving-game approach हमारा style है, इसलिए इसे GitHub पर डाल दिया
विडंबना यह है कि 2 साल पहले का project Charm-based SSH chat room और BubbleTea TUI में Buttplug integrate करने का था। SSH keys से digital consent के एक हिस्से को संभाला, और एक anonymous graph बनाया कि कौन-सी entity दूसरी entity के device पर क्या कर सकती है। Agent-controlled MCP के भविष्य में ऐसे elements की जरूरत होगी, ऐसा मुझे लगता है
मैं Buttplug.io का maintainer नहीं हूं, लेकिन Discord पर उनसे कुछ समय तक बात की है। जब आप देख ही रहे हैं, तो अगर कोई Rustacean interested हो, वह project extra maintainers ढूंढ रहा है। यह MCP server Golang में लिखा गया है, लेकिन Buttplug ecosystem में Rust में होना शायद बेहतर रहेगा
मेरे early career का काम haptics research था और Immersion के जरिए इससे जुड़े कई patents भी हैं। मेरी master’s thesis 3D haptic renderer लिखने और VRML में haptics integrate करने पर थी। अगर आपको याद हो! मैंने sexual dysfunction diagnostic devices पर NIH grant project भी किया था, और घर पर बने toys भी बनाए थे। अभी-अभी मुझे Neurable EEG headset मिला है और मैं Biaerolar Beats research [1] कर रहा हूं
vibe coding की बात पर लौटें तो, हां, मैंने इससे LELO F1 को vibrate कराया, लेकिन यह project सच में हाथ से बनाया गया है। कुछ हफ्ते पहले Claude और Gemini के साथ
a2a4a2aको vibe coding करने की कोशिश की थी, लेकिन A2A protocol इतना नया था कि model को A2A सिखाना मुश्किल था। आम तौर पर लोग ऐसी चीजों को कैसे handle करते हैं, यह जानने की उत्सुकता हैकुल मिलाकर मजा आया और tool-calling LLMs के बारे में काफी कुछ सीखा। उस हफ्ते मैंने तीन MCP servers बनाए: पैसे के लिए [2], सेक्स के लिए [3], और drugs के लिए [4]। इसका credit
mark3labs/mcp-goको जाता हैआखिरी वाला AgentDank [4] अभी follow-up नहीं कर पाया हूं, लेकिन public data और real AI results के लिहाज से शायद सबसे cool है। वहां का video देखिए। custom data और SQL endpoints को tool-calling LLM से जोड़ना अविश्वसनीय रूप से powerful है
[1] https://github.com/ConAcademy/biareolar-beats
[2] https://github.com/NimbleMarkets/dbn-go/blob/main/cmd/dbn-go...
[3] https://github.com/ConAcademy/buttplug-mcp
[4] https://github.com/AgentDank/dank-mcp