Skip to content
verify mcp Beta VerifyMCP is currently in beta. If you notice any issues, get in touch and we’ll put it right.

ScriptCompiler

REMOTE · MCP.SCRIPTCOMPILER.COM · 2 COMPONENTS

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

+3 this week 72 Trust /100

Last scanned (22 hours ago)

Scores higher than 58% of remote servers

Reachable. Last reached 4 Nov 2026.

Category IoT and Hardware

Trust breakdown (7 categories)

How this component scores in each security and reliability category. Every signal is checked automatically against the live server, and we only credit what we can confirm. How we score → Why this is hard to score →

Endpoint Security63
Transport & Reachability100
Schema Quality & AI Usability73
  • 100% of prompts and resources have a non-trivial description (not blank, and not just the item's name).Pass
  • AI-judged instruction clarity (good).Pass
  • Context-footprint check failed: tool/resource definitions use about 3327 tokens (~195/item across 17 items; 16 tools + 1 resources), over budget; trim descriptions and params. See how to fix → Fail
  • Usage-examples check failed: none of the tools include examples. See how to fix → Fail
Stability & Change Management43
  • Stability observed for 13 of 30 days with no destabilising changes; credit accrues until the full window elapses.Partial
Tool Coverage92
  • 100% of tools have a non-trivial description (not blank, and not just the tool's name).Pass
  • 70% of tool parameters carry a description.Partial
  • Structured output schemas are declared (6% of tools); any adoption earns full credit.Pass
Tool Safety100
  • No prompt-injection markers were found in the server instructions, tool names or descriptions we captured.Pass
  • All 1 tool(s) whose name or description implies an irreversible operation declare an MCP destructiveHint annotation.Pass
  • An AI judge read all 18 captured unit(s) of tool text and found none that tries to manipulate the model reading it.Pass
Capabilities100
  • Implements a current MCP spec version (2026-07-28).Pass
  • Supports UI / widget rendering.Pass
Changelog

Every change we have recorded for this component, newest first. Security-relevant changes are always shown. ▲ marks a change for the better, ▼ a change for the worse; unmarked changes are neutral.

  • 4 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 40 to 43. That category is still filling its 30-day observation window: 12 days of observed history at the previous scan, 13 at this one. The score rises as the window fills, whether or not the server changes.

  • 2 Nov 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 33 to 37. That category is still filling its 30-day observation window: 10 days of observed history at the previous scan, 11 at this one. The score rises as the window fills, whether or not the server changes.

  • 31 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 27 to 30. That category is still filling its 30-day observation window: 8 days of observed history at the previous scan, 9 at this one. The score rises as the window fills, whether or not the server changes.

  • 28 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 17 to 20. That category is still filling its 30-day observation window: 5 days of observed history at the previous scan, 6 at this one. The score rises as the window fills, whether or not the server changes.

  • 26 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 10 to 13. That category is still filling its 30-day observation window: 3 days of observed history at the previous scan, 4 at this one. The score rises as the window fills, whether or not the server changes.

  • 24 Oct 26 +1

    No change was recorded against any check on this day. Stability & Change Management went from 3 to 7. That category is still filling its 30-day observation window: 1 days of observed history at the previous scan, 2 at this one. The score rises as the window fills, whether or not the server changes.

  • 23 Oct 26 0
    • Stability: unverified → 0.03 ▲ functional
  • 22 Oct 26 66

    First indexed and scored.

Diagnostics

Diagnostic detail from the automated scan of this channel: what the scanner observed at each step, so you can see exactly where a check passed or failed. It is informational only and never changes the trust score.

Captured 4 Nov 2026 · Probed https://mcp.scriptcompiler.com/mcp

TLS valid

Negotiated TLS 1.3 with TLS_AES_128_GCM_SHA256 .

Subject Issuer Valid from Valid until Key Signature Serial
CN=scriptcompiler.com CN=WE1,O=Google Trust Services,C=US 2 Nov 2026 31 Jan 2027 ECDSA 256 ECDSA-SHA256 8458e5c5e9f737c70e664eb96a1eb2ed
SANs: scriptcompiler.com, *.scriptcompiler.com
CN=WE1,O=Google Trust Services,C=US (CA) CN=GTS Root R4,O=Google Trust Services LLC,C=US 13 Dec 2023 20 Feb 2029 ECDSA 256 ECDSA-SHA384 7ff31977972c224a76155d13b6d685e3
CN=GTS Root R4,O=Google Trust Services LLC,C=US (CA) CN=GlobalSign Root CA,OU=Root CA,O=GlobalSign nv-sa,C=BE 15 Nov 2023 28 Jan 2028 ECDSA 384 SHA256-RSA 7fe530bf331343bedd821610493d8a1b

Background: What to check on a remote MCP endpoint →

DNSSEC insecure

Validation of mcp.scriptcompiler.com. — Not signed

Zone DS Keys Algorithms Outcome
. trust_anchor 20326, 38696 8, 8 Verified
com. present 19718 13 Verified
scriptcompiler.com. absent Unsigned (proven) parent-signed NSEC/NSEC3 proves an unsigned delegation
Authentication No authorisation required

The endpoint answered without asking for a token. Anyone who knows the URL can reach it.

Result No authorisation required
HTTP status 200
Header Value
strict-transport-security max-age=31536000; includeSubDomains; preload
x-content-type-options nosniff

Background: How OAuth 2.1 works in the 2026 MCP spec →

Transports 2 probes
Transport URL Outcome Status Location
streamable-http https://mcp.scriptcompiler.com/mcp Verified 200
http (plaintext) http://mcp.scriptcompiler.com/mcp HTTPS enforced 301 https://mcp.scriptcompiler.com/mcp
MCP tools · 16 exposed · ~2,573 tokens

The tools this component advertises to a client, with an estimated token cost for each. Expand a tool to see its parameters and schema. The per-tool counts are indicative and are not scored directly; the schema's total context footprint is one signal in Schema Quality & AI Usability. A tool's description is untrusted text the model reads on every call, which is what makes this list a security surface and not just an inventory: how tool poisoning works →

Tool Tokens
clear_points ~127

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.

NameTypeReqDescription
axis–––
editor_code––The 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.
from_ms––Start of the time range in milliseconds on the video timeline.
to_ms––End of the time range in milliseconds.

No output schema declared.

No examples provided.

control_playback ~107

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.

NameTypeReqDescription
actionstringyes–
at_ms––Start of the time range in milliseconds on the video timeline.
editor_code––The 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.

No output schema declared.

No examples provided.

create_motion ~143

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.

NameTypeReqDescription
actions––Exact funscript points, for example from a pasted funscript. Use instead of sections.
devicestring–The device the motion is fitted to.
repeatinteger–Play the whole motion this many times in a row.
sections––The motion as consecutive sections. Use this for described motion.
title––Short name for the motion, for example Slow build-up. Used as the funscript title and download file name.

No output schema declared.

No examples provided.

derive_axis ~194

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.

NameTypeReqDescription
delay_msnumber––
editor_code––The 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.
invertboolean––
methodstring––
position_offsetnumber––
scalenumber––
source_axisstringyes–
target_axisstringyes–
target_maxnumber––
target_minnumber––

No output schema declared.

No examples provided.

edit_chapters ~160

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.

NameTypeReqDescription
actionstringyes–
editor_code––The 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.
from_ms––Start of the time range in milliseconds on the video timeline.
name–––
new_name–––
to_ms––End of the time range in milliseconds.

No output schema declared.

No examples provided.

edit_points ~209

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.

NameTypeReqDescription
add––Points to put at exact times.
axisstring–Axis. stroke is the main up and down axis.
editor_code––The 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_ms––Times in milliseconds of points to delete.
replace_within_msinteger–How close counts as the same point.

No output schema declared.

No examples provided.

export_funscript ~128

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

NameTypeReqDescription
actions––Exact funscript points, for example from a pasted funscript. Use instead of sections.
devicestring–The device the motion is fitted to.
repeatinteger–Play the whole motion this many times in a row.
sections––The motion as consecutive sections. Use this for described motion.
title––Short name for the motion, for example Slow build-up. Used as the funscript title and download file name.

No output schema declared.

No examples provided.

look_at_video ~163

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.

NameTypeReqDescription
at_ms––Start of the time range in milliseconds on the video timeline.
countinteger––
editor_code––The 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.
from_ms––Start of the time range in milliseconds on the video timeline.
to_ms––End of the time range in milliseconds.

No output schema declared.

No examples provided.

play_motion ~194

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.

NameTypeReqDescription
actions––Exact funscript points, for example from a pasted funscript. Use instead of sections.
connection_keystringyesThe 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).
devicestring–Which device the key belongs to. bluetooth covers every Bluetooth toy paired on the ToyController phone screen.
repeatinteger–Play the whole motion this many times in a row.
sections––The motion as consecutive sections. Use this for described motion.
title––Short name for the motion, for example Slow build-up. Used as the funscript title and download file name.

No output schema declared.

No examples provided.

read_points ~124

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.

NameTypeReqDescription
axisstringyesAxis. stroke is the main up and down axis.
editor_code––The 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.
from_msintegeryes–
to_msintegeryes–

No output schema declared.

No examples provided.

read_script ~127

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.

NameTypeReqDescription
editor_code––The 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.

No output schema declared.

No examples provided.

run_editor_tool ~219

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.

NameTypeReqDescription
axisstring–Axis. stroke is the main up and down axis.
editor_code––The 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.
from_ms––Start of the time range in milliseconds on the video timeline.
params––The tool's settings by name.
to_ms––End of the time range in milliseconds.
toolstringyesTool id from read_script, for example smoothing.

No output schema declared.

No examples provided.

stop_motion ~91

Stop whatever is playing on the user's device.

NameTypeReqDescription
connection_keystringyesThe 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).
devicestring–Which device the key belongs to. bluetooth covers every Bluetooth toy paired on the ToyController phone screen.
NameTypeReqDescription
devicestringyes–
stoppedbooleanyes–

No examples provided.

undo_last_change ~80

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.

NameTypeReqDescription
editor_code––The 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.

No output schema declared.

No examples provided.

write_coordinated_axes ~276

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.

NameTypeReqDescription
axis_specsarrayyes–
editor_code––The 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.
schedulearrayyes–
target_duration_ms–––

No output schema declared.

No examples provided.

write_points ~231

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.

NameTypeReqDescription
actions––Exact points.
axisstring–Axis. stroke is the main up and down axis.
editor_code––The 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_speedboolean––
from_ms––Start of the time range in milliseconds on the video timeline.
repeatinteger––
sections––The motion as consecutive sections.

No output schema declared.

No examples provided.

Install

How do I install the ScriptCompiler MCP server?

ScriptCompiler is a hosted endpoint at https://mcp.scriptcompiler.com/mcp, so there is nothing to install locally. Ready-made configuration for Claude, Cursor, VS Code, Codex and 5 more is on this page, copied from each client's own documentation.

remote · mcp.scriptcompiler.com

# add to Claude Code
claude mcp add --transport http com-scriptcompiler-scriptcompiler 'https://mcp.scriptcompiler.com/mcp'
Common questions

What is the ScriptCompiler MCP server?

ScriptCompiler is an MCP server listed in the public MCP registry as com.scriptcompiler/scriptcompiler. Create motion and play it on The Handy, Autoblow, VacuGlide, Kiiroo, OSSM and Lovense toys. This page covers its hosted endpoint (https://mcp.scriptcompiler.com/mcp).

Is the ScriptCompiler MCP server safe to use?

ScriptCompiler scores 72 out of 100 on VerifyMCP. That is a record of what we were able to check automatically, not an endorsement. The category breakdown on this page shows every signal behind the number, including the ones we could not confirm.

What tools does the ScriptCompiler MCP server expose?

ScriptCompiler exposes 16 tools: create_motion, export_funscript, play_motion, stop_motion, read_script, and 11 more. Their descriptions and schemas cost roughly 2,573 tokens of context every time the server is loaded.

Does the ScriptCompiler MCP server require authentication?

No. We connected to ScriptCompiler without credentials and it answered, so anything it exposes is reachable by anyone who knows the address.

Is the ScriptCompiler MCP server still maintained?

ScriptCompiler is still listed as active in the MCP registry. We last reached this channel on 4 November 2026. Those dates come from our own scans of the registry and the channel itself, not from anything the publisher announced.