Skip to main content
Glama

manage_camera

Control the camera in Roblox Studio: retrieve camera info, focus on an instance or position, get suggested views, and capture Edit-mode viewport screenshots.

Instructions

Camera operations: get info, focus on instance/position, suggest view, capture Edit-mode viewport screenshot (Edit mode only; not usable during playtest).

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault
actionYesCamera action. info: get current camera position, rotation, FOV, viewport size. focus_path: move camera to focus on instance by path. focus_position: move camera to focus on world position. suggest: get suggested camera view for a target. [PRO] screenshot: **EDIT MODE ONLY — DO NOT call while a playtest is active.** Captures the current Studio Edit-mode viewport as a PNG image (returns MCP image content). If you are uncertain whether a playtest is running, call system_info.play_status first and only proceed when state == "edit"; otherwise the call returns an error. Requires "Allow Mesh / Image APIs" Studio setting (Game Settings > Security). Resolution capped by plugin setting screenshotMaxDimension (default 1024px on longest side; kept at full resolution by Claude while reducing token cost ~40% vs 1280). Play-mode capture is not supported in v1 because Roblox platform blocks converting CaptureService temporary contentId into EditableImage from any non-edit-DM context.
pathNoInstance path to focus on. Used by: focus_path (if not provided, focuses on selection), suggest (if not provided, uses selection).
positionNoWorld position to focus on as Vector3. Used by: focus_position (required).
distanceNoDistance from target in studs. Used by: focus_path, focus_position. Auto-calculated if not provided.
durationNoAnimation duration in seconds. Used by: focus_path, focus_position. Default: 0.5.
offsetNoCamera offset direction from target (normalized and scaled by distance). Used by: focus_path, focus_position. Default: {x:1, y:0.5, z:1}.
lookAtNoPoint for camera to look at. Used by: focus_position.
respectAutoFocusSettingNoIf true, only focus when plugin Auto Focus setting is enabled. Used by: focus_path, focus_position. Default: false.
Behavior4/5

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

With no annotations, the description carries full burden. It discloses critical constraints (Edit mode only, screenshot not usable during playtest), explains resolution limits and plugin settings, and notes default behaviors for parameters like distance and offset. It does not describe all possible errors but covers major behavioral traits.

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

Conciseness5/5

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

The description is a single paragraph that front-loads the main purpose and then adds necessary details. Every sentence adds value: listing actions, restricting scope, and clarifying screenshot behavior. No redundant or filler content.

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 an 8-parameter tool with no output schema and no annotations, the description covers purpose, parameter usage, constraints, and behavioral notes adequately. It explains the screenshot restriction thoroughly and provides default behaviors. Minor gaps: no description of return values for info/suggest actions, but overall sufficient.

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

Parameters4/5

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

Input schema has 100% coverage with descriptions for each parameter. The description adds value beyond the schema by providing auto-calculation hints, default values (duration 0.5, offset {1,0.5,1}), and usage context (e.g., which action uses which parameter). This goes beyond baseline 3.

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?

The description explicitly states 'Camera operations' and lists five specific actions (info, focus_path, focus_position, suggest, screenshot) with clear verbs. It distinguishes itself from sibling tools by focusing solely on camera management, which is a distinct resource.

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?

The description clearly states when to use the tool (Edit mode only, not during playtest) and provides explicit guidance for the screenshot action, including a precondition check using system_info.play_status. It also mentions required settings for screenshot. However, it does not compare directly to siblings, though siblings cover different domains, so this is minor.

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

Install Server

Other Tools

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/hope1026/roblox-mcp'

If you have feedback or need assistance with the MCP directory API, please join our Discord server