1 puan yazan GN⁺ 2025-06-01 | 2 yorum | WhatsApp'ta paylaş
  • 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

 
bbulbum 2025-06-03

Off... Bizim için biraz fazla erken galiba..

 
GN⁺ 2025-06-01
Hacker News görüşleri
  • Buttplug standardı hakkında geçmişte birkaç HN tartışması olmuştu ve tabii ki “Rust ile uygulanmış” bir sürümü de vardı
    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
    • Teledildonics kelimesinin kendisi gerçekten müthiş. BO.io’ya katkı verip özgeçmişi doldurma isteği uyandıracak kadar; ama orada yazılı sızma testi deneyimiyle birleşince rahatsız edici sorular da gelebilir. Bir de bir şekilde arka kapı muhabbeti peşinden gelir
    • Bununla ilgili olarak Emacs için bir seks oyuncağı kontrolü ve teledildonics modu olan Deldo da vardı
      Deldo, Emacs için bir seks oyuncağı kontrolü ve teledildonics modudur (github.com/qdot) (2021) https://news.ycombinator.com/item?id=29207607 | 126 yorum
  • Son zamanlarda sürekli duyduğumuz “vibe coding” bu mu?
    • buttplug.io’nun ilk sayfasında zaten şöyle yazıyor: “We were vibe coding before it was cool.”
    • https://github.com/profullstack/mcp-server gerçekten vibe coding ile yapıldığını söylüyor
    • Böyle bir projenin kullanıcı kabul testinin nasıl göründüğünü merak ediyorum
    • Asıl yazının yazarı bunu epey düşünmüş olmalı. Çünkü böyle şeylerde donanım spesifikasyonlarının gerçekten derinine inmek gerekiyor
  • Bu tür oyuncakları kontrol eden API’leri birkaç kez gördüm; her seferinde bu kadar açık olmalarına şaşırıyorum. Her cihazın yanında kilitli, özel mülk bir uygulama gelmesini ve kimsenin de kamuya açık şikâyet etmeye utanacağı için ses çıkarmamasını beklerdim
    Bu pazar neden farklı? Büyük şirketler bu pazardan uzak durduğu için henüz berbat edemediklerinden mi?
    • Bildiğim kadarıyla bu API’ler üreticinin herkese açık dokümante ettiği şeyler değil, topluluğun tersine mühendislik ile çıkardıkları. Oyuncağın kendisi Bluetooth tabanlı olduğu için eşleştirme ve yakınlık, güvenliğin neredeyse tamamı gibi
    • Danimarkalı evlerde sık görülen elektronik cihazlar arasında gerçekten kilitli olanların sayısı fazla değil. Mikrodalga fırın, elektrikli diş fırçası, router, elektrikli bisiklet gibi içinde bilgisayar olan şeyleri “hacklemek” genelde görece kolay; seks oyuncaklarını farklı kılan şey muhtemelen insanların buna harcadığı emek miktarı
      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?
    • Bunun, cam streamer’lar ve streaming platformları için eklenti geliştirme talebinden kaynaklanıyor olabileceğini düşünüyorum. Örneğin Lovense, streaming sitelerinde “sohbetle kontrol edilen oyuncak” ile neredeyse eş anlamlı hâle geldi
    • Alanın doğası gereği, müşteriyi memnun etmek için insanların her türlü zahmete katlanmasına alışık olması da etkili olabilir
    • Çoğu, üreticinin yayımladığı bir API değil; Bluetooth protokolünün tersine mühendislikle çıkarılmış hâli. Buttplug sitesinde mesaj ve protokol bilgileri var; bunların bir kısmı da epey dağınık
      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...

  • https://buttplug.io/ adresine göre Buttplug, yetişkin ürünleri, seks makineleri vb. mahrem donanımları kontrol etmeye yönelik açık kaynaklı bir standart ve yazılım projesidir.
    “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.
  • .io üst düzey alan adı mükemmel bir seçim.
  • Bir zamanlar “tüketici cihazı güvenliği” dersine kaydolmuştum; sunucunun verdiği tüm örneklerin internete bağlı yetişkin ürünlerinin yol açtığı vakalar olması beni şaşırtmıştı.
    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.
  • Bunu ChatGPT zamanlanmış görevleriyle birleştirirseniz ilginç bir çalar saat olabilir.
    • Home Assistant entegrasyonu var gibi görünüyor; garaj kapısını açık bıraktığınızı unuttuğunuzda bildirim de alabilirsiniz.
  • Büyük bir teknoloji şirketinin istenmeyen yapay zeka özelliklerini zorla ekleyebileceğini biri söylediğinde kullanmak üzere bunu yer imlerine ekledim.
  • Vay, merhaba! Ben https://buttplug.io’nun yaratıcısı ve proje lideri qDot’um.
    İlk sayfada epey aşağı düşmüş olsa da istediğinizi sorabilirsiniz.
  • Yazarıyım. Bunu 1 Nisan’da yaptığım şeyi şimdi görmek, güzel bir cuma sürprizi oldu. Her yıl o gün aptalca bir kişisel proje yaparım; o hafta MCP sunucusuyla uğraşıyordum ve bunu yapmanın komik olacağını düşündüm. ConAcademy, tuhaf fikirleri ve uygulamaları koyduğum yer.
    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-go sayesinde 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
    • “Cinsel etkileşimi istediğim biçim kesinlikle bu değil” demesi sadece kendi ölçütlerine göre.