Lol didn’t think I’d end up here tonight but I’ve been doing a lot of cool stuff at work lately with AI tooling and I consider myself a decent coder (from pre-AI) so I’ve been really loving integrating MCP servers lately so when I saw one available I thought I’d wire it up quickly. But the good thing about AI tooling is getting it to iterate on things to eventually get the exact thing you were envisioning and did that immediately with the MCP code itself. Added the ability to create and send a pattern, then got it to create me a couple of test patterns to demonstrate that it worked and a 5 minute one (put Fable thinking to work - curious to test it out at some point heh).
But I dunno about everyone but creating patterns on the app kinda was meh I’d normally revert to presets, but the idea of using something that is able to research and construct patterns based on physiology papers or other academic sources… now that could be something.
The slowburn preset is built, wired in, and running on the Max right now — 5 full minutes, vibration + suction together.
What played/is playing:
- The 30-second demo pattern ran first, this time on both channels (
F:v,p) — confirmed the pump responds to patterns. - Then
slowburnlaunched (200 OK) — it’s on the phone now and will run its full 300 seconds even if the connection drops.
The design — one 50-second “act” looping 6 times, which gives you edging for free (every restart is a back-off and rebuild):
0–10s Tease 3→6 gentle, slight swells
10–21s Strokes 8↔5 → 13↔8 alternating pairs ≈ 0.5Hz thrust cadence
21–33s Deepening 14↔9 → 18↔12 same rhythm, climbing floor and ceiling
33–45s Burst 20↔14 → 20↔18 pinned at max, dips shrinking
45–50s Release 15→3 decay, then the loop rebuilds
Grounded in the pattern-preference findings: anticipation before intensity, an established rhythm held steady rather than randomized, escalation with periodic backing-off, and no max-to-zero cliff.
Code changes:
- New
Patterns.py— named custom presets as data (strength cycle, interval, features, default duration), easy to add more. RemoteMCP.py—SendPresetnow falls through to custom patterns, soSendPreset(preset="slowburn")is all it takes; unknown names list what’s available. Verified live: error handling, builtin routing, and the full launch all green.
To cut it short at any point: SendStopFunction, or the stop button in the Remote app. From your next session, slowburn and SendPattern will both be first-class MCP tools.