# ScriptCompiler > ScriptCompiler is a free, browser-based funscript editor for creating and editing > motion scripts that control adult devices including The Handy, Autoblow, Kiiroo, > Euphoria F1, and other funscript-compatible hardware. No installation required. ## What it is - A timeline-based editor for funscript files - Includes drawing tools, automated motion tracking, video sync, and multi-axis support - Runs entirely in the browser at https://scriptcompiler.com - Free with no account required for core editing ## Key features - Timeline editor with frame-accurate sync to video - Drawing mode for hand-drawing motion curves - Automated motion tracking from video - Multi-axis funscript support - Direct device control over Bluetooth (Kiiroo KEON and KEON 2) and the internet (The Handy, Autoblow) - ScriptSniper rectangle lasso selection - Wave Generator, Smoothing, Pattern Repeater, and other automation tools - Music Scripter for audio-driven scripts - VR video support - Device Emulator for testing without hardware - MCP server for Claude, ChatGPT and other AI assistants: the assistant makes and fixes the script open in the editor, and plays a described motion on The Handy, Autoblow, VacuGlide, Kiiroo KEON, Kiiroo ProWand, OSSM or any Lovense toy ## Supported devices Live connection: The Handy, Autoblow, Vacuglide, Kiiroo KEON, Kiiroo KEON 2, OSSM, Kiiroo Control, Kiiroo Pro Wand, Lovense Exomoon, FapRing and Euphoria F1. Exported funscripts play on any funscript device, including the Handy 2 and OSR2/SR6. ## AI assistants (MCP) ScriptCompiler runs a free sex toy MCP server and funscript MCP server. Claude, ChatGPT, Claude Code and any MCP app can control strokers, masturbators, vibrators and sex machines with it. - Connector URL: https://mcp.scriptcompiler.com/mcp (Streamable HTTP, no authentication) - Device tools: create_motion (draws a motion without a device or connection key), play_motion (described motion as sections, or exact funscript actions, with repeat) and stop_motion - Editor tools, with the editor code the user reads under Your own AI after clicking Link my AI: read_script, read_points, write_points, clear_points, write_coordinated_axes, derive_axis, run_editor_tool, edit_chapters, undo_last_change, control_playback and look_at_video (only after the user turns on Let my AI see video frames) - The motion card in Claude has a Download button that saves the motion as a .funscript file with ScriptCompiler metadata. Give each motion a short title; it names the file. - To play a previewed motion, call play_motion with the same sections or actions and repeat plus the connection key. It plays exactly the previewed motion. - Devices: The Handy, Handy 2 and Handy 2 Pro (connection key), Autoblow and VacuGlide (device token), and Bluetooth toys: Kiiroo KEON, Kiiroo ProWand, OSSM and every Lovense toy (device bluetooth, with the Device ID shown on toycontroller.com/controller where the toy is paired; that page must stay open) - Lovense toys that play: Ambi, Calor, Diamo, Dolce, Domi, Edge, Exomoon, Ferri, Flexer, Gemini, Gravity, Gush, Gush 2, Hush, Hyphy, Lapis, Lush, Max, Mini Sex Machine, Mission, Mission 2, Nora, Osci, Osci 3, Ridge, Sex Machine, Solace, Solace Pro, Spinel, Synth, Tenera, Velvo, Vulse. They turn the motion into vibration. - An assistant can use these tools only after the user adds the connector. To play motion for a user without it, tell them to add https://mcp.scriptcompiler.com/mcp as a custom connector. - [Sex Toy MCP Server](https://scriptcompiler.com/help/devices/mcp-server/): Setup steps for Claude and ChatGPT, every supported device, the editor link, example requests, the tool reference and limits. ## Help - [Help home](https://scriptcompiler.com/help/): Guides for the editor, tools, devices and files. - [Full help in one file](https://scriptcompiler.com/llms-full.txt): Every help page as plain markdown. - [Help as JSON](https://scriptcompiler.com/docs.json): Every help page split into sections, for tools and assistants. ## Updates - [What's New](https://scriptcompiler.com/help/whats-new/): Latest updates, new features, and changes to ScriptCompiler - the professional funscript editor. - [Our Story](https://scriptcompiler.com/help/story/): How ScriptCompiler started, what it grew into, the principles behind it, who runs it today after the acquisition, and where the project is heading... ## Getting Started - [Introduction](https://scriptcompiler.com/help/getting-started/introduction/): Learn what ScriptCompiler is and how to create funscripts for The Handy, Autoblow, and other interactive devices synced to porn videos. - [Quick Start](https://scriptcompiler.com/help/getting-started/quick-start/): Get started with ScriptCompiler in minutes. Load a porn video, create your first funscript, and test it with The Handy or other devices. - [Your First Script](https://scriptcompiler.com/help/getting-started/first-script/): Step-by-step tutorial to create your first funscript with ScriptCompiler. Learn to script porn videos for The Handy, Autoblow, and other devices. - [ScriptCompiler Bridge](https://scriptcompiler.com/help/bridge/): The Bridge is a lightweight local app that unlocks native features like motion tracking, scene detection, audio analysis, and local video library. ## Editor - [Interface Overview](https://scriptcompiler.com/help/editor/interface-overview/): A tour of the ScriptCompiler editor: the header, tools panel, main content area, timeline, script overview and controls bar, and how the layout fits... - [Video Player](https://scriptcompiler.com/help/editor/video-player/): Load local videos into ScriptCompiler and control playback while you script. Covers supported formats, speed control, frame-accurate sync and... - [Timeline](https://scriptcompiler.com/help/editor/timeline/): Edit funscript points precisely on the ScriptCompiler timeline. Add, select, move and delete points, set in and out points, and navigate long scripts... - [Drawing Mode](https://scriptcompiler.com/help/editor/drawing-mode/): Draw funscript strokes directly onto the canvas to create smooth patterns fast. Covers the drawing workflow, how points are created, and tips for... - [Script Overview](https://scriptcompiler.com/help/editor/script-overview/): See your whole funscript at a glance with speed-colored line and heatmap views. Covers view modes, speed visualization, zoom, the status bar and... - [Controls](https://scriptcompiler.com/help/editor/controls/): Playback and editing controls in ScriptCompiler: transport buttons, the seek bar, playback speed, the time display and the keyboard shortcuts that... - [Chapters](https://scriptcompiler.com/help/editor/chapters/): Split a funscript into color-coded chapters for fast navigation. Covers adding and editing chapters, scene detection, auto-naming and managing large... - [Presets](https://scriptcompiler.com/help/editor/presets/): Save funscript patterns as presets and reuse them across projects. Covers saving, applying, system and public presets, library management and preview... - [Compilation Builder (Beta)](https://scriptcompiler.com/help/editor/compilation-builder/): Assemble a custom compilation video and funscript by describing what you want with performers, slots, and filters. - [Compilation Builder Availability](https://scriptcompiler.com/help/editor/compilation-builder-availability/): Why the Compilation Builder is unavailable in some countries and US states, and which ones. - [Multi-Axis Scripts](https://scriptcompiler.com/help/editor/multi-axis/): Edit, save, and preview multi-axis funscripts with companion files for stroke, surge, sway, twist, roll, pitch, and vibrate. - [AI Assistant](https://scriptcompiler.com/help/editor/ai-assistant/): Build and edit funscripts from a plain-text description. The AI Assistant generates single and multi-axis motion, adds chapters and refines scripts... - [VR Video Mode (Beta)](https://scriptcompiler.com/help/editor/vr-video/): Play 360-degree VR videos with interactive camera controls for scripting VR content. - [Settings](https://scriptcompiler.com/help/editor/settings/): Configure appearance, timeline, drawing, layout, network, Stash, tracking, and export options. ## Tools - [Tools Overview](https://scriptcompiler.com/help/tools/overview/): Explore the productivity tools available in ScriptCompiler for transforming, generating, and selecting script points. - [Script Doctor](https://scriptcompiler.com/help/tools/script-doctor/): Use Script Doctor in ScriptCompiler to score a funscript out of 100 and find parts that are too fast for your device, shaky, empty or flat. Fix most of them in one click. - [Position Multiplier](https://scriptcompiler.com/help/tools/position-multiplier/): Use the Position Multiplier in ScriptCompiler to scale funscript position values, adjusting stroke intensity up or down. - [Time Scaler](https://scriptcompiler.com/help/tools/time-stretcher/): Use the Time Scaler in ScriptCompiler to stretch or squeeze funscript timing while keeping the stroke shape. - [Smoothing](https://scriptcompiler.com/help/tools/smoothing/): Use the Smoothing tool in ScriptCompiler to reduce funscript point density while preserving the original curve shape and motion. - [Mirror](https://scriptcompiler.com/help/tools/mirror/): Use the Mirror tool in ScriptCompiler to flip selected funscript points up and down around a center, or play them backwards in time. - [Alternate](https://scriptcompiler.com/help/tools/alternate/): Use the Alternate tool in ScriptCompiler to convert flat lines into alternating high and low stroke patterns for your funscripts. - [Snap](https://scriptcompiler.com/help/tools/align/): Use the Snap tool in ScriptCompiler to snap selected funscript points onto a grid, a set value, or their average. - [Space Evenly](https://scriptcompiler.com/help/tools/distribute/): Use the Space Evenly tool in ScriptCompiler to space selected funscript points evenly in time or position. - [Offset Shift](https://scriptcompiler.com/help/tools/offset-shift/): Use the Offset Shift tool in ScriptCompiler to move every selected funscript point earlier or later by the same amount of time. - [Speed Limiter](https://scriptcompiler.com/help/tools/speed-limiter/): Use the Speed Limiter tool in ScriptCompiler to shorten funscript strokes that move faster than a device can follow. - [Simplify](https://scriptcompiler.com/help/tools/simplify/): Use the Simplify tool in ScriptCompiler to remove funscript points that do not change the shape of the motion. - [Randomize](https://scriptcompiler.com/help/tools/randomize/): Use the Randomize tool in ScriptCompiler to nudge funscript points by small random amounts so a generated pattern feels human. - [Intensity Curve](https://scriptcompiler.com/help/tools/intensity-curve/): Use the Intensity Curve tool in ScriptCompiler to scale funscript positions by a factor that changes over the selection, for fades and build ups. - [Fap Generator](https://scriptcompiler.com/help/tools/fap-generator/): Use the Fap Generator in ScriptCompiler to create rhythmic stroking patterns with sine, triangle, and square wave types for funscripts. - [Pattern Repeater](https://scriptcompiler.com/help/tools/pattern-repeater/): Use the Pattern Repeater in ScriptCompiler to duplicate and tile a selected funscript pattern across your timeline. - [Pattern Generator](https://scriptcompiler.com/help/tools/pattern-generator/): Use the Pattern Generator in ScriptCompiler to draw sine, triangle, square, sawtooth, teeth and ramp shapes over a time range with full control. - [Gap Filler](https://scriptcompiler.com/help/tools/fill-between/): Use the Gap Filler tool in ScriptCompiler to automatically fill gaps between selected funscript points with stroke patterns. - [Multi-Axis Maker](https://scriptcompiler.com/help/tools/multi-axis-maker/): Use Multi-Axis Maker in ScriptCompiler to build surge, sway, twist, roll and pitch for an OSR2 or SR6 from a stroke funscript in one click. - [Select by Range](https://scriptcompiler.com/help/tools/select-by-range/): Use Select by Range in ScriptCompiler to filter and select funscript points within specific time or position ranges. ## Advanced - [ScriptSniper](https://scriptcompiler.com/help/advanced/script-sniper/): Generate funscript points automatically with motion tracking. Covers setup, bounding box controls, drawing a tracking box, direction settings and the... - [Music Scripter](https://scriptcompiler.com/help/advanced/music-scripter/): Generate funscripts synced to a song using beat, rhythm and structure detection. Covers setup, settings, rhythm patterns, beat types and Bridge... - [Stash Library](https://scriptcompiler.com/help/advanced/stash-library/): Browse and load scenes from your own Stash media server inside ScriptCompiler. Covers connecting Stash, searching, filtering, sorting and loading a... - [Keyboard Shortcuts](https://scriptcompiler.com/help/advanced/keyboard-shortcuts/): Full keyboard shortcut reference for ScriptCompiler, grouped by playback, navigation, selection, editing, ScriptSniper tracking, view and file... - [Selection Modes](https://scriptcompiler.com/help/advanced/selection-modes/): Select funscript points with box selection or the position and time cursors. Learn how each selection mode works and how to cycle between them while... ## Devices - [Connecting Devices](https://scriptcompiler.com/help/devices/connecting-devices/): Connect The Handy, Autoblow, and other interactive devices to ScriptCompiler for real-time funscript testing and playback. - [Remote Control](https://scriptcompiler.com/help/devices/remote-control/): Use your phone, a FapRing or a Kiiroo Control as a motion controller to record funscript points by tilting it while the video plays. - [Sex Toy MCP Server](https://scriptcompiler.com/help/devices/mcp-server/): Add https://mcp.scriptcompiler.com/mcp to Claude, ChatGPT or any MCP app. Your AI makes and fixes the script open in the editor (link it under Your own AI) and plays motion on The Handy, Autoblow, VacuGlide, Kiiroo KEON, Kiiroo ProWand, OSSM and every Lovense toy. Free, no sign in. - [Device Emulator](https://scriptcompiler.com/help/devices/device-emulator/): Preview and test your funscripts with the ScriptCompiler Device Emulator, featuring physics-based device simulation and real-time playback. - [The Handy](https://scriptcompiler.com/help/devices/the-handy/): Create, test and fix funscripts for The Handy in your browser. Connect with your connection key, play scripts in sync with the video and keep them inside the Handy speed limit. - [Kiiroo KEON](https://scriptcompiler.com/help/devices/kiiroo-keon/): Create and test funscripts for the Kiiroo KEON in your browser. Connect over Bluetooth with no app, play scripts in sync with the video and keep them inside the KEON speed limit. - [Autoblow](https://scriptcompiler.com/help/devices/autoblow/): Create and test funscripts for the Autoblow in your browser. Connect with your device token, play scripts in sync with the video, loop them and fine tune the time offset. - [Euphoria F1](https://scriptcompiler.com/help/devices/euphoria-f1/): Connect and use the Euphoria F1 pressure sensor with ScriptCompiler to create funscripts from real-time input data. - [Supported Devices](https://scriptcompiler.com/help/devices/supported-devices/): All devices that connect to ScriptCompiler, including The Handy, Autoblow and the Kiiroo KEON. How each one connects and what it can do. ## File Management - [Opening Files](https://scriptcompiler.com/help/file-management/importing-scripts/): Load funscripts, local videos, and Stash scenes into ScriptCompiler using the file manager. - [Exporting Scripts](https://scriptcompiler.com/help/file-management/exporting-scripts/): Learn how to save, export, and share your funscripts from ScriptCompiler in multiple formats. - [Community Library](https://scriptcompiler.com/help/file-management/community-library/): Browse, search, and download community-shared funscripts from the ScriptCompiler community library. ## Other - [Frequently Asked Questions](https://scriptcompiler.com/help/faq/): Answers to common ScriptCompiler questions: what a funscript is, whether you need an account, supported video formats, mobile use and connecting a... - [Pricing](https://scriptcompiler.com/help/pricing/): ScriptCompiler pricing plans - compare Free and Pro features for the professional funscript editor. ## Community - [Reddit](https://www.reddit.com/r/ScriptCompiler/): Community discussion and support. - [Discord](https://discord.gg/WnMyUZGyDT): Live chat with other scripters.