buttplug-mcp, Buttplug.io ekosistemi için bir Model Context Protocol sunucusudur; Claude Desktop gibi araç destekli LLM programlarının bağlı Genital Interface Devices aygıtlarını listelemesini ve kontrol etmesini sağlar
- Sunulan işlevler
/devices, /device/{id}, /device/{id}/rssi, /device/{id}/battery kaynakları ve device_vibrate aracıdır; titreşim gücü 0.0~1.0 aralığında belirtilir
- Mevcut durum deneyseldir ve kararsızdır; 2025-04-01 tarihinde hızlı bir eğitim projesi olarak başladı ve
go-buttplug içindeki bağlantı işleme kararsızlığı nedeniyle uçtan uca testler düzgün biçimde tamamlanamadı
- Kullanmak için Intiface Central çalıştırılıp WebSocket sunucu portu doğrulanmalı; ardından Claude Desktop gibi bir MCP host yapılandırmasına
buttplug-mcp çalıştırılabilir dosyası ve --ws-port 12345 gibi argümanlar eklenmelidir
- Ollama tabanlı yerel çıkarımda araç çağrılarını denemek için
mcphost kullanıldı; ancak bu ortamda yalnızca Tools destekleniyor, Resources desteklenmediği için aygıt listeleme ve ayrıntı sorgulama yapılamıyor
Projenin amacı ve destek kapsamı
buttplug-mcp, Model Context Protocol sunucusudur ve Buttplug.io ecosystem içindeki bağlı aygıtların LLM programlarından listelenmesini ve kontrol edilmesini sağlar
- Claude Desktop gibi araç destekli LLM programlarında aşağıdaki türden istemler hedeflenir
- Bağlı Buttplug aygıtlarını listeleme
- Belirli bir aygıtın belirli motorunu %50 güçte ayarlama
- Lovense Max 2’nin kalan pil seviyesini kontrol etme
- WeWibe sinyalinin zayıf olup olmadığını kontrol etme
- README, yukarıdaki deneyimin hedef durum olduğunu ve mevcut deneyimin şu anda kararsız ve sinir bozucu olduğunu açıkça belirtiyor
MCP kaynakları ve araçları
- Desteklenen kaynaklar, bağlı aygıtları ve aygıt durumunu JSON biçiminde sorgulamaya odaklanır
/devices: bağlı Buttplug aygıtlarının listesi
/device/{id}: /devices üzerinden alınan sayısal ID’ye göre aygıt bilgisi
/device/{id}/rssi: aygıt ID’sine göre RSSI sinyal seviyesi
/device/{id}/battery: aygıt ID’sine göre pil seviyesi
- Desteklenen araç yalnızca
device_vibrate
- Parametreler
id, isteğe bağlı motor, strength
motor varsayılan olarak 0
strength, 0.0 kapalı, 1.0 maksimum güç olacak şekilde sayısal bir aralıktır
- README içinde, kaynaklar ve araçlar için JSON Schema örnekleri olarak
schema_resources.json ve schema_tools.json yer alır
Mevcut durum ve sınırlamalar
- Proje 2025-04-01 April Fool’s Day’de başladı; bir gün önce hazırlanan finans piyasası verilerine yönelik deneysel MCP hizmeti
dbn-go sonrasında yapılan hızlı bir eğitim projesidir
- Çalışıyor, ancak temelindeki
go-buttplug kütüphanesinin bağlantı işleme tarafı kararsız olarak belirtiliyor
- Claude ile aygıt listesini almak mümkün oldu, ancak bazı aygıtlar yalnızca Intiface Central ile bile titreşmedi ve “salt okunur mod” benzeri bir durumda görünüyordu
- Fiziksel aygıta bağlı olmadan test edilebilecek bir sanal Buttplug.io aygıtı olsa iyi olacağı da belirtilen sınırlamalar arasında
- README, hâlâ gerçek anlamda bir uçtan uca testin tamamlanmadığını açıkça belirtiyor
- İleride
go-buttplug içindeki bağlantı kararsızlığının nedenini daha fazla incelemek ve MCP host’larının şu anda Tools, Resources ve Resource Templates desteğini nasıl sunduğunu anlamak gerekiyor
Kurulum ve Claude Desktop kullanımı
brew tap conacademy/homebrew-tap
brew install conacademy/tap/buttplug-mcp
- Kullanmak için aygıtları yönetmek üzere Intiface Central hub uygulaması indirilmeli ve sunucu portu kontrol edilmelidir
- Varsayılan portun
12345 olduğu belirtiliyor
- Claude Desktop’ta MCP sunucu yapılandırmasına çalıştırılabilir dosya ve WebSocket portu eklenir
- MacOS Homebrew kurulum yolu örneği
/opt/homebrew/bin/buttplug-mcp
- Yapılandırma örneğinde
--ws-port 12345 kullanılır
{
"mcpServers": {
"buttplug": {
"command": "/opt/homebrew/bin/buttplug-mcp",
"args": [
"--ws-port", "12345"
]
}
}
}
Ollama ve mcphost deneyi
- Yerel çıkarımda, Ollama destekleyen bir MCP host kullanılabilir
- Araç destekleyen bir Ollama LLM kullanılması gerekir
- Deneyde
mcphost kullanıldı; bu proje, mcp-go kütüphanesinin geliştiricisinin hazırladığı bir MCP host’tur
- Çalıştırma örneğinde, önceki yapılandırma
mcp.json içine kaydedilip llama3.3 modeliyle başlatılır
go install github.com/mark3labs/mcphost@latest
mcphost -m ollama:llama3.3 --config mcp.json
- README’ye göre
mcphost içinde yalnızca Tools destekleniyor, Resources desteklenmediği için aygıtlar listelenemiyor veya ayrıntıları sorgulanamıyordu
phi4-mini ile device_vibrate araç çağrısı başarılı yanıt verdi, ancak yukarıda belirtilen mevcut durum sorunları nedeniyle gerçek aygıt titreşmedi
Derleme, test araçları ve CLI
- Derleme task ile yapılır ve sonuç ikili dosyası
bin/buttplug-mcp altında oluşturulur
task
- Derleme süreci,
go mod tidy sonrasında go build -o bin/buttplug-mcp cmd/buttplug-mcp/main.go komutunu çalıştırır
- Yararlı test araçları şunlardır
task stdio-schema | jq: JSON Schema çıktısı
npx @modelcontextprotocol/inspector node build/index.js: MCP Inspector Web GUI
- CLI seçenekleri yardım, log dosyası, JSON log, SSE aktarımı, SSE host, ayrıntılı log ve Buttplug WebSocket sunucu portu ayarlamasını destekler
--ws-port int: Buttplug WebSocket sunucusuna bağlanılacak port
--sse: varsayılan STDIO yerine SSE Transport kullan
--log-file string: log dosyası hedefi veya MCP_LOG_FILE ortam değişkeni kullan
--log-json: JSON log kullan
--verbose: ayrıntılı log kullan
2 yorum
Off... Bizim için biraz fazla erken galiba..
Hacker News görüşleri
Buttplug: Teledildonics için açık kaynaklı bir yazılım paketi (https://buttplug.io/) 5 yıl önce | 249 yorum
Yazılımınızla seks yapan kullanıcıya empati (https://docs.buttplug.io/docs/dev-guide/intro/buttplug-ethic...) 10 ay önce | 127 yorum
T-code – Bir yetişkin oyuncağına UART seri iletişimi uygulamak için bir protokol (https://stpihkal.docs.buttplug.io/protocols/tcode.html) 2 yıl önce | 74 yorum
Mahrem donanım için açık kaynaklı bir standartlar ve yazılım projesi (belki NSFW) (https://buttplug.io/) 7 yıl önce | 39 yorum
Rust ile Uygulanan Buttplug Seks Oyuncağı Kontrol Projesi (https://buttplug.io/) 2 yıl önce | 3 yorum
Deldo, Emacs için bir seks oyuncağı kontrolü ve teledildonics modudur (github.com/qdot) (2021) https://news.ycombinator.com/item?id=29207607 | 126 yorum
Bu pazar neden farklı? Büyük şirketler bu pazardan uzak durduğu için henüz berbat edemediklerinden mi?
Bu yazıyı görmeden önce, günlük elektronik cihazlarla uğraşan en büyük hacker topluluğunun elektrikli bisiklet topluluğu olduğunu sanıyordum. Avrupa’da elektrikli bisiklet bilgisayarlarını hacklemek epey yaygın; hız sınırını kaldırmaya çalışanlar da var ama bu yasa dışı ve Danimarka’nın büyük şehirlerinde yakalanma ihtimali de yüksek
Ben bunu çoğunlukla istatistikler için yaptım. Elektrikli bisiklet bilgisayarım “mevcut” kilometreyi her 500 km’de bir sıfırlıyor, toplam kilometreyi ise başka bir yerde saklıyordu; servise girince o da sıfırlanıyordu. Varsayılan ekranda saat de yoktu, bu yüzden asıl nedenim ekranda saat göstermekti; şimdi kilometre yedeği ve eğlence amaçlı istatistikleri de eklemiş durumdayım
Servise gönderirken fabrika ayarlarına geri flashlıyorum. Cihaz hacker’ı falan hiç değilim ama sadece aramayla kendi markama uygun araçları bulup istediğimi yapabildim. Günlük cihazların çoğunda pek güvenlik olmadığını düşünüyorum. Google Camera üzerinden NSA’in bakmasını istemeyen Avrupalılar büyük teknoloji şirketlerinin ürünü olmayan şeyleri satın aldığı için de olabilir; ama Bosch gibi büyük marka ürünleri de epey hacklenebilir. Donanım elinizdeyse, sonuçta çoğu şey hacklenebilir değil mi?
Lovense gibi yerler API yayımlamaya istekli olduklarını söyledi ama GitHub’da yalnızca boş depolar var denecek düzeyde. Lovense tuhaf bir şirket; tüm işaretler Tayvan’daki bir ya da iki kişiyi gösteriyor ve oldukça opak
Şüpheli örnekler de vardı. Hytto/Lush [0] veya We-Vibe [1] gibi markalara karşı toplu davalar açılmıştı
[0] [https://www.courthousenews.com/judge-forwards-class-action-s...](https://www.courthousenews.com/judge-forwards-class-action-suit-against-adult-toy-maker/)
[1] https://topclassactions.com/lawsuit-settlements/lawsuit-news...
“Intimate Haptics Control Standard and Library” olarak tanımlanıyor; daha ayrıntılı açıklama https://buttplug-spec.docs.buttplug.io/docs/spec adresinde.
Ya kişisel veriler sızmıştı ya da cihaz kullanıcıyı “kilitleyip” fidye istemişti. Masamda gülüyordum ama içerik fazlasıyla NSFW olduğu için neden güldüğümü açıklayamıyordum.
İlk sayfada epey aşağı düşmüş olsa da istediğinizi sorabilirsiniz.
Bu belirli MCP sunucusunun pek işe yaramaz olduğunu ve cinsel etkileşimi istediğim biçimin kesinlikle bu olmadığını README’ye yazacaktım. Yine de bir yerden başlamak gerekiyor; good-giving-game yaklaşımı bizim tarzımız olduğu için GitHub’a koydum.
İronik olarak, 2 yıl önceki projem Buttplug’ı Charm tabanlı bir SSH sohbet odası ve BubbleTea TUI ile entegre etmekti. SSH anahtarlarıyla dijital rızanın bir kısmını ele alıyor, hangi varlığın başka bir varlığın cihazında ne yapabileceğini anonim bir grafik hâline getiriyorduk. Ajanların kontrol ettiği MCP geleceğinde bu tür unsurlara ihtiyaç olduğunu düşünüyorum.
Buttplug.io’nun ana bakımcısı değilim ama Discord’da onlarla bir süre konuştum. Madem bakıyorsunuz, Rustacean’lar arasında ilgilenen varsa o proje ek ana bakımcılar arıyor. Bu MCP sunucusu Golang ile yazıldı ama Buttplug ekosistemi içinde Rust ile yazılmış olması muhtemelen daha iyi olurdu.
Kariyerimin başları haptik araştırmalar üzerindeydi ve Immersion üzerinden bu alanda birkaç patentim de var. Yüksek lisans tezim, 3D haptik renderer yazmak ve haptikleri VRML’ye entegre etmek üzerineydi. Hatırlayan varsa! Cinsel işlev bozukluğu tanı cihazları için NIH hibeli bir projede de çalıştım ve ev yapımı oyuncaklar da yaptım. Şimdi Neurable EEG başlığımı yeni aldım ve Biaerolar Beats araştırması [1] yapıyorum.
vibe coding konusuna dönersek, bununla LELO F1’i titrettiğim doğru; ama bu proje gerçekten elde yapılmış bir şey. Birkaç hafta önce Claude ve Gemini ile
a2a4a2aüzerinde vibe coding denedim, ancak A2A protokolü çok yeni olduğu için modele A2A öğretmek zordu. İnsanların genel olarak böyle şeyleri nasıl ele aldığını merak ediyorum.Genel olarak eğlenceliydi ve araç çağıran LLM’ler hakkında çok şey öğrendim. O hafta üç MCP sunucusu yaptım: para için [2], seks için [3] ve uyuşturucu için [4]. Bunu
mark3labs/mcp-gosayesinde yaptım.Sonuncusu AgentDank [4] için hâlâ devam çalışması yapamadım ama açık veri ve gerçek yapay zeka sonuçları açısından muhtemelen en havalısı o. Oradaki videoyu izleyin. Özel verileri ve SQL endpoint’lerini araç çağıran LLM’lere bağlamak inanılmaz derecede güçlü.
[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