Skip to main content
Glama
EL4CTEO

Roblox Studio MCP

See the Studio viewport

screenshot
Read-onlyIdempotent

Capture the Studio viewport as an image to verify that a build or GUI actually looks correct, not just that its parts exist.

Instructions

Takes a picture of the Studio viewport and returns it as an image you can actually look at.

Every other tool here reads the data model — names, properties, numbers — which answers 'is it there' but never 'does it look right'. A part can be at the correct position, anchored, correctly sized, and still be buried inside a wall, facing backwards, or hidden behind a GUI. Take a screenshot after building something visual, and before reporting that it worked.

It captures the viewport as the user currently sees it, so it shows their camera angle, not a framing of your choosing. Frame the subject with viewport op="focus" first — that is what makes this tool worth calling.

Works during a playtest too — address it at the playtest's studioId and you get the player's own view, which is the only way to check what a GUI actually looks like in front of the game. That one is taken on the client and read back through the editor session, so it is a little slower and needs the editor window still connected; the caption says playtest client when it came from there.

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
pathNoZoom to this instance at full resolution: a GUI element, a part, a model, or a folder of parts. Edit session only; it must be on screen.
rectNoZoom to "x, y, width, height" in viewport pixels. Read them off an earlier screenshot using the scale its caption states.
widthNoLargest width of the image, in pixels; height follows the aspect ratio. Never scales up. To read small text, zoom with `path` or `rect` rather than raising this.
playerNoPlaytest only: whose screen to capture. Required when the test has several players.
studioIdNoTarget Studio; omit for the active one.

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changedv0.8.6
    • addedInput schema / properties / player
      Added value: +{
      +  "description": "Playtest only: whose screen to capture. Required when the test has several players.",
      +  "type": "string"
      +}
  2. Changed3 schema fields changedv0.8.0
    • addedInput schema / properties / path
      Added value: +{
      +  "description": "Zoom to this instance at full resolution: a GUI element, a part, a model, or a folder of parts. Edit session only; it must be on screen.",
      +  "type": "string"
      +}
    • addedInput schema / properties / rect
      Added value: +{
      +  "description": "Zoom to \"x, y, width, height\" in viewport pixels. Read them off an earlier screenshot using the scale its caption states.",
      +  "type": "string"
      +}
    • changedInput schema / properties / width / description
      Previous value: -"Width to scale the image down to, in pixels; height follows the viewport's aspect ratio. Larger is sharper and costs more — raise it only when you need to read small text."New value: +"Largest width of the image, in pixels; height follows the aspect ratio. Never scales up. To read small text, zoom with `path` or `rect` rather than raising this."
  3. First observedv0.1.8

TDQS

A4.1/5.0
Behavior4/5

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

Annotations already declare readOnlyHint=true, idempotentHint=true, and destructiveHint=false, so safety is covered. The description adds valuable behavioral context: it captures the user's current camera angle (not agent-controlled framing), playtest captures are slower, require editor window connection, and are labeled 'playtest client'.

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

Conciseness4/5

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

Well-structured with three focused paragraphs: purpose, usage context, and playtest specifics. Front-loads the core function. Slightly verbose in places but every sentence adds value - no obvious waste.

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?

Covers the essential aspects: what it does, when to use it, the key limitation (user's camera angle), how to frame subjects, and playtest behavior. With no output schema, it explains that it returns an image. Could mention resolution limits tied to width parameter more explicitly, but that's in the 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 coverage is 100%, so parameters are fully documented in the schema. The description mentions `viewport op="focus"` for framing and playtest's studioId usage, but doesn't add significant meaning beyond what the schema already provides for each parameter.

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+resource ('Takes a picture of the Studio viewport'), and explicitly distinguishes itself from all sibling tools by noting 'Every other tool here reads the data model'. The agent immediately understands this is the only visual verification tool.

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?

Clearly states when to use it ('after building something visual, and before reporting that it worked') and mentions playtest usage context. However, it doesn't explicitly name sibling alternatives like `inspect` or `tree` for when the agent needs data rather than visuals, though the distinction is strongly implied.

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