Skip to main content

ScriptCompiler

com.scriptcompiler/scriptcompilerVersion 1.0.0

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

Status

Responds159 msAnswered our handshake without sign-in.

Registry data may be out of date

We could not refresh it, so this page shows the last copy.
Last checked
Nov 14, 2026, 14:15 UTC
Latency
159 ms
Remotes responding
2 of 2
Sign-in
OAuth sign-in, No sign-in
Hosting
Hosted outside the EU (detected)
Registry data as of
Nov 14, 2026, 21:12 UTC

Data from the official MCP Registry, checked by run.zero. How we check

Connect

Streamable HTTP
https://mcp.scriptcompiler.com/account/mcpSign-in required159 ms
OAuth sign-in

Claude Code

This server asks for sign-in. Your client opens the sign-in when it connects.

claude mcp add --transport http scriptcompiler https://mcp.scriptcompiler.com/account/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: scriptcompiler
Remote MCP server URL: https://mcp.scriptcompiler.com/account/mcp

Cursor

{
  "mcpServers": {
    "scriptcompiler": {
      "url": "https://mcp.scriptcompiler.com/account/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"scriptcompiler","type":"http","url":"https://mcp.scriptcompiler.com/account/mcp"}'
Streamable HTTP
https://mcp.scriptcompiler.com/mcpResponds328 ms
No sign-in

Claude Code

claude mcp add --transport http scriptcompiler https://mcp.scriptcompiler.com/mcp

Claude Desktop and claude.ai

Settings > Connectors > Add custom connector
Name: scriptcompiler
Remote MCP server URL: https://mcp.scriptcompiler.com/mcp

Cursor

{
  "mcpServers": {
    "scriptcompiler": {
      "url": "https://mcp.scriptcompiler.com/mcp"
    }
  }
}

VS Code

code --add-mcp '{"name":"scriptcompiler","type":"http","url":"https://mcp.scriptcompiler.com/mcp"}'

Built your own server? run.zero hosts MCP servers on European infrastructure.

Host your own MCP server on run.zero

Tools

16 tools

Tools of ScriptCompiler
Read-only
Idempotent
Open world
clear_pointsDelete 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.YesNoNoNo
control_playbackPlay, 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.NoNoNoNo
create_motionRender 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.NoYesYesNo
derive_axisBuild 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.NoNoNoNo
edit_chaptersChange 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.NoNoNoNo
edit_pointsAdd, 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.NoNoNoNo
export_funscriptThe motion as a .funscript file with ScriptCompiler metadata, for the motion card's Download button.NoYesYesNo
look_at_videoSee 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.NoYesYesNo
play_motionRender a described motion (or exact funscript points) and play it on the user's device, replacing anything already playing. Returns what will actually play.NoNoNoYes
read_pointsThe 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.NoYesYesNo
read_scriptOverview 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.NoYesYesNo
run_editor_toolRun 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.NoNoNoNo
stop_motionStop whatever is playing on the user's device.NoNoYesYes
undo_last_changeUndo 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.NoNoNoNo
write_coordinated_axesWrite 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.NoNoNoNo
write_pointsReplace 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.NoNoNoNo

Details

Registry status
Active
Published
Oct 22, 2026
Updated
Oct 22, 2026
Repository
Not given
Categories (suggested)
Design and mediaSuggested categories are assigned automatically from the registry text and may be wrong. Verified operators can correct them.
GDPR
Not declared

Are you the operator? Claim this listing