fix up for latest go-buttplug and intiface central - #3
Conversation
|
ssorry, converting this to a draft for now until i made sure that the controller stops when it needs to stop. |
|
Thanks for these contributions! I appreciate you are advancing With respect to It’s beyond the scope of the PR but I have found tool description to be the most critical aspect of the MCP server. Perhaps it is better to have solely tool-based access … then focus on tool descriptions and more high-level tools. |
i'm fine with that! i was originally hesitant since crush, the app that i originally use, kept asking for permission to use tools, but it seems like opencode just uses them without asking, which is great! |
|
actually, a fun idea would be to allow custom overriding of the tool descriptions to better suggest how the agent should use them. as far as high-level tools go, i also had the idea of making a simple expression language to describe vibration patterns that the agent can use to generate. |
also converted existing resources into tools calls for opencode/crush support. see anomalyco/opencode#806.


this PR consists of 2 commits:
fix up for go-buttplug v0.0.8 changes(also meant that i rewrote a lot of the code, sorry!)add --no-resources for opencode/crushImportant
You need
GOEXPERIMENT=jsonv2to build this until Go 1.26 is released andencoding/json/v2is officially added. This is an upstream decision coming fromgo-buttplug. Sorry!test result with Intiface Central 2.6.7+33 and the opencode MCP config below:
opencode.json
{ "$schema": "https://opencode.ai/config.json", "mcp": { "buttplug-mcp": { "type": "local", "command": [ "./bin/buttplug-mcp", "--ws-port", "12345", "--ws-host", "<REDACTED>", "--no-resources" ] } } }have fun!! ❤️
P/S: next version of go-buttplug that uses schema v4 should be way easier to use. right now that's still in Intiface beta, so i don't want to push for it yet.