Skip to main content
Glama

screen_record_stop

Idempotent

Stop recording. Arsaze cuts the take like a person's (zooms on clicks and typing, captions from your narration, waiting cut out, private details blurred), renders it, and puts it on the timeline of a NEW project (on the user's computer, private) with video/audio analysis off. Returns project_id, job_id, asset_id, clip_id and the editor link, plus what the edit did. Continue editing that job with the usual timeline tools. Also returns steps: the take as numbered steps, ready to turn into written docs, and script: the narration and steps timed in the finished video's seconds (saved with the project, ready to be voiced line by line). The look is what you set at screen_record_start, with anything you set here over it: style (midnight | clean | bold | plain), aspect (16:9; 9:16 for Shorts, Reels and TikTok; 1:1; 4:3), callouts, title_card, cursor, highlight_color, auto_zoom, captions and the rest. The cut is final when this returns; the take also opens in Arsaze's Screen Studio for the user.

response_detail (summary|compact|full), fields (dotted paths), cursor (next page) — see the server instructions.

Input Schema

NameRequiredDescriptionDefault
frameNo
styleNo
aspectNo
cursorNo
fieldsNo
radiusNo
shadowNo
paddingNo
backdropNo
calloutsNo
captionsNo
auto_zoomNo
skip_idleNo
title_cardNo
click_soundNo
cursor_sizeNo
motion_blurNo
click_rippleNo
zoom_strengthNo
backdrop_colorNo
highlight_liftNo
highlight_zoomNo
highlight_colorNo
response_detailNo
hide_idle_pointerNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed18 schema fields changed
    • addedInput schema / properties / auto_zoom
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Auto Zoom"
      +}
    • addedInput schema / properties / backdrop
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Backdrop"
      +}
    • addedInput schema / properties / backdrop_color
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Backdrop Color"
      +}
    • addedInput schema / properties / captions
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Captions"
      +}
    • addedInput schema / properties / click_ripple
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Click Ripple"
      +}
    • addedInput schema / properties / click_sound
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Click Sound"
      +}
    • addedInput schema / properties / cursor_size
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Cursor Size"
      +}
    • addedInput schema / properties / frame
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Frame"
      +}
    • addedInput schema / properties / hide_idle_pointer
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Hide Idle Pointer"
      +}
    • addedInput schema / properties / highlight_color
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Highlight Color"
      +}
    • addedInput schema / properties / highlight_lift
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Highlight Lift"
      +}
    • addedInput schema / properties / highlight_zoom
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Highlight Zoom"
      +}
    • addedInput schema / properties / motion_blur
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Motion Blur"
      +}
    • addedInput schema / properties / padding
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Padding"
      +}
    • addedInput schema / properties / radius
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Radius"
      +}
    • addedInput schema / properties / shadow
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Shadow"
      +}
    • addedInput schema / properties / skip_idle
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Skip Idle"
      +}
    • addedInput schema / properties / zoom_strength
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "number"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Zoom Strength"
      +}
  2. Changed4 schema fields changed
    • addedInput schema / properties / aspect
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Aspect"
      +}
    • addedInput schema / properties / callouts
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Callouts"
      +}
    • addedInput schema / properties / style
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "string"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Style"
      +}
    • addedInput schema / properties / title_card
      Added value: +{
      +  "anyOf": [
      +    {
      +      "type": "boolean"
      +    },
      +    {
      +      "type": "null"
      +    }
      +  ],
      +  "default": null,
      +  "title": "Title Card"
      +}
  3. Added

TDQS

A4.2/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Beyond the annotations (mutating, non-destructive, idempotent), the description discloses that the edit is rendered and final on return, that output lands on a NEW project on the user's own computer, that video/audio analysis is off, and exactly which identifiers the call yields. That is materially more than readOnlyHint/destructiveHint already provide.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness3/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loaded with the essential 'Stop recording', but the remainder is one sprawling run-on thick with parentheticals. Content like 'plus what the edit did' and the closing dangling 'response_detail ... see the server instructions' fragment add bulk without adding precision.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a high-complexity mutation tool with no output schema, the description does cover the return payload (project_id, job_id, asset_id, clip_id, editor link, steps, script) and the side effects. Its one real gap is the undocumented majority of styling parameters, which is a notable omission for a 25-parameter schema.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 0% across 25 parameters, so the description must carry the load. It names and even enumerates a subset (style: midnight|clean|bold|plain; aspect: 16:9, 9:16, 1:1, 4:3; callouts, title_card, cursor, highlight_color, auto_zoom, captions, response_detail, fields) but leaves roughly two-thirds of the styling parameters (radius, shadow, padding, backdrop, skip_idle, click_sound, cursor_size, motion_blur, click_ripple, zoom_strength, highlight_lift/zoom, hide_idle_pointer, frame) undocumented in both places.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose5/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Stop recording') and immediately names the sibling it complements by describing the recording pipeline begun at screen_record_start. An agent can distinguish this from screen_record_start, screen_status and screen_result without opening any schema.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines4/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Gives clear workflow context: it is the terminating call for a recording session and 'Continue editing that job with the usual timeline tools' routes the agent onward. It also states precedence ('The look is what you set at screen_record_start, with anything you set here over it'). No explicit when-not or named alternative is given, so it stops short of a 5.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.