Skip to main content
Glama

ScriptCompiler

Server Details

Create motion and play it on The Handy, Autoblow, VacuGlide, Kiiroo, OSSM and Lovense toys.

If you are the author of this connector, you can claim ownership by verifying the domain or GitHub account it belongs to. Claimed connector authors can inspect health checks, view analytics, and manage their listing.
Status
Healthy
Last Tested
Transport
Streamable HTTP · MCP 2025-11-25
URL

TDQS

Score is being calculated.

Available Tools

16 tools
clear_pointsClear points
Destructive
Inspect

Delete points. Give axis to clear one axis, or leave it out for every axis. Give from_ms and to_ms to clear only that range. Only when the user asks to clear, delete or start over.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNo
to_msNoEnd of the time range in milliseconds.
from_msNoStart of the time range in milliseconds on the video timeline.
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
control_playbackControl playbackInspect

Play, pause or jump to at_ms in the user's editor, for example to have the user watch and feel one part. play and pause need a loaded video.

ParametersJSON Schema
NameRequiredDescriptionDefault
at_msNoStart of the time range in milliseconds on the video timeline.
actionYes
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
create_motionCreate motion
Read-onlyIdempotent
Inspect

Render a described motion (or exact funscript points) and show it without playing it on a device. Needs no connection key. To play it afterwards, call play_motion with the same motion.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoShort name for the motion, for example Slow build-up. Used as the funscript title and download file name.
deviceNoThe device the motion is fitted to.handy
repeatNoPlay the whole motion this many times in a row.
actionsNoExact funscript points, for example from a pasted funscript. Use instead of sections.
sectionsNoThe motion as consecutive sections. Use this for described motion.
derive_axisDerive axisInspect

Build target_axis from source_axis over the whole script. method follow makes a scaled, optionally inverted copy shifted by delay_ms and position_offset, for example a gentler, delayed surge from the stroke. method per_stroke puts one point on each stroke of the source, moving between target_min (at the bottom) and target_max (at the top), best for vibrate.

ParametersJSON Schema
NameRequiredDescriptionDefault
scaleNo
invertNo
methodNofollow
delay_msNo
target_maxNo
target_minNo
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
source_axisYes
target_axisYes
position_offsetNo
edit_chaptersEdit chaptersInspect

Change the chapters: add (name, from_ms, to_ms), rename (name, new_name), retime (name, from_ms, to_ms), remove (name) or clear_all. Chapters are found by exact name and overlapping neighbours are trimmed. Only when the user asks for a chapter change.

ParametersJSON Schema
NameRequiredDescriptionDefault
nameNo
to_msNoEnd of the time range in milliseconds.
actionYes
from_msNoStart of the time range in milliseconds on the video timeline.
new_nameNo
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
edit_pointsEdit pointsInspect

Add, move or delete single points on one axis at exact times. Every other point stays as it is. add puts each point exactly where given and replaces an existing point within replace_within_ms of it. remove_at_ms deletes the point nearest each time, within replace_within_ms. To move a point, remove its old time and add the new one. Points are not speed fitted; the result lists any part now too fast for devices. Lands in the editor at once as one Undo step.

ParametersJSON Schema
NameRequiredDescriptionDefault
addNoPoints to put at exact times.
axisNoAxis. stroke is the main up and down axis.stroke
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
remove_at_msNoTimes in milliseconds of points to delete.
replace_within_msNoHow close counts as the same point.
export_funscriptFunscript file
Read-onlyIdempotent
Inspect

The motion as a .funscript file with ScriptCompiler metadata, for the motion card's Download button.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoShort name for the motion, for example Slow build-up. Used as the funscript title and download file name.
deviceNoThe device the motion is fitted to.handy
repeatNoPlay the whole motion this many times in a row.
actionsNoExact funscript points, for example from a pasted funscript. Use instead of sections.
sectionsNoThe motion as consecutive sections. Use this for described motion.
look_at_videoLook at video
Read-onlyIdempotent
Inspect

See frames of the user's video as small pictures: one at at_ms, or up to 6 spread evenly from from_ms to to_ms. Use it to see what happens in a part, not to time single strokes. Only works after the user turns on Let my AI see video frames.

ParametersJSON Schema
NameRequiredDescriptionDefault
at_msNoStart of the time range in milliseconds on the video timeline.
countNo
to_msNoEnd of the time range in milliseconds.
from_msNoStart of the time range in milliseconds on the video timeline.
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
play_motionPlay motionInspect

Render a described motion (or exact funscript points) and play it on the user's device, replacing anything already playing. Returns what will actually play.

ParametersJSON Schema
NameRequiredDescriptionDefault
titleNoShort name for the motion, for example Slow build-up. Used as the funscript title and download file name.
deviceNoWhich device the key belongs to. bluetooth covers every Bluetooth toy paired on the ToyController phone screen.handy
repeatNoPlay the whole motion this many times in a row.
actionsNoExact funscript points, for example from a pasted funscript. Use instead of sections.
sectionsNoThe motion as consecutive sections. Use this for described motion.
connection_keyYesThe device's connection key (Handy) or device token (Autoblow, VacuGlide) from the manufacturer's app, or the Device ID on the ToyController phone screen (Bluetooth toys).
read_pointsRead points
Read-onlyIdempotent
Inspect

The points of one axis between from_ms and to_ms, thinned out evenly past 400 points, plus a summary of that range: main stroke frequency, position range and whether it builds or winds down.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisYesAxis. stroke is the main up and down axis.
to_msYes
from_msYes
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
read_scriptRead script
Read-onlyIdempotent
Inspect

Overview of the script open in the user's ScriptCompiler editor: each axis with its points, range, strokes and speed, parts too fast for devices (over 400 units per second), chapters, the video length, the play position, the user's selection, whether video frames are allowed, and the editor tools run_editor_tool can run. Call it first, and again after the user edits.

ParametersJSON Schema
NameRequiredDescriptionDefault
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
run_editor_toolRun editor toolInspect

Run one of the editor's own Tools panel tools (Smoothing, Speed Limiter, Simplify and the rest) on an axis, as if the user ran it. read_script lists the ids and settings. Give from_ms and to_ms for one range, or leave both out for the whole axis. A tool marked needs ScriptCompiler Pro cannot run: tell the user it is part of Pro and do not copy its effect another way. Lands as one Undo step.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNoAxis. stroke is the main up and down axis.stroke
toolYesTool id from read_script, for example smoothing.
to_msNoEnd of the time range in milliseconds.
paramsNoThe tool's settings by name.
from_msNoStart of the time range in milliseconds on the video timeline.
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
stop_motionStop motion
Idempotent
Inspect

Stop whatever is playing on the user's device.

ParametersJSON Schema
NameRequiredDescriptionDefault
deviceNoWhich device the key belongs to. bluetooth covers every Bluetooth toy paired on the ToyController phone screen.handy
connection_keyYesThe device's connection key (Handy) or device token (Autoblow, VacuGlide) from the manufacturer's app, or the Device ID on the ToyController phone screen (Bluetooth toys).

Output Schema

ParametersJSON Schema
NameRequiredDescription
deviceYes
stoppedYes
undo_last_changeUndo last changeInspect

Undo the last change you made in the editor. It refuses when the user edited those axes since, so it never undoes the user's own work.

ParametersJSON Schema
NameRequiredDescriptionDefault
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
write_coordinated_axesWrite coordinated axesInspect

Write several axes at once from one shared stroke rhythm, so all axes keep the same beat. schedule is an ordered, gap-free list of cycles (start_ms, duration_ms, kind stroke or hold, and for strokes bottom 0, top 100, peak_frac 0.5 and intensity 50 unless given). One stroke cycle is one full down and up. A hold pauses where the last cycle ended or at its position. Each axis spec is tracking (curve snap, ease, settle, hold-peak or rise, phase_lag 0-1, amplitude, baseline, per_cycle_track) or static (position, ease_in_ms). amplitude scales the schedule depth: the stroke axis always uses amplitude 50 and baseline 50, companions use a smaller amplitude. Set speed with duration_ms and depth with bottom and top. Pass target_duration_ms when the user asks for a length; the call fails if the schedule does not match it. Lands as one Undo step and returns measured stats.

ParametersJSON Schema
NameRequiredDescriptionDefault
scheduleYes
axis_specsYes
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
target_duration_msNo
write_pointsWrite pointsInspect

Replace a time range on one axis with a described motion (sections, the same as play_motion) or with exact points. With sections the motion starts at from_ms and replaces what was there until it ends. With actions the points keep their own times, or are moved so the first one lands on from_ms. The motion is fitted to 400 units per second like the Speed Limiter unless fit_to_device_speed is false. Lands in the editor at once as one Undo step. To add, move or delete single points without replacing a range, use edit_points.

ParametersJSON Schema
NameRequiredDescriptionDefault
axisNoAxis. stroke is the main up and down axis.stroke
repeatNo
actionsNoExact points.
from_msNoStart of the time range in milliseconds on the video timeline.
sectionsNoThe motion as consecutive sections.
editor_codeNoThe editor code the user reads from the editor's AI panel under Your own AI, for example K7P4QX. Leave it out when connected with the account address.
fit_to_device_speedNo

Tool Schema Changelog

Recent tool additions, removals, and schema changes observed during successful MCP inspections.

  1. 16 tool updates
    • First observedclear_points
    • First observedcontrol_playback
    • First observedcreate_motion
    • First observedderive_axis
    • First observededit_chapters
    • First observededit_points
    • First observedexport_funscript
    • First observedlook_at_video
    • First observedplay_motion
    • First observedread_points
    • First observedread_script
    • First observedrun_editor_tool
    • First observedstop_motion
    • First observedundo_last_change
    • First observedwrite_coordinated_axes
    • First observedwrite_points

Related MCP Connectors

Related MCP Servers

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources